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


 

余超  yuchao86@gmail.com

先说挂载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中写入不安全,所以只能读,不能写入.

相关内容

    暂无相关文章