5
The ntfs-3g driver is an open source, GPL licensed, third generation Linux
6
NTFS driver which was implemented by the Linux-NTFS project. It provides
7
full read-write access to NTFS, excluding access to encrypted files, writing
8
compressed files, changing file ownerships and access rights.
10
Technically it's based on and a major improvement to ntfsmount. The improvements
11
include functionality, reliability, quality and performance enhancements.
13
The driver currently is in BETA status: before release of this software we
14
haven't experienced any driver crashes or data loss during our heavy quality
15
testing, however we are aware of some minor issues which will be resolved
16
in the near future. We listed all of them in a below section. Please report
17
any new problem to linux-ntfs-dev@lists.sourceforge.net if it's not listed
18
yet in the latest release of this software.
5
The ntfs-3g driver is an open source, freely available read/write NTFS
6
driver, which provides safe and fast handling of the Windows XP, Windows
7
Server 2003 and Windows 2000 filesystems. Almost the full POSIX filesystem
8
functionality is supported, the major exceptions are changing the file
9
ownerships and the access rights.
11
The purpose of the project is to develop, continuously quality test and
12
support a trustable, featureful and high performance solution for hardware
13
platforms and operating systems whose users need to reliably interoperate
14
with NTFS. Besides this practical goal, the project also aims to explore
15
the limits of the hybrid, kernel/user space filesystem driver approach,
16
performance, reliability and feature richness per invested effort wise.
18
The driver currently is in BETA status, which means that we weren't
19
reported and haven't found any data corruption or loss during ordinary
20
driver use and in our extensive quality testing before release of the
21
latest version of ntfs-3g, however we are aware of some usability issues
22
and driver restrictions which are all documented and planned to be resolved
25
You can find news, technical answers, problem submission instructions,
26
performance evaluation and other informations on the project web site:
28
http://www.ntfs-3g.org
47
57
Please see the ntfs-3g manual page for more options and examples.
49
59
You can also make NTFS to be mounted during boot by putting the below
60
line at the end of the /etc/fstab file:
52
62
/dev/hda1 /mnt/windows ntfs-3g defaults 0 0
58
Our highest priority is reliable functionality, performance comes only
59
next. However acceptable performance is part of the functionality so we
60
constantly keep an eye on it and consider any major performance issue to
61
be a real functionality problem as well.
63
Below are the averaged file creation, deletion and access performance
64
numbers got by running 'bonnie++ -s0' using several filesystems (the
65
benchmark used 16,000 files per directory in each sessions):
67
Version 1.03 ------Sequential Create------ --------Random Create--------
68
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
69
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
70
reiserfs 16k 21459 99 +++++ +++ 17856 96 20172 98 +++++ +++ 16414 96
71
jfs 16k 7015 13 +++++ +++ 5868 10 3068 14 +++++ +++ 1075 3
72
ntfs-3g 16k 3021 99 14291 99 5226 99 3548 99 16149 99 5223 99
73
xfs 16k 2401 17 +++++ +++ 2095 15 2301 20 +++++ +++ 347 2
74
ext3 16k 1862 96 +++++ +++ +++++ +++ 1914 96 +++++ +++ 9695 98
75
minix 16k 1450 97 +++++ +++ 18148 94 1694 97 +++++ +++ 4847 98
76
fat32 16k 366 97 +++++ +++ 1809 97 428 97 +++++ +++ 1361 97
77
paragon ntfs 16k 58 98 1259 99 245 99 55 99 +++++ +++ 832 99
78
captive ntfs Always crashes early on file creations and loses files.
79
This was also confirmed and fix denied by its developer.
81
We estimate the ntfs-3g driver performance could be increased by several
85
KNOWN ISSUES, TROUBLESHOOTING
86
=============================
88
Recently added or updated items are always on the top.
91
Problem: Deleting files don't free disk space.
92
Answer: In all investigated cases ntfs-3g accounted free space correctly.
93
Below are the reasons why disk space isn't always freed:
94
A) In certain cases, the files aren't deleted in real but
95
moved to a 'Trash' directory. If the 'Trash' directory is
96
emptied then the disk space is reclaimed.
97
B) By design, Linux and Unixes free the disk space of deleted
98
files permanently only if no software is using them anymore.
99
C) NTFS is able to store small files and directories in fixed
100
size (1 kB) MFT records (inodes). When such files are delete
101
then the MFT records are marked free for reuse or undelete,
102
and no space can be freed.
103
Status: Not a driver problem.
106
Problem: File modification times aren't always updated.
107
Status: High priority work.
110
Problem: VMware segfaults during startup.
111
Answer: By default VMware tries to use shared writable mmap for paging
112
files but it can't detect that it's not yet supported.
113
Workaround: Set "mainMem.useNamedFile=FALSE" in the .vmx file. That will
114
disable these paging files and VMware will work fine.
115
Status: Priority, hard work.
118
Problem: Writing large files sometimes can be very slow.
119
Answer: The cluster allocator and the mapping pairs updater algorithms
120
aren't efficient for large files on very fragmented volumes.
121
Workaround: Try to defragment NTFS, it may help.
122
Status: Priority work.
125
Problem: Why doesn't the driver work on 64-bit and big-endian systems?
126
Answer: The code is 64-bit ready and almost fully endian safe, however
127
unfortunately we are unable to validate the functionality and
128
keep ensuring correctness for the future due to lack of target
132
Problem: "File exists" message when deleting "empty" directories:
133
Answer: If 'locale' isn't set correctly then glibc can't convert
134
some filenames, so they aren't visible and the directory
135
indeed isn't empty. Occurs very rarely.
136
Workaround: Set your 'locale' properly according to the used characters.
137
Status: High priority work.
140
Problem: "Operation not supported" message when creating a file:
141
Answer: This is a controlled refusal of file creation which can happen
142
when there are already about 100,000 files on the NTFS and the
143
MFT needs to be extended in a way which isn't implemented yet.
144
Workaround: Delete files then you can create new ones.
145
Status: High priority work.
148
Problem: "Operation not supported" message when deleting a file:
149
Answer: The support for certain very-very rare directory update
150
operations weren't fully tested yet, so they are not
151
included in the release. This is so rare that you probably
152
will never see it ;-)
153
Workaround: Delete or create other files in the same directory until you
154
can remove the file you originally wanted.
155
Status: High priority work.
158
Problem: Windows chkdsk complains about free space being marked in use.
159
Answer: chkdsk sometimes optimizes the NTFS layout and later finds
160
its own bugs (e.g. when index root attributes are moved from
161
extent mft records to the base one). This is not a problem
163
Workaround: No need, it's a chkdsk bug and it fixes itself.
164
Status: Low priority work: ntfs-3g algorithms will be optimized too.
167
Problem: Windows chkdsk reports the below messages (N is a number).
168
Cleaning up N unused index entries from index $SII of file 0x9.
169
Cleaning up N unused index entries from index $SDH of file 0x9.
170
Cleaning up N unused security descriptors.
171
Answer: These messages are part of an optimization process which is
172
completely independent of ntfs-3g. Nothing to worry about them.
174
Status: Not a driver problem.
177
Problem: Windows chkdsk may report minor inconsistency.
178
Answer: The allocation size of sparse files isn't set always correctly.
180
Status: Normal priority work.
183
Problem: Why ntfs-3g CPU usage is always 100%?
184
Answer: You have some application running which inefficiently "polls"
185
for file modification events.
186
Workaround: Identify the software and try to upgrade it.
187
Status: Normal priority work: CPU usage will be minimized significantly