QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2897|回复: 27

NTFS-3G: Full Read-Write Open

[复制链接]
发表于 2006-7-15 17:55:12 | 显示全部楼层 |阅读模式
Hello,

As part of the Linux-NTFS project, I'm happy to announce my contribution
to ntfsmount and libntfs which resulted ntfs-3g, a read-write ntfs driver,
capable for unlimited file creation and deletion.

The driver was successfully tested very exhaustively for a longer period of
time by many ways and methods, creating and destroying millions of files and
directories on newly created images, and on over 40 real, very diverse NTFS
images collected over the last four years.

The README file is copied below which includes more general, performance and
quality information with answers and future plans.

Please make a backup of your NTFS volume by ntfsclone and try to reproducible
break ntfs-3g, if you can. If you are able to do so then please let us know,
preferable providing your NTFS metadata image, if it couln't be reproduced by
other ways.

The driver can be downloaded from
       
        http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070714-BETA.tgz

Please note that I'm leaving for an over 5,000 km long Far North and Arctic
Ocean advanture on Sunday morning (European time) and won't be able to read
and answer emails for almost a month (no, I'm not escaping, I plan to come
back alive ;). Originally I planned to fix all the minor issues listed below
but no more time left for me and I think it's better to release now, in case
I would get lost somewhere on the road ;) Well, actually I hope that most
issues will be resolved when I'm back!

Happy testing, problem reporting and coding,

        Szaka


INTRODUCTION
============

The ntfs-3g driver is an open source, GPL licensed, third generation Linux
NTFS driver for 32-bit, little-endian architectures which was implemented
by the Linux-NTFS project. It provides full read-write access to NTFS,
excluding access to encrypted files, writing compressed files, changing
file ownership, access right.

Technically it's based on and a major improvement to the third generation
Linux NTFS driver, ntfsmount. The improvements includes functionality,
quality and performance enhancements.

The driver currently is in BETA status: before release of this software we
haven't experienced any driver crashes or data loss during our heavy quality
testing, however we are aware of some minor issues which will be resolved
in the near future. We listed all of them in a below section. Please report
any new problem to linux-ntfs-dev@li... if it's not listed
yet in the latest release of this software.


QUICK INSTALLATION
==================
       
Make sure you have the basic Linux development tools and FUSE
(http://fuse.sourceforge.net) is correctly installed on your computer
then type:  

        ./configure
        make
        make install      # or 'sudo make install' if you aren't root.


USAGE
=====

If there was no error during installation then you can mount NTFS volumes
for read-write access (unmount them if they were already mounted by
another NTFS driver.)

        ntfs-3g /dev/hda1 /mnt/windows

If you want to give full access for all users, ignore permission related
driver messages, and make national characters visible then use (drop or
replace the below hu_HU.utf8 with the appropriate setting, and also the
device and mount points, if needed).

        ntfs-3g /dev/hda1 /mnt/windows -o silent,umask=0,locale=hu_HU.utf8  

Please see the ntfs-3g manual page for more options and examples.

You can also make NTFS to be mounted during boot by ensuring that the FUSE
kernel module is automatically loaded and by putting the below line into
/etc/fstab

        /dev/hda1 /mnt/windows ntfs-3g silent,umask=0,locale=hu_HU.utf8 0 0


PERFORMANCE
===========

Our highest priority is reliable functionality, performance comes only
next. However acceptable performance is part of the functionality so we
constantly keep an eye on it and consider any major performance issue to
be a real functionality problem as well.

Below are the averaged file creation, deletion and access performance
numbers got by running 'bonnie++ -s0' using several filesystems (the
benchmark used 16,000 files per directory in each sessions):

Version  1.03    ------Sequential Create------ --------Random Create--------
                  -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
            files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
reiserfs     16k 21459  99 +++++ +++ 17856  96 20172  98 +++++ +++ 16414  96
jfs          16k  7015  13 +++++ +++  5868  10  3068  14 +++++ +++  1075   3
ntfs-3g      16k  3021  99 14291  99  5226  99  3548  99 16149  99  5223  99
xfs          16k  2401  17 +++++ +++  2095  15  2301  20 +++++ +++   347   2
ext3         16k  1862  96 +++++ +++ +++++ +++  1914  96 +++++ +++  9695  98
minix        16k  1450  97 +++++ +++ 18148  94  1694  97 +++++ +++  4847  98
fat32        16k   366  97 +++++ +++  1809  97   428  97 +++++ +++  1361  97
paragon ntfs 16k    58  98  1259  99   245  99    55  99 +++++ +++   832  99
captive ntfs    Always crashes early on file creations and loses files.
                This was also confirmed and fix denied by its developer.

We estimate the ntfs-3g driver performance could be increased by several
times.


KNOWN ISSUES, TROUBLESHOOTING
=============================

Problem:    Error message when mounting:
             fusermount: failed to open /dev/fuse: No such file or directory
Answer:     The FUSE kernel module isn't loaded.
Workaround: Run 'modprobe fuse' as root.
Status:     High priority work.


Problem:    "Directory not empty" message when deleting "empty" directories:
Answer:     If locale isn't set correctly then glibc can't convert
            some filenames, so they aren't visible and the directory
            indeed isn't empty. Occures very rarely.
Workaround: Set your locale properly according to the used characters
Status:     High priority work.


Problem:    "No such file or directory" message when accessing some files:
Answer:     This is a known problem in libntfs inode attribute enumeration
             when the same type of attributes are distributed across
             multiply mft records. Occures only very rarely.
Workaround: If the file is a hard link (usually yes) then first delete
             some other files hard linking to the same file then you'll
             be able to delete the problematic file as well.
Status:     High priority work.


Problem:    "Operation not supported" message when creating a file:
Answer:     This is a controlled refusal of file creation which can happen
             when there are already about 100,000 files on the NTFS and the
             MFT needs to be extended in a way which isn't implemented yet.
Workaround: Delete files then you can create new ones.
Status:     High priority work.


Problem:    "Operation not supported" message when deleting a file:
Answer:     The support for certain very-very rare directory update
             operations weren't fully tested yet, so they are not
             included in the release. This is so rare that you probably
            will never see it ;-)
