Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1936229
  • 博文数量: 312
  • 博客积分: 10170
  • 博客等级: 上将
  • 技术积分: 3667
  • 用 户 组: 普通用户
  • 注册时间: 2005-10-26 15:27
个人简介

可干百业,无一精通。

文章分类

全部博文(312)

分类: LINUX

2007-10-03 21:10:15

作者:小P
来自:LinuxSir.Org
摘要:在Linux下工作的朋友们经常会遇到访问windows分区的情况,而现在windows最常用的分区类型是NTFS,要想在Linux下访问NTFS分区并支持读写,ntfs-3g是一个不错的选择。。。。。。


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 dapper main
deb-src dapper main

注:您不一定要添加#ntfs-3g & fuse-2.5 repo,但是通过这种方法,您不会忘记您为什么添加这个库;

同时导入Key:

xiaop@xiaop-laptop:~$ wget givre_key.asc -O- | sudo apt-key add -
xiaop@xiaop-laptop:~$ wget -O- | sudo apt-key add -

现在更新一下源:
xiaop@xiaop-laptop:~$ sudo aptitude update


2.2 正式安装;

在“终端”下面运行:

xiaop@xiaop-laptop:~$ sudo apt-get install ntfs-3g

或者可以到ntfs-3g的官方网站下载源码包安装:


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/ /media/ ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0

注:your partition------ntfs所在分区;
mount point------挂载点;

如果没有NTFS分区的行,那么,在您想要加载NTFS分区的地方创建一个文件夹:

xiaop@xiaop-laptop:~$ sudo mkdir /media/

并且在/etc/fstab的最后增加像上面一样的一行:
/dev/ /media/ 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的安装及配置使用,以及一些问题的解决办法,希望能够给初学者帮助;


7. 更新日志;

07.8.16 更新 5.3 fuse的编译;


8. 参考文档;

man ntfs-3g ,


9. 相关文档;

阅读(7611) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~