在装有双系统的主机上,Linx下挂载windows系统下的磁盘很有必要,可以使用mount命令来实现。
mount命令的格式为:
mount [选项] [-o 挂载选项]
-t
选项用于指定分区上文件系统的类型,最常遇到的文件系统应该是 ext2FS(GNU/Linux文件系统)或 ext3FS(改进了日志性能的
ext2FS),VFAT(适用于所有 DOS/Windows®分区:FAT12, 16 or 32),NTFS(Windows下NTFS格式的分区)以及 ISO9660(CD-ROM
文件系统),如果不指定任何类型,mount将会试着读取分区中的超块来猜测文件系统。
-o
选项用于指定一个或多个挂载选项,这些选项与所需挂载的文件系统相关,以NTFS格式为例,选项有:
iocharset= 设置编码,如果出现乱码的话,可以试试这个选项.
rw/ro 指定是可读写还是只读.如果挂载一些不想误写的东西时可以使用ro选项.
uid=,gid= 指定挂载文件的uid和gid.
umask= 指定挂载后的umaks.
挂载步骤:
1、启动终端,输入 fdisk -l,获取所有的文件分区,判断所需要挂载的分区的设备名称。
2、输入 mount -t vfat -o rw /dev/sad2/ /mnt,没有任何信息提示,则表明挂载成功。
如果是需要挂载NTFS格式的磁盘,就需要在源码中修改模块,找到系统的源码目录(/usr/src/Linux-2.6.xx-xxx),从终端输入
cd /usr/src/Linux-2.6.xx-xxx/,进入源码目录中后,输入make menuconfig,出现图形界面,在File System下的Dos/FAT/NTFS
filesystem选项中,将选项VFAT fs support,NTFS file system support,NTFS write support选中(即将前面的括号中符号改为*
,使用空格键修改)。然后退出,在终端输入make modules和make modules_install来重新编译模块,之后再使用mount命令就可以
挂载了。
mount -t NTFS -o rw /dev/sad2 /mnt
但是也有特殊情况,我现在使用的系统是linux-2.6.32-gentoo-r7,使用上述命令挂载NTFS格式磁盘时,只能从挂载的盘中读出数据
,而不能写入数据,提示permission denied,经过追踪,发现系统使用mount命令时,没有去调用底层的模块,而是在应用层模拟实
现了mount的功能,可能是不同的发行版所定义的不同,这时就需要使用一个新的工具来实现这个功能,那就是ntfs-3g。
从终端输入 emerge -s ntfs3g
查找到这个包的名称,输入emerge sys-fs/ntfs3g,安装这个包
再运行 cd /usr/src/Linux-2.6.xx-xxx/,输入make menuconfig启动图形界面,将File System中的FUSE(File system in
Userspace)support选项选中(即选项之前的<>中的内容改为M),然后退出,在终端输入insmod fs/fuse/fuse.ko插入该模块。然
后使用mount命令
mount -t ntfs-3g /dev/sad2 /mnt
就可以实现NTFS格式磁盘挂载并读写了。
如果想要卸载模块,就是用umount /mnt就可以了。