Welcome to the Linux-NTFS Project



Help & Info






Latest stable new NTFS kernel driver: 2.1.24

The new, rewritten NTFS driver is part of the current stable Linux kernel series and the latest release is included with kernels 2.6.14 and later. This rewritten NTFS driver backport to the previous stable Linux kernel series (2.4.x) is available from our download page. Note that the backports are no longer maintained since the driver now relies on too many 2.6 kernel specific features and backporting it to 2.4 would be a huge amount of work and involve rewriting the majority of the driver.

Latest old NTFS kernel driver: 1.1.22

The old NTFS driver is part of the now out-of-date Linux kernel series (2.4.x) and the latest release is included with kernels 2.4.18 and later. This driver is not endorsed and supported by this project.

Before reporting potential bugs in the new NTFS driver, it would be great if you could try a kernel containing the latest new NTFS driver first. Thanks.

NTFS driver in Linux kernel 2.6

This NTFS driver was written by Anton Altaparmakov from scratch, supporting all versions of NTFS. It is included in the mainline kernel since 2.5.11 and also has a backported version for the latest 2.4 stable kernel. What are the advantages of the new driver compared to the old one?

  • Stable: no known problems in the implemented functionality, it's also multi-processor and reentrant safe.
  • Supports all NTFS cluster sizes from 512 bytes up to 64 kB. The old driver is limited to maximum 4 kB cluster size.
  • Full (read-only) support for sparse and compressed files also on Windows XP/2003/2000.
  • Supports mmap() thus Wine users can start applications from an NTFS partition.
  • Still read-only, but with safe file overwrite support on all Windows versions without changes to the file size (uncompressed, unencrypted, nonsparse files only).
  • One can setup a loopback device on an NTFS file. TopologiLinux and others use this feature to run Linux from a Windows NTFS partition with full read-write support.
  • Much better performance.
  • Support for exporting mounted NTFS volumes via NFS.
  • Support for async io (aio).
  • Support for fsync(2), fdatasync(2), and msync(2).
  • Support for readv(2) and writev(2).
  • Support for access time updates (including mtime and ctime).
  • Support for truncate(2) and open(2) with O_TRUNC. But only very limited support for highly fragmented files, i.e. ones which have their data attribute split across multiple extents.

NTFS User Tools: ntfsprogs

Tool Status Description
libntfs Stable Move all the common code into a shared library
mkntfs Stable Create an NTFS volume on a partition
ntfscat Stable Print a file on the standard output
ntfsclone Stable Efficiently clone, image, restore or rescue a volume at the sector level
ntfscluster Stable Given a cluster, or sector, find the file
ntfscp Stable Overwrite a file on an NTFS volume
ntfsfix Stable Try to fix common errors and force Windows to check NTFS at boot time
ntfsinfo Stable Dump a file's attributes, completely
ntfslabel Stable Display or set a volume's label
ntfsls Stable List directory contents
ntfsmount Stable Mount NTFS volume from userspace using FUSE and libntfs
ntfsresize Stable Non-destructively resize an NTFS volume without the need of prior defragmentation
ntfsundelete Stable Find files that have been deleted and recover them
ntfsrm Alpha Delete files from an NTFS volume
ntfstruncate Alpha Truncate an inode attribute to a specified length
ntfswipe Alpha Write zeros over the unused parts of the disk
ntfsdefrag Started Defragment files, directories and the MFT
ntfsck Started Perform consistency checks on a volume
ntfsdiskedit Not started Walk the tree of NTFS ondisk structures (and alter them)

LDM - Original Driver

Slow and inefficient, but it works
Needs to be integrated with md

LDM - New Driver

The rewrite is nearly complete
It's faster, cleaner and more robust
Needs to be integrated with md
New code needs reviewing
Make the driver compatible with the 2.4 kernel

LDM - Tools

Tool Status Description
ldminfo Stable Display the database contents in a simple form
simple Beta Mount a single volume from a single partition
multi-volumes Not started Support NTFS volumes that span several partitions, e.g. Spanned, Stripes, Mirrors and RAID
dbtools Not started Read/write information from/to the database
ldmlib Not started Move all the common code into a shared library