Linux系统下挂载exFAT和NTFS格式硬盘的驱动安装和配置

sixforone 2012-10-06

先说挂载exFAT格式的移动硬盘,最近刚刚做了个双系统,一个盘是Windows7,硬盘的格式是exFAT的,想在Linux系统下面访问Windows7下面的文件,问题出现了:mount不了。
# mount –t exfat /dev/sda2 /mnt/d
mount: unknown filesystem type ‘exfat’
这是由于RedHat 6.0上无法识别exFAT格式的分区。
对于移动硬盘或者U盘,FAT32支持的文件不能大于4G,所以只能格式化成exFAT,
如下记录一下怎样在Linux下挂载exFat格式的各种硬盘.
1.安装
sudo apt-get install subversion scons libfuse-dev gcc
svn co http://exfat.googlecode.com/svn/trunk/ exfat-read-only
cd exfat-read-only
scons
sudo scons install
rm –rf exfat-read-only
2.挂载
sudo mount -t exfat -o iocharset=cp936 /dev/sda2 /mnt/d
3.卸载
sudo umount /mnt/d

下面是挂载NTFS格式的,
其中要使用一个开源软件NTFS-3g,它支持在Linux下面读写NTFS格式的分区。它非常的快速,同时也很安全。它支持Windows 2000、XP、2003和Vista,并且支持所有的符合POSIX标准的磁盘操作。 ntfs-3g的目的是为了持续的发展,各硬件平台和操作系统的用户需要可靠的互通与支持ntfs的驱动,ntfs-3g可以提供可信任的、功能丰富的高 性能解决方案。经过了12年多的发展,ntfs-3g已经逐渐稳定。(官网翻译出来)

#wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2011.4.12.tgz
编译安装 ntfs-3g
# tar zxvf  ntfs-3g_ntfsprogs-2011.4.12.tgz
# cd ntfs-3g_ntfsprogs-2011.4.12
# ./configure
# make
# make install
mount文件
# fdisk -ll
... ....
Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1      2600      204800  83  HPFS/NTFS
/dev/sda2            5223      1459*    75272557+  f  extFAT
/dev/sda3            ****        ****    37544960  83  Linux
/dev/sda4            700*        522*    4194304  82  Linux SWAP
... ....
通过上面的查看,我们知道/dev/sda1是NTFS格式
1. 我们要建一个挂载点的目录,比如是在/mnt/目录下建一个 c 的目录:
# mkdir /mnt/c
2. 把/dev/sda1 挂载到 /mnt/c 中,这样我们如果查看/dev/sda1磁盘内容时,就会在/mnt/c 中找得到
# mount -t ntfs-3g -o nls=utf8,umask=000 /dev/sda1 /mnt/c
开机分区自动挂载
应把一下命令放入/etc/fstab中
/dev/sda1 /mnt/c ntfs-3g umask=000,iocharset=utf8 0 0
/dev/sda2 /mnt/d exfat  umask=000,iocharset=cp936 0 0
# cp -r -f srcDir dstDir    //复制目录文件。
# rm -rf dstDir    //删除目录文件。
取消磁盘挂载:umount命令
# umount /mnt/c
# umount /mnt/d

注:mount -t 文件格式 -o 选项参数 磁盘分区挂载点目录名
比如:mount -t vfat -o iocharset=utf8,umask=000 /dev/sda2 /mnt/d
再如:mount -t ntfs -o nls=utf8,umask=000 /dev/sda1 /mnt/c
-t ntfs 说明文件系统的格式是ntfs的;-o是选项 ,nls=utf8 ,意思是Native Language Support(本地语言支持)是utf8,也就是大家常说的语言编码,也可以换成iocharset=utf8;
RedHat Enterprise 6.0默认的语言编码就是utf8的,这样能显示出中文来;umask=000表示所有的用户组都可读可写,但因NTFS在Linux中写入不安全,所以只能读,不能写入.

相关推荐