FSUTIL.exe (Win XP/2003 server)

File and Volume specific commands, Hardlink management, Quota management, USN, Sparse file, Object ID and Reparse point management

Create a hardlink

FSUTIL hardlink create <new filename> <existing filename> Eg : fsutil hardlink create c:\foo.txt c:\bar.txt

Create a new file of a specific size

FSUTIL file createnew <filename> Eg : fsutil file createnew C:\testfile.txt 1000

Set the short name for a file

FSUTIL file setshortname <filename> <shortname> Eg : fsutil file setshortname C:\testfile.txt testfile

Set the valid data length for a file

FSUTIL file setvaliddata <filename> <datalength> Eg : fsutil file setvaliddata C:\testfile.txt 4096

Set the zero data for a file

FSUTIL file setzerodata offset=<val> length=<val> <filename> offset : File offset, the start of the range to set to zeroes length : Byte length of the zeroed range Eg : fsutil file setzerodata offset=100 length=150 C:\Temp\sample.txt

List all drives (including mapped and Subst drives)

FSUTIL fsinfo drives

Query drive type for a drive

FSUTIL fsinfo drivetype <volume pathname> Eg : fsutil fsinfo drivetype C: ListLocalDrives.cmd - List all drives on the local computer

Query volume information

FSUTIL fsinfo volumeinfo <volume pathname> Eg : fsutil fsinfo volumeinfo C:\

Query NTFS specific volume information

FSUTIL fsinfo ntfsinfo <volume pathname> Eg : fsutil fsinfo ntfsinfo C:

Query file system statistics

FSUTIL fsinfo statistics <volume pathname> Eg : fsutil fsinfo statistics C:

QUOTA Management

FSUTIL quota {query|disable|track|enforce } C: FSUTIL quota violations FSUTIL quota modify <volume pathname> <threshold> <limit> <user> Eg : fsutil quota modify c: 3000 5000 domain\user

Find a file by user name (if Disk Quotas are enabled)

FSUTIL file findbysid <user> <directory> Eg : fsutil file findbysid scottb C:\users

File system options:

FSUTIL behavior query option FSUTIL behavior set option FSUTIL dirty query <volume pathname> FSUTIL dirty set <volume pathname> Where option is one of: disable8dot3 allowextchar disablelastaccess quotanotify mftzone Eg : FSUTIL behavior query disable8dot3 1 FSUTIL dirty query C:

Query a reparse point

FSUTIL reparsepoint query <filename> Eg : fsutil reparsepoint query C:\Server

Delete a reparse point

FSUTIL reparsepoint delete <filename> Eg : fsutil reparsepoint delete C:\Server

Edit an object identifier

FSUTIL objectid {query | set | delete | create}

Set sparse file properties

FSUTIL sparse queryflag <filename> FSUTIL sparse setflag <filename> FSUTIL sparse queryrange <filename> FSUTIL sparse setrange <filename> Eg : fsutil sparse queryflag "C:\My Test.txt"

Query the allocated ranges for a file

FSUTIL file queryallocranges offset=<val> length=<val> <filename> offset : File Offset, the start of the range to query length : Size, in bytes, of the range Eg : fsutil file queryallocranges offset=1024 length=64 C:\Temp\sample.txt

To run FSUTIL, you must be logged on as an administrator or a member of the Administrators group.

Sparse files provide a method of saving disk space for files that contain meaningful data as well as large sections of data composed of zeros. If an NTFS file is marked as sparse, then disk clusters are allocated only for the data explicitly specified by the application.

e.g. The Indexing Service, stores it's catalogs as sparse files.

With 8.3 filennames disabled you'll notice a performance improvement only with a large number of files (over 300,000) in relatively few folders where a lot of the filenames start with similar names. Not having 8.3 filenames available will prevent the use of old applications such as Word 2.0 and Excel 4.0

FSUTIL behavior query disable8dot3 1

If you have a lot of small files, you may need a larger Master File Table to avoid MFT fragmentation:

FSUTIL behavior set mftzone 2 will reserve 25 % of the volume for the MFT.

1 = 12.5 %(default)

2 = 25%

3 = 37.5%

4 = 50%

This won't affect existing disk partitions, after changing the mftzone size, reboot the machine and create a new partition.

In Vista and Server 2008 the mft zone is allocated in blocks of 200MB:

1 = 200 MB (default)

2 = 400 MB

3 = 600 MB

4 = 800 MB

Increasing the MFT zone does not decrease the disk space available for data files.

The last access time attribute of NTFS can slow performance, if you disable it, the time set will simply be the Creation Time.

FSUTIL behavior set disablelastaccess 1


FSUTIL outputs a NULL character (not a space) after every drive specifier, this may cause difficulty when piping the output of fsutil into other commands (particularly FOR).

Some features in fsutil are reported to not work correctly under FAT or FAT32 volumes e.g. FSUTIL dirty query.

"You can tune a file system, but you can't tune a fish" - Sun man page for tunefs


CACLS - Change file permissions

CHKNTFS - Check the NTFS file system

DevCon - Device Manager Command Line Utility

DIRUSE - Display disk usage

FDISK - Disk Format and partition

SHORTCUT - Create a windows shortcut (.LNK file)

WINMSD - Windows NT Diagnostics

Q174619 - MFT How NTFS reserves space for its Master File Table

Q961095 - MFT Master File Table zone reservation in Vista and Server 2008

Q286164 - Hard Links and System Restore

Q249734 - Backup Software, RSM and file last access date

Equivalent bash command (Linux): quotactl - Set disk quotas