NTFS-3G Support

Updated: November 28, 2008


Questions & Answers

This section documents and answers the known issues with the stable NTFS-3G driver. Please see the driver release history and make sure you have the latest one.

Most Popular

How can I automount NTFS devices?
What does the "I/O error" mean?
Missing, disappeared files or directories?
Why can't I see all filenames with national characters?
Why does the driver have high CPU utilization?

Usage

Can NTFS-3G corrupt the Master Boot Record (MBR) or the partition table?
Why do I get "WARNING: Deficient Linux kernel detected"?
Why can't unprivileged users mount block devices?
Why do I get "fusermount: option blkdev is privileged" error?
Why don't the 'user' and 'users' options work in /etc/fstab?
Why does the driver allow case sensitive filenames?
Why does the driver allow special characters in the filenames?
Why do I get a "File exists" message when deleting an empty directory?
Why do I get an "Operation not supported" message when creating a file?
Why do I get an "Operation not supported" message when deleting a file?
Why can't I read or modify some files?
Why doesn't file deletion free disk space?

Functionality

Can I use NTFS as the root file system?
Can I use swap file safely, deadlock free on NTFS?
Can I boot Linux from NTFS?
Can I export NTFS via NFS?
Can I use NTFS-3G on Linux 2.4 kernels?

Applications

Why does Wine crash?
Why are Firefox saved files empty?
Why does Firefox duplicate file extensions?
Why does VMware crash during startup?
Why is writing slow using 'dd', 'amarok' or 'encfs'?
Can I install both ntfsprogs and NTFS-3G?

Performance

Why is the driver slow?
Why does the driver have high CPU utilization?
Why is writing huge files slowing down?
Why is writing slow using 'dd', 'amarok' or 'encfs'?

Windows CHKDSK

Why does chkdsk complain about free space being marked as "in use"?
Why does chkdsk report "Cleaning up XXX unused ..."?
Why does chkdsk report "Deleting an index entry from index $O of file 25"?
Why does chkdsk report "minor inconsistency"?

Miscellaneous

Did Apple sponsor the NTFS-3G driver development?
When will be the driver ported to the kernel?
What about the NTFS patents?


How can I automount NTFS devices?
The NTFS 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.

Status: Not NTFS-3G problem.

Missing, disappeared files or directories?
or
Why can't I see all filenames with national characters?
or
Why do I get "Skipping unrepresentable filename (inode XXXXX) ..." messages?
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 this means that your Operating System (OS) doesn't have the correct language specific settings (locale, LANG variable, LC_ALL, etc) thus some filenames can't be converted to your language and won't be visible. The reason can be:

The most common explanation is the latter one. This is why unmounting then mounting such volumes after boot often makes all filenames visible.

Solution: The OS vendor should move the language specific configuration to an earlier phase to precede the mounts of the NTFS volumes in time.

Workaround: NTFS-3G supports the 'locale' mount option which can be used to set the correct language value. You can see what locales you have on your system by using the following command:

locale -a
If you can't find the preferred setting then you must generate it, which is very distribution dependent. To do so, a package like glibc-i18ndata (openSUSE, Mandriva, ...) or locales (Debian, Ubuntu, ...) must be installed then enter the below command as root to generate the language_COUNTRY.UTF-8 locale. For example the Brazilian is:
localedef -i pt_BR -f UTF-8 pt_BR.UTF-8
Then you can use the "locale=pt_BR.UTF-8" option during mount.

If some of your softwares are not UTF8 ready then they will not show correctly the UTF8 filenames. Please consult your distribution documentation about how to enable full UTF8 support.

Status: Not NTFS-3G problem. Please ask your OS vendor to fix the boot time configuration problem.

What does the "I/O error" mean?
The Input/Output errors mean unexpected, low-level errors. They are caused by hardware errors (disk, RAM, cable, power supply, motherboard, etc), device driver faults, corrupted file system, software fault or incorrect hardware use. The most typical reasons:

