Skip to content

NTFS 3G FAQ

Rakesh Pandit edited this page Aug 21, 2021 · 20 revisions

This section documents and answers the most common questions about the NTFS-3G driver. Please see the driver release history and make sure you have the latest one.

Most popular

HOW CAN I HOTPLUG AND AUTOMOUNT NTFS DEVICES? The NTFS hotplug and automount support is highly distribution specific regarding the used technologies and the preferred mount configuration. This is what should happen on a higher level:
  1. Detect storage hardware.
  2. Detect NTFS on the hardware.
  3. Start the NTFS-3G driver with the user and distribution preferred mount options.
  4. Mount the NTFS volume.

The NTFS-3G file system developers are working only on item 4. This is a huge and very complex task itself. The distribution and other developers are working on item 1, 2, and 3, which solutions are vastly different depending on all kind of preferences.

Solution: If you would like to have this feature in your distribution then please ask your distribution vendor or developers to support this feature.

Workarounds: Either of the following could help.

  • Creating a symbolic link, as shown below, is reported to solve automount on many distributions. ln -s /sbin/mount.ntfs-3g /sbin/mount.ntfs
  • If you use KDE and get the "TODO: have to rethink extra options" error message then open 'media:/' in Konqueror, choose 'Storage Media', right click the removable device, select 'Properties', select the 'Mounting' tab then unselect the 'Mount as user' option.
  • There is a great utility, called ntfs-config, which is reported to work fine on at least Ubuntu.

Status: Not NTFS-3G problem

MISSING, DISAPPEARED FILES OR DIRECTORIES? If the top directory is completely empty then it’s very probably that the NTFS volume is not mounted. If only some files are missing then please upgrade to at least NTFS-3G 2009.1.1 which has full, built-in Unicode UTF-8 conversion support.

If you use Mac OS X or FreeBSD and have at least one very long filename with national characters and the filename length translates into more than 255 UTF-8 bytes (higher chance with Korean and Greek languages) then Mac OS X and FreeBSD will not show any files in the directory.

If you are double-booting with Windows 8, you may have enabled its fast restarting feature. This may cause Windows 8 to ignore changes done by another OS on any internal partition. A safe way to avoid loss of data is to disable the fast restarting by issuing as a Windows Administrator the command :

powercfg /h off

If your computer has a SSD plugged in, it might be used by Windows as a cache controlled either by the hardware (“Intel Fast Response Technology”) or by software (“Expresscache”, “ReadyCache”, etc.). This feature is generally not compatible with both Windows and Linux and you may have to disable it.

Usage

WHY ARE SOME FILENAMES GARBLED? **Why are some filenames garbled? or** **What does “Invalid or incomplete multibyte or wide character” mean?**

Please make sure your terminal, terminal emulator or file manager is Unicode capable and set it to UTF-8 handling.

WHY DO NTFS FILE SYSTEM CHECKS FAIL AT BOOT TIME? No open source NTFS checker is known to have been developed, so there is no point in requesting such a check.

Until such a checker is available, do not enable the check at boot time and set the last (sixth) field of NTFS entries in /etc/fstab to zero. Use a proprietary checker, such as chkdsk on Windows, when a check or fix is wanted, typically after an unsafe unmount (power disruption, etc.).

WHY DOES NTFS-3G REPEATEDLY WANT WINDOWS FULLY SHUT DOWN? When Windows 8 (or subsequent versions) is restarted using its fast restarting feature, part of the metadata of all mounted partitions on internal disks are restored to the state they were at the previous closing down. As a consequence, changes made on Linux may be lost. This can happen on any NTFS partition on an internal disk when leaving Windows by selecting "Shut down""or "Hibernate". Leaving Windows by selecting "Restart" is apparently safe.

To avoid any loss of data, be sure the fast restarting of Windows is disabled. This can be achieved by issuing as an administrator the command:

powercfg /h off
CAN NTFS-3G CORRUPT THE MASTER BOOT RECORD (MBR) OR THE PARTITION TABLE? Both the [MBR](http://en.wikipedia.org/wiki/Master_boot_record) and the [partition table](http://en.wikipedia.org/wiki/Master_boot_record) are outside of the NTFS disk area. This means that those disk areas are not visible and not accessible to the driver. Moreover NTFS-3G doesn’t need either information to function. It doesn’t read, write or modify any of them. In fact, the operating system doesn’t even let NTFS-3G to access those disk areas.The MBR and the partition table are typically modified (corrupted) by boot managers, partitioners, security software, recovery software, viruses and other malwares, or some hardware fault.
WHY DO I GET “WARNING: DEFICIENT LINUX KERNEL DETECTED”? The message means that you have an old and unsafe Linux kernel which is prone to data loss.

Solution: Please ask your distribution developers to fix the Linux kernel problem. The Linux kernel must be upgraded either to at least version 2.6.20, or the FUSE kernel driver must be upgraded to a safe version which is also included in the FUSE package for Linux kernel version 2.6.9 and later.

Status: Not NTFS-3G problem.

WHY HAVE CHMOD AND CHOWN NO EFFECT? By default files on NTFS are owned by root with full access to everyone. To get standard per-file protection you should mount with the “permissions” option. Moreover, if you want the permissions to be interoperable with a specific Windows configuration, you have to map the users.
WHY CAN’T UNPRIVILEGED USERS MOUNT BLOCK DEVICES? **Why can’t unprivileged users mount block devices? or**

Why do I get “fusermount: option blkdev is privileged” error?

Unprivileged block device mounts work only if all the below requirements are met:

  1. ntfs-3g is compiled with integrated FUSE support
  2. the ntfs-3g binary is at least version 1.2506
  3. the ntfs-3g binary is set to setuid-root
  4. the user has access right to the volume
  5. the user has access right to the mount point

The root user can make an ntfs-3g binary setuid-root as shown below chown root $(which ntfs-3g) chmod 4755 $(which ntfs-3g) In such case the driver will also be able

to fix common FUSE kernel module loading problems to create the required but sometimes incorrectly removed or missing FUSE device file Please note that using setuid-root can result unforeseen privilege escalation and its usage is discouraged. Only the absolutely trusted users must be granted such access. Below is an example how this can be done for users in the ntfsuser group to be able to mount any NTFS volume if they have also the needed volume access rights. addgroup ntfsuser chown root:ntfsuser $(which ntfs-3g) chmod 4750 $(which ntfs-3g) usermod -aG ntfsuser allowed-user The setuid-root ntfs-3g driver applies the principle of least privilege during its lifetime as a safety measure.

WHY DON’T THE ‘USER’ AND ‘USERS’ OPTIONS WORK IN /ETC/FSTAB? The 'mount' command doesn’t invoke the ntfs-3g binary with the needed privilege after it has checked and approved the user is entitled to mount a given device on a specified mount point, hereby the user can’t open the device he got the approval in /etc/fstab. This is a problem in the ‘mount’ utility.

Solution: Use at least NTFS-3G 1.2506 with setuid-root set and make sure the user has access rights to the volume and mount point.

WHY DOES THE DRIVER ALLOW CASE SENSITIVE FILENAMES? OR WHY DOES THE DRIVER ALLOW SPECIAL CHARACTERS IN THE FILENAMES? NTFS supports several filename namespaces at the same time: DOS, Win32 and POSIX. While the NTFS-3G driver handles all of them, it always creates new files in the POSIX namespace for maximum portability and interoperability reasons. This means that filenames are case sensitive and all characters are allowed except ‘/’ and ‘\0’.

As Windows uses more restrictive naming rules, you can prevent ntfs-3g from creating new files which do not meet Windows file naming rules by using the option windows_names.

When mounting with the lowntfs-3g variant, you can get case insensitive access to files by using the option ignore_case. Doing so, all files will be shown with lower case letters in directory listings. In some situations, a directory busy error may occur, you can fix it on recent kernels by applying a patch to the fuse kernel module.

Alternately, to get case insensitivity handling and/or restriction on special characters, you may export the NTFS volume via Samba which supports this functionality the same way as it does for other POSIX file systems. Another solution for case insensitivity support is using ciopfs which mounts a normal directory on a regular file system in case insensitive fashion.

Status: Not NTFS-3G problem.

WHY DO I GET A “FILE EXISTS” MESSAGE WHEN DELETING AN EMPTY DIRECTORY? If the locale environment is not setup correctly before mount then glibc can’t convert some filenames, so they are not visible and the directory is indeed not empty.

Solution: Please see here. <- Broken link!

Status: Not NTFS-3G problem.

WHY DO I GET AN “OPERATION NOT SUPPORTED” MESSAGE WHEN CREATING A FILE? The latest driver has solved this issue, please upgrade.
WHY DO I GET AN “OPERATION NOT SUPPORTED” MESSAGE WHEN DELETING A FILE? The latest driver has solved this issue, please upgrade.
WHY DO I GET SYMLINKS TO “UNSUPPORTED REPARSE POINT”? NTFS uses a “reparse point” feature to trigger advanced features. The most common ones are junctions and symlinks which ntfs-3g translates to Posix style symlinks. A few other reparse point types can be interpreted by ntfs-3g provided a specific plugin is installed. Currently these are files deduplicated by Windows Server 2012 and compressed system files used by Windows 10, which can both be read since ntfs-3g-2016.2.22AR.1

When ntfs-3g provides no support for some reparse point type, it is displayed as a symlink to “unsupported reparse point”.

WHY CAN’T I READ OR MODIFY SOME FILES? NTFS supports built-in, transparent compression and encryption of files and directories on the file system level. Reading and writing transparently compressed files are fully supported, but reading or writing encrypted files are not supported at the moment. Please note that compressed files, like .zip, .gz, .rar, etc, can be freely modified because they are compressed on the file, not on the file system level.

Workaround: Decrypt the needed files on Windows.

WHY DOESN’T FILE DELETION FREE DISK SPACE? In most cases it does, except for the following scenarios:
  • In some desktop configurations files are not deleted for real but moved into a ‘Trash’ or ‘.Trash-username’ directory in the root of the partition. When these directories are emptied then the disk space is reclaimed.
  • By design, Linux and Unixes free the disk space of the deleted files permanently only if no software keeps them open anymore.
  • NTFS is able to store small files and directories in fixed size (1 kB) MFT records (inodes). When such files are deleted then the MFT records are marked free for reuse or for undelete, and no space can be freed.

Status: Not NTFS-3G problem.

WHY CAN’T I MOVE FILES TO TRASH? Moving a file to trash is only possible if the trash directory is owned by the current user. This implies that ownership of files has been enabled, either by forcing ownership to the current user or by using a generic ownership and permissions mode.
WHY IS THE MODIFICATION TIME SET TO CURRENT TIME WHEN I COPY A FILE ? This generally happens when permission options are partially set and the uid of the current owner is not defined in the mount command. On Linux, only the owner is allowed to set the modification time of a file.

Workaround : either set the uid option, or remove permission related options, or else use the permissions option.

Functionality

Applications

Performance

Windows CHKDSK

Miscellaneous