先说挂载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中写入不安全,所以只能读,不能写入.
############################################################################################################################3
CentOS系列一直没有默认支持使用exfat格式的大容量U盘。
可以通过添加fuse-exfat模块来支持。根据网上资料,整理如下:
1、下载fuse-exfat支持软件:
exfat支持是通过fuse模块的方式支持的,其项目地址是: https://code.google.com/p/exfat/ ,当前版本是:1.0.1。
目前exfat的支持已经是全功能支持,支持读写。
可以下载源代码包,并自行使用scons和gcc编译,也可以在rpmfusion下载源代码RPM,然后通过构建RPM来安装。这里采用构建RPM的方式(这样安装卸载都很方便)。
下载地址:http://download1.rpmfusion.org/free/el/updates/6/SRPMS/repoview/index.html
分别下载:fuse-exfat-1.0.1-1-el6.src.rpm 和 exfat-utils-1.0.1-1.el6.src.rpm
2、编译安装:
编译前,请先检查系统,如果系统中没有scons和gcc,请通过yum安装:
sudo yum install scons gcc
这个软件是fuse模块,编译需要fuse-devel包支持:
sudo yum install fuse-devel
下载后,切换到root用户:
$ sudo su -
然后安装源代码RPM:
# rpm -ivh fuse-exfat-1.0.1-1-el6.src.rpm exfat-utils-1.0.1-1.el6.src.rpm
在root的主目录下,会出现rpmbuild目录:
# cd ~/rpmbuild/SPECS
# rpmbuild -ba fuse-exfat.spec
# rpmbuild -ba exfat-utils.spec
构建完成后,即可在 ~/rpmbuild/RPMS里面找到生成的RPM(根据系统架构,分别在x86_64或i386目录下,其中名字中带有debuginfo的包不必安装):
# cd ~/rpmbuild/RPMS/x86_64
# rpm -ivh fuse-exfat-1.0.1-1.el6.x86_64.rpm exfat-utils-1.0.1-1.el6.x86_64.rpm
这样就安装完成了。
3、挂载:
可以通过以下命令来挂载exfat的U盘了:
# mount.exfat /dev/sd
X
n /mnt
其中sdXn中的X代表你的U盘设备名,n代表分区号,比如:/dev/sdb1这样。
此外,为了方便,你可以将以上安装在/usr/sbin下的命令在/sbin下做个符号链接:
# ln -s /usr/sbin/mount.exfat /sbin/mount.exfat
便于直接使用mount来安装:
# mount -t exfat /dev/sd
X
n /mnt
##########################################################################################################################3
CentOS 挂载NTFS分区的两种方法
第一种是安装内核模块,可到 http://sourceforge.net/projects/linux-ntfs/files/ 下载,需下载与你系统内核想对应的版本,使用uname -a 查看当前内核版本。安装后就可以使用mount -t ntfs /dev/sda1 /mnt 挂载了。这种方法有个缺点,就是挂载的ntfs分区是只读的。
另外一种是安装ntfs-3g,使用ntfs-3g挂载的分区就是可读写的了。可在终端下使用 yum install ntfs-3g 安装。如果找不到软件包,可能需要修改下更新源,编辑 /etc/yum.repos.d/CentOS-Base.repo ,将内容改为:
[base]
name=CentOS-5 – Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever5&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.sjtu.edu.cn/centos/5.3/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos6
#released updates
[update]
name=CentOS-5 – Updates
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=updates
baseurl=http://ftp.sjtu.edu.cn/centos/5.3/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#packages used/produced in the build but not released
[addons]
name=CentOS-5 – Addons
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=addons
baseurl=http://ftp.sjtu.edu.cn/centos/5.3/addons/$basearch/
##############################################################################################################3
2012-09-17 12:07
CentOS 5.2 挂载 exfat 和 ntfs
我是新手,搞什么都要好几天。记录一下,以备后用。
系统:CentOS 5.2
由于需要挂载 exfat 和 ntfs 格式的硬盘,所以开始动手查资料,网上大部分资料都是说安装fuse和ntfs-3g。这两个东西不是很难找。但发现,怎么装,都无法挂载。于是继续搜索,发现,还需要装 scons 、 libfuse-devel 和 subversion 。能yum当然好,但实操发现, scons 和 libfuse-devel 无法yum。继续G搜。在 pbone 找到所有rpm,再次开始安装。这次顺利安装完毕,但就是无法挂载,发现原来是 fuse 的问题(modprobe fuse,提示 FATA: Module fuse not found. ntfs-3g-mount: fuse device is missing, try 'modprobe fuse' as root)。再次G搜,发现可能是因为内核不支持 fuse 的问题。于是安装、更新 kernel 、重启、重新安装 fuse 、 ntfs-3g,终于搞定。
现将步骤总结如下:
1、yum install kernel*
2、yum update kernel*
3、重启,用新的 kernel 进入(我更新后的 kernel 为 2.6.18-308.13.1.el5 )
4、yum install scons libfuse-devel subversion wget gcc make(因为我无法全部通过 yum 安装,所以 scons 和 libfuse-devel 是G搜的
5、svn co http://exfat.googlecode.com/svn/trunk/ exfat-read-only (由于我是代理上网的,所以还设置了 svn 的代理,具体设置文件在 /root/.subversion/server,在 [global] 字段添加 http-proxy-host 和 http-proxy-port)
6、cd exfat-read-only
7、scons
8、scons install
9、如果愿意,可以删掉 exfat-read-only文件夹
10、wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.1/fuse-2.9.1.tar.gz (尝试 yum fuse ,始终未果,所以下载)
11、wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2012.1.15.tgz (尝试 yum ntfs-3g ,始终未果,所以下载)
此处需特别说明,一定要先安装 fuse ,再安装 ntfs-3g
7、tar zxvf fuse-2.9.1.tar.gz
cd fuse-2.9.1
./configure && make && make install
8、tar zxvf ntfs-3g_ntfsprogs-2012.1.15.tgz
cd ntfs-3g_ntfsprogs-2012.1.15
./configure && make && make install
9、modprobe fuse
10、mount -t ntfs-3g
mount -t exfat
成功。
写入启动自动挂载:
11、修改 /etc/fstab 实现自动挂载,添加:
/dev/sd** /mnt/** ntfs-3g defaults 0 0
/dev/sd** /mnt/** exfat defaults 0 0