Can NTFS-3G corrupt the Master Boot Record (MBR) or the partition table?
Both the MBR and the partition table 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 softwares, recovery softwares, 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 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 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.
  chown root.ntfsuser $(which ntfs-3g)
  chmod 4750 $(which ntfs-3g)
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'. This is perfectly legal on Windows, though some application may get confused. If you find so then please report it to the developer of the relevant Windows software.

Workaround: If case insensitivity handling and/or restriction of special character usage is desirable then you may export the NTFS volume via Samba which supports this functionality the same way as it does for other POSIX file systems. An alternative 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.

Status: Not NTFS-3G problem.

Why do I get an "Operation not supported" message when creating a file?
The NTFS-3G 1.5012 driver has solved this issue, or you're trying to create a file in a directory which is a Reparse Point and this not fully supported yet.

Why do I get an "Operation not supported" message when deleting a file?
The NTFS-3G 1.5012 driver has solved this issue, or you're trying to delete an NTFS Reparse Point which is not fully supported yet.

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 transparently compressed files are supported but writing of compressed and encrypted files is denied. 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: Uncompress or decrypt the files on Windows.

Status: Sponsoring the development of this driver extension is possible.

Why doesn't file deletion free disk space?
In most cases it does, except for the following scenarios: Status: Not NTFS-3G problem.

Can I use NTFS as the root file system?
Yes, this is possible and some distributions do it. For instance WUBI, the Ubuntu Installer for Windows.

Can I use swap file safely, deadlock free on NTFS?
Yes, this is possible if it's properly setup. Below is the example how to create, initialize and turn on a 2 GB swap file safely, deadlock free:
dd if=/dev/zero of=swapfile bs=1M count=2000
mkswap swapfile
swapon swapfile
You must turn off the swap file with 'swapoff' before you would be able to unmount NTFS.

Please also note that other solutions, for example using swap on a loop device, are not safe and can cause deadlock!

Can I boot Linux from NTFS?
Yes. For example by using LILO, the same way as with any other filesystem: copy the Linux boot files to NTFS, configure /etc/lilo.conf then run lilo.

Can I export NTFS via NFS?
Yes. There are two solutions depending on the Linux kernel version:
  1. Obsolete: Use the FUSE kernel module from the FUSE 2.7.4 software package and please read the FUSE README.NFS file.
  2. Preferred: Use the FUSE kernel module included in the Linux 2.6.27 and later kernels (the current git Linux kernel already includes FUSE NFS support).

Can I use NTFS-3G on Linux 2.4 kernels?
Yes. You need to use NTFS-3G 1.2506 or later and the FUSE kernel module from the FUSE 2.5.3 package. Please see more details in the FUSE README file.

Why does Wine crash?
User mounted partitions, e.g. when using the 'user' or 'users' mount options in the /etc/fstab file, are done with the 'noexec' mount option by default for security reasons. This means that memory mapping (mmap) files for execution will be denied.

Another reason can be the lack of kernel support for shared writable mmap which was added only to Linux kernel 2.6.26.

Solution: Add the 'exec' mount option to the end of the mount options. It's important that the option to be the last one, otherwise other mount option can over judge its effect. However please also note that Wine was not designed to run arbitrary applications directly from a Windows partition. To do so, one must install the Windows application via Wine onto the Windows partition first.

Why are Firefox saved files empty?
or
Why does Firefox duplicate file extensions?
This is a known bug in Firefox which affects FAT32 and NTFS partitions.

Status: Not NTFS-3G problem. The latest Firefox releases should fix this problem.

Why does VMware crash during startup?
VMware tries to use shared writable mmap for paging files but it can't detect that it's not always supported.

Workaround: Set "mainMem.useNamedFile=FALSE" in the .vmx file. It will disable paging files and VMware will work fine, often with much better performance.

Status: The VMware bug has been fixed in all hosted products (Workstation, Fusion, Player, ...) released after Jan 30th 2008. Alternatively use Linux kernel 2.6.26 or later.

Why is writing slow using 'dd', 'amarok' or 'encfs'?
By default they use the possible smallest, 512 or 1024 bytes, write block size which results eight or four times more work to do for FUSE, kernel and NTFS-3G. Since they are not optimized yet, the performance will suffer almost one fold in the worst case. Use at least 4 kB block size (or hardware page size) and the write speed will improve dramatically. Unfortunately bigger than 4 kB block sizes will not help to further improve performance on Linux because the kernel splits up such block to 4 kB chunks.

