[Home]   Trace: » ntfs
 

Navigation:

Documentation:

Other:

Link Collection:

~~CLOUD:30~~

What is NTFS?

NTFS is a file system that was created by Microsoft to accompany Windows NT. It is a modern file system with all the features you may want, and some you don't (Microsoft does seem to have a lot of features that no one likes)

Versions of NTFS

Some people call the NTFS version as NTFS4 (for WinNT4) and NTFS5 (for Win2k and XP). This project use the version that is specified on the disk.

  • NTFS 1.2 comes with WinNT4.
  • NTFS 3.0 comes with Win2k.
  • NTFS 3.1 comes with WinXP, Windows Server 2003 and Windows Vista.

NTFS features

  • Large file/volume sizes (up to 2^64 bytes).
  • Built in compression.
  • Built in encryption.
  • Journalling. (Automatic recovery).
  • Fine grained Access Control and Auditing support.
  • Less slack space than FAT based file systems.
  • Multiple Named Streams (a.k.a forks).
  • Hard-Links.
  • Reparse Points (Soft links, Junction points, Volume Mount Points, DFS, etc.).
  • Quota support.
  • Extended attributes (sort of like xattrs).
  • Multiple file namespaces.
  • Directories are stored in a balanced tree.
  • Sparse files.

NTFS History

In the begining there was a joint project between IBM and Microsoft to create a new file system for OS/2. This file system bared the name HPFS.

Then, some people from Microsoft decided that they don't like IBM very much and departed to create their very own Windows NT.

As a result from that history, HPFS and NTFS are very similar in the design, and some features in NTFS (example: EAs) exist for compatability with OS/2 networked clients.

Implementations of NTFS

Here are the few general-purpose implementations we are aware of:

  • Microsoft:
    • ntfs.sys: The reference NTFS driver.
    • chkdsk: chkdsk has its own implementation of NTFS. Sometimes incompatible with ntfs.sys
  • Linux-NTFS:
    • Linux driver v1: Exists in vanilla kernels 2.2.X and 2.4.X. deprecated.
    • Linux driver v2: Exists in vanilla kernels 2.6.X. Limited write support.
    • libntfs: A library used by user-space progs (e.g. ntfsmount, ntfsresize, …)
  • 3rd party:
    • Paragon NTFS: Commercial NTFS driver for Linux.
    • FreeBSD NTFS driver: only barely enough support for putting the swap on NTFS partitions.
    • ntfsdos: read-only.
  • Pseudo implementations:
    • ntfsdos Professional: relies on ntfs.sys
    • Captive NTFS: relies on ntfs.sys

The future of NTFS

WinFS is often mistakenly considered to be the next file system from Microsoft. In reality, WinFS is a logical layer on top of NTFS, therefore it is unrelated to the Linux-NTFS project.

Transactional NTFS (a.k.a. TxF) is another logical improvement over the base NTFS.

No version of NTFS > 3.1 is known.

 
ntfs.txt · Last modified: 2009/02/09 21:32 (external edit)