The FSUTIL.EXE utility allows you to perform various tasks of viewing and managing the settings of the FAT, NTFS and REFS file systems on Windows operating systems. You can use fsutil to manage files, file system settings, quota and hard links management, check the free space, manage the file system recovery options, etc. When changing file system settings, changes are being made to the registry and will be applied after Windows restarts. In this article, we will take a look at the basic examples of using the FSUTIL utility to manage and restore the file system in Windows.
The Fsutil utility must be run elevated (as an administrator). When started without parameters, the Fsutil tool displays a list of supported commands:
- 8dot3name — 8dot3name management;
- Behavior — Control file system behavior;
- dax — Dax volume management;
- dirty — Manage volume dirty bit;
- file — File specific commands;
- fsInfo — File system information;
- hardlink — Hardlink management;
- objectID — Object ID management;
- quota – Quota management;
- repair — Self-healing management;
- reparsePoint — Reparse point management;
- resource — Transactional Resource Manager management;
- sparse — Sparse file control;
- tiering — Storage tiering property management;
- transaction — Transaction management;
- usn — USN management;
- volume — Volume management;
- wim — Transparent wim hosting management.
For more help on fsutil subcommands and their parameters, use the syntax:
fsutil subcommand [… subcommand] [parameters]
To get information about the file system, use the command:
The following subcommands are available:
- drives — List all drives (drive letters are displayed, including for removable, network attached and created by the SUBST command);
- driveType — Query drive type for a drive;
- ntfsInfo — Query NTFS specific volume information;
- refsInfo — Query REFS specific volume information;
- sectorInfo — Query sector information;
- statistics — Query file system statistics;
- volumeInfo — Query volume information.
For example, display the drive type:
fsutil fsinfo Drivetype C:\
In our case the drive C: is a locally mounted fixed drive.
And file system information on drive C:\:
fsutil fsinfo ntfsinfo c:
NTFS Volume Serial Number : 0x76cc3ff8cc3fb16b
NTFS Version : 3.1
LFS Version : 2.0
Number Sectors : 0x0000000009f047ff
Total Clusters : 0x00000000013e08ff
Free Clusters : 0x00000000002804ca
Total Reserved : 0x000000000000c863
Bytes Per Sector : 512
Bytes Per Physical Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length : 0x0000000013c00000
Mft Start Lcn : 0x00000000000c0000
Mft2 Start Lcn : 0x0000000000000002
Mft Zone Start : 0x000000000126fd40
Mft Zone End : 0x000000000126fd60
Max Device Trim Extent Count : 0
Max Device Trim Byte Count : 0x0
Max Volume Trim Extent Count : 62
Max Volume Trim Byte Count : 0x40000000
Resource Manager Identifier : 0F4C0BED-06BE-11E8-822D-F79E9DC4E8B3
You can get current volume usage statistics:
fsutil fsinfo statistics c:
To display the available free space on volume C: (in bytes), run:
fsutil volume diskfree c:
To control the various settings and features of the NTFS file system, use the fsutil behavior command (you can display all the options of this command by typing it in the command prompt).
To manage file system recovery, use the command:
The following commands are available:
- enumerate — Enumerates the entries of a volume’s corruption log;
- initiate — Initiates NTFS volume self-healing;
- query — Query the self healing state of the NTFS volume;
- set — Set the self healing state of the volume;
- state — Query the corruption state of the volume(s);
- wait — Wait for repair(s) to complete. If NTFS has detected a problem on a volume on which it is performing repairs, this option allows the system to wait until the repair is complete before it runs any pending scripts.
NTFS self-health feature attempts to repair damage on the NTFS file system volume online, without requiring Chkdsk.exe (this feature was introduced in Windows Server 2008).
For example, to display damage records for volume C:
fsutil repair enumerate c:
List the status of all volumes:
fsutil repair state
Display the self-healing status of the C drive:
fsutil repair query c:
Self healing state on c: is: 0x9
Values: 0x1 – Enable general repair.
0x9 – Enable repair and warn about potential data loss.
0x10 – Disable repair and bugcheck once on first corruption.
To enable automatic recovery for a volume, run the command:
fsutil repair set c: 1
Also with the help of fsutil you can control the volume attributer “dirty”. To display the status of dirty attribute on drive C:
fsutil dirty query C:
To set the dirty attribute for volume C:
fsutil dirty set C:
Volume – C: is now marked dirty
At the next reboot, the system will automatically perform a disk check using the chkdsk utility.