Encfs is hit by another Linux kernel deficiency. Since it uses a non-page size internal header thus writes are not page aligned and the kernel will split them which further halves encfs write performance.

Amarok performance may depend on the codec. Updating FLAC files are known to be slow because the software uses small write buffers.

Can I install both ntfsprogs and NTFS-3G?
Yes, though be careful with ntfsprogs-2.0.0 because it has some reliability issues (write failure, sparse file corruption, utility hang, etc). You may consider to use the previous version instead until they get fixed.

Why is the driver slow?
or
Why does the driver have high CPU utilization?
Normally NTFS-3G and the other file systems performance are very comparable but there can be indeed many reasons for real or believed inadequate performance in certain scenarios. All software and hardware components must work flawlessly together to get the best possible performance and if just one of them fails in some way then the overall system performance can suffer noticeably.

If NTFS-3G uses close to 100% CPU time then it's usually a driver issue, though not always. If NTFS-3G doesn't use close to 100% CPU time then the problem is typically not directly related to and not caused by the NTFS-3G driver.

The most likely explanations are

Status: Performance improvement is ongoing. An optimized, high-performance version for embedded devices is available separately.

Why is writing huge files slowing down?
Either you don't use at least NTFS-3G version 1.2506 or your disk space is highly fragmented in a close to full cluster allocation zone.

Workaround: Use a software which can compact the disk space (e.g. the free, open source ntfsresize: shrink then enlarge after making a backup). Please note, file level defragmentation, what the built-in Windows defragmenter is only capable, does not help usually.

Solution: Please the status information here.

Why does chkdsk complain about free space being marked as "in use"?
Chkdsk sometimes optimizes the NTFS layout and later finds its own bugs (e.g. when index root attributes are moved from extent mft records to the base one). This is not a problem with NTFS-3G.

Workaround: No need, this is a chkdsk bug. Please report it to Microsoft.

Status: Low priority work: NTFS-3G algorithms will be optimized too.

Why does chkdsk report "Cleaning up XXX unused ..."?
The typical detailed error messages are the following (XXX are numbers):
Cleaning up XXX unused index entries from index $SII of file 0x9.
Cleaning up XXX unused index entries from index $SDH of file 0x9.
Cleaning up XXX unused security descriptors.
These messages are part of an optimization process which is completely independent of NTFS-3G. Nothing to worry about them.

Workaround: No need.

Status: Not NTFS-3G problem.

Why does chkdsk report "Deleting an index entry from index $O of file 25"?
These messages are part of a maintenance process which is independent of NTFS-3G. Nothing to worry about them.

Workaround: No need.

Status: Not NTFS-3G problem.

Why does chkdsk report "minor inconsistency"?
The allocation and data sizes of some resident special files in the index and inode FILE_NAME attributes may be incorrect.

Status: The NTFS-3G 1.2310 driver has fixed this problem.

Did Apple sponsor the NTFS-3G driver development?
No.

When will be the driver ported to the kernel?
When it becomes clear that a huge, complex, feature rich and general purpose file system can not be as reliable and well-performing in hybrid space as purely in the kernel. At the moment there are no such strong indications. In fact, more and more experiences show just the opposite.

What about the NTFS patents?
No NTFS patent is known in any country.


Problem Submissions

The project welcomes all bugs reports and criticisms submitted via the Support Forum. Please follow the below suggestions:


Mailing Lists

The NTFS-3G project has several mailing lists. Follow the links below to subscribe. It is also possible to post to the ntfs-3g-devel list without a valid subscription.

List Name Description
ntfs-3g-news     Read-only mailing list for announcements     Subscribe    Archive
ntfs-3g-devel Developer discussion     Subscribe Archive
ntfs-3g-cvs CVS commits Subscribe Archive











Copyright © 2006-2008 - NTFS-3G Technology Ltd, All Rights Reserved.