1. 什么是NTFS-3g;
NTFS-3g是一个开源软件,它支持在Linux下面读写NTFS格式的分区。它非常的快速,同时也很安全。它支持Windows 2000、XP、2003和Vista,并且支持所有的符合POSIX标准的磁盘操作。 ntfs-3g的目的是为了持续的发展,各硬件平台和操作系统的用户需要可靠的互通与支持ntfs的驱动,ntfs-3g可以提供可信任的、功能丰富的高性能解决方案。经过了12年多的发展,ntfs-3g已经逐渐稳定;
2.NTFS-3G的安装;
2.1 准备工作;
首先您需要在您的source.list里添加一个库;
打开一个终端并输入:
xiaop@xiaop-laptop:~$sudo vim /etc/apt/sources.list
在文件的最后,添加:
#ntfs-3g & fuse-2.5 repo:
deb http://flomertens.keo.in/ubuntu/ dapper main
deb-src http://flomertens.keo.in/ubuntu/ dapper main
注:您不一定要添加#ntfs-3g & fuse-2.5 repo,但是通过这种方法,您不会忘记您为什么添加这个库;
同时导入Key:
xiaop@xiaop-laptop:~$ wget http://flomertens.keo.in/ubuntu/givre_key.asc -O- | sudo apt-key add -
xiaop@xiaop-laptop:~$ wget http://givre.cabspace.com/ubuntu/givre_key.asc -O- | sudo apt-key add -
现在更新一下源:
xiaop@xiaop-laptop:~$ sudo aptitude update
2.2 正式安装;
在“终端”下面运行:
xiaop@xiaop-laptop:~$ sudo apt-get install ntfs-3g
或者可以到ntfs-3g的官方网站下载源码包安装:
www.ntfs-3g.org
3.配置ntfs-3g;
当所有的安装正确,我们需要通过ntfs-3g加载来配置NTFS分区;
首先为了知道您NTFS分区的名字,在终端中输入:
xiaop@xiaop-laptop:~$ sudo fdisk -l | grep NTFS
结果如下:
/dev/sda1 * 1 1275 10241406 7 HPFS/NTFS
/dev/sda5 1276 3825 20482843+ 7 HPFS/NTFS
您会在第一个冒号后看到您的NTFS分区的名字;
现在就可以修改/etc/fstab,但是修改前先备份一下这个文件:
xiaop@xiaop-laptop:~$ sudo cp /etc/fstab /etc/fstab.bak
然后修改 /etc/fstab,在终端中输入:
xiaop@xiaop-laptop:~$ sudo gedit /etc/fstab
查找您的NTFS分区的行,只要把它们改成像下面这样:
/dev/<your partition> /media/<mount point> ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0
注:your partition------ntfs所在分区;
mount point------挂载点;
如果没有NTFS分区的行,那么,在您想要加载NTFS分区的地方创建一个文件夹:
xiaop@xiaop-laptop:~$ sudo mkdir /media/<the name you want>
并且在/etc/fstab的最后增加像上面一样的一行:
/dev/<your partition> /media/<mount point> ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0
下面是一个例子:
如果想要挂载/dev/hda3,那么在/etc/apt/sources.list的最后添加
/dev/hda3 /media/windows ntfs-3g ro,locale=zh_CN.utf8,uid=1000 0 0
代码:
xiaop@xiaop-laptop:~$ sudo gedit /etc/apt/sources.list
如果您不知道自己的locale,可以用下面的命令查看所有的locale:
xiaop@xiaop-laptop:~$ locale -a
4.加载FUSE;
因为NTFS-3G需要FUSE库的支持,所以需要先加载FUSE,编辑/etc/modules,以便启动的时候就加载FUSE
代码:
xiaop@xiaop-laptop:~$sudo vim /etc/modules
然后只需在文件最后加入fuse即可:
xiaop@xiaop-laptop:~$sudo cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
fuse
lp
最后重新启动系统后就可以支持NTFS分区的文件读写了;
如果想马上测试一下,可以执行以下步骤:
xiaop@xiaop-laptop:~$sudo modprobe fuse
xiaop@xiaop-laptop:~$sudo umount -a
xiaop@xiaop-laptop:~$sudo mount -a
xiaop@xiaop-laptop:~$sudo cd /media/diskd
xiaop@xiaop-laptop:~$sudo vi test.txt
5. 可能出现的问题;
5.1 ntfs-3g-nautilus-tools;
由于在hal中可能出现的BUG,所有的fuse设备(如ntfs-3g 等)不能被nautilus很好地识别,而且您不能从桌面连接您的驱动器(但是您仍然可以从 /media/<您的加载点>中浏览>)。为了解决这个问题,您必须安装一个可以显示所有ntfs-3g设备的程序;
代码:
xiaop@xiaop-laptop:~$ sudo apt-get install ntfs-3g-nautilus-tools
在终端中开启它
代码:
xiaop@xiaop-laptop:~$ ntfs-3g-monitor &
若想让它在每次启动时开启,必须把它添加到gnome会话中:
通过“系统--首选项--会话”,点击最右边的标签,“启动程序”
为ntfs-3g-monitor添加一个新的项
代码:
ntfs-3g-monitor
关闭会话首选项面版;
5.2 移动设备;
如果您有NTFS USB设备,我不推荐您写入/etc/fstab中,因为通过定义,fstab是静态的,然而有时设备的名字可能改变。如果您想简单地管理您的USB设备,您可以通过nautilus-script来管理;使用后,您的设备会被ntfs驱动加载,但是通过右键-nautilus-script-用 ntfs-3g加载,您可以完成读写数据,要卸载它,同样很简单,右键-右键-nautilus-script-挂载ntfs-3g.
nautilus-script的安装也很简单:
xiaop@xiaop-laptop:~$sudo apt-get install ntfs-3g-nautilus-tools
接着允许他们
xiaop@xiaop-laptop:~$ nautilus-script-manager enable unmount_ntfs-3g
xiaop@xiaop-laptop:~$ nautilus-script-manager enable mount_with_ntfs-3g
5.3 fuse的编译;
2.6.*的内核一般都支持ntfs-3g,而2.4.*可能会需要自己编译fuse;
如果您编译了您自己的内核(不是通过源),fuse 可能不能执行,请检查:
xiaop@xiaop-laptop:~$ modprobe -l fuse
如果没有任何信息返回在,那么您需要自己编译它
安装源代码:
xiaop@xiaop-laptop:~$ sudo apt-get install fuse-source
6.关于本文;
本文主要介绍了linux下访问ntfs分区的工具ntfs-3g的安装及配置使用,以及一些问题的解决办法,希望能够给初学者帮助;