QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1428|回复: 10

LINUX挂载文件系统全攻略(包含NTFS.U盘以及ISO)

[复制链接]
发表于 2005-5-22 12:52:58 | 显示全部楼层 |阅读模式
前面看到很多朋友都在问LINUX挂载文件系统的问题,也有很多朋友都回复或者发表了相关的帖子,但似乎都不是特别全面.现在搜集并总结一份详细资料如下:

支持ntfs分区
要使linux支持ntfs格式,可以通过编译内核实现,但最简单的方式是通过安装支持ntfs的rpm包实现.
在终端中输入uname -a可以查看内核版本
到http://linux-ntfs.sourceforge.net/rpm/redhat9.html下载相应内核的rpm,我的rh9是kernel-ntfs-2.4.20-8.i686.rpm.在终端中输入 代码:
rpm -ivh kernel-ntfs-2.4.20-8.i686.rpm

挂载windows分区
在linux的分区表示中,硬盘为hd,第一块硬盘为hda,第二块为hdb.一块硬盘最多可以分成四个主分区,dos主分区,dos扩展分区,linux根分区和linux交换分区都属于主分区,4个主分区分别用数字表示,如果是第一块硬盘,就hda1,hda2,hda3和hda4.在扩展分区上还可以分逻辑分区,标号从5往后依次排列.在windows中c盘为dos主分区,是hda1,d盘一般是dos扩展分区上的第一个逻辑分区,是hda5,e为hda6,f为hda7等等.在linux下可以通过mount命令挂栽windows分区到一个文件夹(这个文件夹称作挂载点),然后你可以通过这个文件夹访问windows分区,就象快捷方式.比如挂载c盘
先在/mnt/目录下新建目录winc
在终端输入 代码:
mount -t vfat /dev/hda1 /mnt/winc -o codepage=936 iocharset=936
(其中-t为指定设备文件系统,vfat表示windows的fat16和fat32文件系统格式,-o为指定加载文件系统时的选项,而选项codepage=936 iocharset=936是使linux可以正常显示挂载分区中的中文) 如果希望每次开机就自动加载windows分区,可以修改/etc/下的fstab文件,格式为 代码:
/dev/hda1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936
保存后重启即可.
我的fstab内容如下
代码:
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdb2 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/sda1 /mnt/usb vfat noauto 0 0
/dev/hda1 /mnt/winc ntfs defaults 0 0
/dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda6 /mnt/wine vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda7 /mnt/winf ntfs defaults 0 0

fstab中的内容以空格为分隔符分成六个字段,后面的两个数字分别是第5和第6字段,其中第5地段表示文件系统是否需要作备份/转储,如果是0,则表示不需要备份,1表示一天备份一次,2表示两天备份一次,依此类推~,第6字段用来fsck检验文件系统完成性用的,0表示系统重启时候不作fsck,这里的数字表示是得到检测的优先级别~,数字越小级别越高~
参数defaults实际上包含了一组默认参数:
rw 以可读写模式挂载
suid 开启用户ID和群组ID设置位
dev 可解读文件系统上的字符或区块设备
exec 可执行二进制文件
auto 自动挂载
nouser 使一般用户无法挂载
async 以非同步方式执行文件系统的输入输出操作

另外,用mount -t iso9660 -o loop 名称.iso 挂载点 可以直接用iso文件,而8需要像windows用虚拟光驱.

挂载U盘
在linux下U盘被作为SCSI设备,挂载U盘前首先确认U盘设备名,在终端输入dmesg|more查看,我的是sda1
建立挂载点/mnt/usb
然后用 代码:
mount -t vfat /dev/sda1 /mnt/usb
挂载即可,或者通过在fstab中加入 代码:
/dev/sda1 /mnt/usb vfat defaults 0 0
开机自动挂载,但用defaults参数,如果开机时U盘没有插上,就会报错.
所以在fstab中加入/dev/sda1 /mnt/usb vfat noauto 0 0,然后在桌面上新建一个硬盘设备的链接,在链接属性的设备选项卡选择设备

为/dev/sda1(/mnt/usb)半自动挂载.以后要用U盘时,只要点击这个链接就可以了.

但是我在RH9.0下不能通过iocharset=cp936将NTFS挂载输出支持中文,望高手指点.
发表于 2005-5-22 13:36:50 | 显示全部楼层
好东西,刚好用到
谢了
回复

使用道具 举报

发表于 2005-5-22 13:50:43 | 显示全部楼层
用的是red hat as 4这该怎么办啊
回复

使用道具 举报

发表于 2005-5-22 14:04:05 | 显示全部楼层
我的是FC3,U盘能自动挂载识别,可就是一双击就假死,这该怎么搞啊,谢谢了
回复

使用道具 举报

 楼主| 发表于 2005-5-22 16:33:29 | 显示全部楼层
关于挂载NTFS需要修改内核的问题可以访问http://linux-ntfs.sourceforge.net/,选择页面中的国旗可以选择不同语言的页面,rpm包下载:http://linux-ntfs.sourceforge.net/rpm/
回复

使用道具 举报

发表于 2005-5-22 16:50:17 | 显示全部楼层
用locale查看一下自己的文字编码。
一般fc3和rhel4的编码都是utf8。
这样挂载fat32时,用mount -o iocharset=utf8 /dev/hdax /mnt/xxx
回复

使用道具 举报

发表于 2005-5-22 17:43:49 | 显示全部楼层

Re: LINUX挂载文件系统全攻略(包含NTFS.U盘以及

[quote:30d6676393="七镜求踪"]
但是我在RH9.0下不能通过iocharset=cp936将NTFS挂载输出支持中文,望高手指.[/quote]
将cp936用gb2312代替试试.
回复

使用道具 举报

 楼主| 发表于 2005-5-24 14:28:33 | 显示全部楼层
可以显示中文了,但是有些中文命名的文件夹会出错,进入这些文件夹时提示找不到该目录,请问怎么解决?
回复

使用道具 举报

发表于 2005-5-24 14:50:05 | 显示全部楼层
codepage=936,iocharset=cp936
这两个参数功能重复了,保留iocharset 即可,两个参数的具体含义可以看 man mount 相关部份。
回复

使用道具 举报

发表于 2005-7-9 20:09:40 | 显示全部楼层
[quote:61942ae35e="七镜求踪"]
但是我在RH9.0下不能通过iocharset=cp936将NTFS挂载输出支持中文,望高手指点.[/quote]

把iocharset=cp936改为iocharset=utf8,应该可以。
但是对ntfs分区的挂载最好不好用defaults,linux下对ntfs分区的写操作还是有问题的,建议使用 ro 参数。
回复

使用道具 举报

发表于 2005-7-9 21:32:40 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-19 04:20 , Processed in 0.057123 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表