NTFS

From ArchWiki

From Wikipedia:

NTFS (New Technology File System) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family.

Since Linux 5.15, ntfs3 provides read and write support for the file system. All officially supported kernels with versions 5.15 or newer are built with CONFIG_NTFS3_FS=m and thus support it.

For kernels < 5.15, NTFS read and write support is provided by the NTFS-3G FUSE file system. Or you can use backported NTFS3 via ntfs3-dkmsAUR.

Note: Paragon has not yet released userspace utilities for NTFS3.

Tips and tricks

Improving performance

You can enable some mount(8) options to improve the performance:

  • noatime – can speed up the file system operations.
  • prealloc – decreases fragmentation in case of parallel write operations (most useful for HDD).

Known issues

Explicit file system type required to mount

ntfs3 requires explicit file system type to mount.

To be able to mount the file system, specify its type as ntfs3. For example, using mount(8)'s -t/--types option:

# mount -t ntfs3 /dev/sdxY /mnt

Troubleshooting

unknown filesystem type 'ntfs'

When mounting NTFS, you can encounter an error such as:

mount: /mnt: unknown filesystem type 'ntfs'

See #Explicit file system type required to mount.

If you want to use ntfs3 as the default driver for ntfs partitions, such udev rule does the trick:

/etc/udev/rules.d/ntfs3_by_default.rules
SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3"

Although, this method is not recommended and can confuse some 3rd party tools.

udisks support

udisks supports NTFS3, but has some issues at the moment. See udisks ntfs3 PR and issue 932.

As a workaround, add a such option to /etc/udisks2/mount_options.conf in [defaults] section:

ntfs_defaults=uid=$UID,gid=$GID,noatime,prealloc

ntfs3: Unknown parameter 'windows_names'

See #udisks support.

See also