Workaround: Delete or create other files in the same directory until you
            can remove the file you originally wanted.
Status:     High priority work.


Problem:    Only Windows Administrator can access the files created by
             the driver.
Answer:     File permission and ownership handling isn't implemented yet.
Workaround: As Windows Administrator, set access permissions for other
             users.
Status:     Solution exists but it needs to be revised and tested.


Problem:    Windows chkdsk complains about free space being marked in use.
Answer:     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, it's a chkdsk bug and it fixes itself.
Status:     Low priority work: we will optimize our algorithms too.


Problem:    Windows chkdsk reports the below messages (N is a number).
            Cleaning up N unused index entries from index $SII of file 0x9.
            Cleaning up N unused index entries from index $SDH of file 0x9.
            Cleaning up N unused security descriptors.
Answer:     These messages are part of an optimization process which is
            completely independent of ntfs-3g. Nothing to worry about them.
Workaround: No need.
Status:     Nothing to do.


Problem:    Windows chkdsk may report minor inconsistency.
Answer:     The allocation size of sparse files isn't set always correctly.
Workaround: No need.
Status:     Normal priority work.


Problem:    Why ntfs-3g CPU usage is always 100%?
Answer:     You have some application running which inefficiently "polls"
             for file modification events.
Workaround: Identify the software and try to upgrade it.
Status:     Normal priority work: we also intend to improve significantly
             our CPU usage for such cases.

Problem:    Why doesn't the driver work on 64-bit and bigendian systems?
Answer:     We have no resource for that. Neither hardware, nor workforce.
Status:     Low priority.
发表于 2006-7-15 18:14:02 | 显示全部楼层
不知中文文件名写入win下是否能识别
回复

使用道具 举报

发表于 2006-7-15 19:27:16 | 显示全部楼层
[quote:16ee2dd07a="潇湘馆主"]不知中文文件名写入win下是否能识别[/quote]
没问题! :D
回复

使用道具 举报

发表于 2006-7-15 19:38:30 | 显示全部楼层
建议mgc下一版本加入这个
回复

使用道具 举报

发表于 2006-7-15 19:46:59 | 显示全部楼层
[quote:a62c5b8585="Hauser"][quote:a62c5b8585="潇湘馆主"]不知中文文件名写入win下是否能识别[/quote]
没问题! :D[/quote]
另外locale是不是要强制为某一种?thanks
回复

使用道具 举报

发表于 2006-7-15 20:33:18 | 显示全部楼层
[quote:d277a67f16="潇湘馆主"][quote:d277a67f16="Hauser"][quote:d277a67f16="潇湘馆主"]不知中文文件名写入win下是否能识别[/quote]
没问题! :D[/quote]
另外locale是不是要强制为某一种?thanks[/quote]
应该不是。要看你的linux用的什么locale。比如我用en_US.utf8的,用zh_CN.utf8或zh_TW.utf8来挂载都可以。我试过将我的系统改成zh_CN.gb18030的locale,这时就得用zh_CN.gb18030来挂载才行。

BTW,我的XP是繁体中文的。
回复

使用道具 举报

 楼主| 发表于 2006-7-15 22:03:15 | 显示全部楼层
看来这个东西不错,可惜我还没有LINUX可用。。。
回复

使用道具 举报

发表于 2006-7-16 00:53:43 | 显示全部楼层
看样子可以试试,是否可写。

感谢分享。
回复

使用道具 举报

发表于 2006-7-16 08:45:27 | 显示全部楼层
[quote:ba0521ddce="Hauser"][quote:ba0521ddce="潇湘馆主"][quote:ba0521ddce="Hauser"][quote:ba0521ddce="潇湘馆主"]不知中文文件名写入win下是否能识别[/quote]
没问题! :D[/quote]
另外locale是不是要强制为某一种?thanks[/quote]
应该不是。要看你的linux用的什么locale。比如我用en_US.utf8的,用zh_CN.utf8或zh_TW.utf8来挂载都可以。我试过将我的系统改成zh_CN.gb18030的locale,这时就得用zh_CN.gb18030来挂载才行。

BTW,我的XP是繁体中文的。 [/quote]
哦,谢谢。看来确实比较方便。
回复

使用道具 举报

发表于 2006-7-16 08:46:00 | 显示全部楼层
[quote:6bc6fe886e="jozhu"]看来这个东西不错,可惜我还没有LINUX可用。。。[/quote]
不要告诉我你现在是win/bsd
回复

使用道具 举报

 楼主| 发表于 2006-7-16 16:44:53 | 显示全部楼层
  
妹妹果然是冰雪聪明啊。
回复

使用道具 举报

 楼主| 发表于 2006-7-17 19:05:02 | 显示全部楼层
貌似这个东西还是没法在BSD下用啊
回复

使用道具 举报

发表于 2006-7-17 19:30:04 | 显示全部楼层
但是,win可以读写ntfs,我知道
回复

使用道具 举报

 楼主| 发表于 2006-7-17 20:00:38 | 显示全部楼层
恩,WIN绝对可以读写,可我本子上只有BSD。。。
回复

使用道具 举报

发表于 2006-7-17 21:53:23 | 显示全部楼层
ntfs3g依赖于fuse?fuse是什么? 我应该安装吗。。。系统是gentoo
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-14 19:05 , Processed in 0.074869 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表