Windows 7 / Getting Started

New NTFS Features in Windows Server 2008

Windows Server 2008 introduced significant changes to NTFS, namely transaction NTFS, self-healing NTFS, and enhanced symbolic linking.

Transaction NTFS

A major part of any multiaction operation is that if one part fails, all the actions must roll back. These actions are grouped into a transaction. A transaction often has to pass the atomic, consistent, isolated, and durable (ACID) test. This means the transaction should completely apply at one time and not affect other elements outside the transaction.

Windows Server 2008 introduces support for transactions via the NTFS file system. Changes to NTFS can now be made part of a larger transaction, which could include other changes to the system, SQL updates, and anything else that supports transactions. This feature is intended for developers who write code that requires transactions. Transactions can be monitored and managed using the fsutil transaction command. This supports viewing current transactions and committing and rolling back a transaction.

Self-Healing NTFS

Even with the latest version of NTFS, errors in the file system can occur. Many factors can cause errors, including physical drive corruption. When this corruption occurs, traditionally you use the chkdsk utility to locate errors and report, or try to recover data from bad sectors, and repair the disk.

The new self-healing NTFS reduces the need to run chkdsk by automatically attempting to recover and repair problems on the disk without requiring manual intervention. If the automatic process discovers a problem beyond the scope of self-healing, it alerts the console user to perform remedial steps. The self-healing is enabled by default and automatically detects and recovers/repairs/removes corruptions on the NTFS volume, boot sector, or contained files. A NTFS source event is logged in the system event log (130 and 55 event IDs) when any repairs are performed.

Symbolic Linkin

A symbolic link is a file system object that points to another file system object (the destination object). Symbolic links appear as regular folders and files to users and are a standard part of the operating system. This allows a single interface point on the file system to access data in multiple locations on local and remote computers without the user needing to know. Windows 2000 and XP had the capability to create junction points to folders and volumes on the local computer. These were hard to manage natively and have been replaced with the new symbolic linking feature. Windows Vista and Windows Server 2008 provide the mklink utility, which creates both file and directory symbolic links. The command has three optional parameters:

  • /D: Creates a directory symbolic link instead of the default file symbolic link
  • /H. Creates a hard link instead of a symbolic link
  • /J. Creates a directory junction

Let's say you have calc.exe in the windows\system32 folder. However, you want to run it as addup.exe. To do this, use the following command:

C:\Windows\System32>mklink addup.exe calc.exe
symbolic link created for addup.exe <<===>> calc.exe

C:\Windows\System32>dir addup.exe
 Volume in drive C has no label.
 Volume Serial Number is E0BA-564B

Directory of C:\Windows\System32

05/17/2007 	11:08 AM    <SYMLINK>    addup.exe [calc.exe]
		1 File(s) 		       0 bytes
		0 Dir(s)    235,354,234,880 bytes free

The directory entry shows that it's a symbolic link with the real filename in square brackets.

If you use /H instead and create a hard link, this makes the entry appear as if it's the file instead of a shortcut. This is what you get by default. For example, in the following output, you see a standard symbolic link and then a hard link:

D:\temp>mklink /H addup2.exe calc.exe
Hardlink created for addup2.exe <<===>> calc.exe

D:\temp>dir
05/17/2007    11:10 AM     <SYMLINK>   addup.exe [calc.exe]
11/02/2006    10:00 AM 	   188,416 addup2.exe
11/02/2006    10:00 AM 	   188,416 calc.exe

To delete the links, use the del command from the command line or via Explorer. Deleting a link does not delete the file to which it links.

For folders, you have the same symbolic link and hard link (known as a junction point) options. These are created with the /D and /J switches, respectively. With either type of link you can navigate to the folders. Any added or deleted content updates the target folder because this is a link to the data.

D:\temp>mklink /d testlnk test1
symbolic link created for testlnk <<===>> test1

D:\temp>mklink /j testlnkhd test1
Junction created for testlnkhd <<===>> test1

D:\temp>dir
05/17/2007 11:20 AM <DIR> test1
05/17/2007 11:21 AM <SYMLINKD> testlnk [test1]
05/17/2007 11:21 AM <JUNCTION> testlnkhd
[D:\temp\test1]

File System Review

Table-1 shows a summary of the various file system attributes and limitations, concentrating on the main file systems available for your data storage needs.

Table-1 System Attributes/Limitations of File Systems
File System FeatureFAT16FAT32NTFS
Maximum File Size2GB4GB16TB (theoretical is 16EB) 256TB (theoretical is much higher)
Maximum Volume Size2GB8TB; format support is limited to 32GB during setup in Windows 2000 and above
Maximum Number of Files65,517268,435,437
Maximum Filename Size8.3 or 255 with LFN255
[Previous] [Contents] [Next]