mount挂载方法详解

mount挂载方法详解
● syntax : mount -t type [-rv] -o [option] server:pathname /mount_point 

 

1、挂载点必须是一个目录。

2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。 
对 于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样 的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。


挂载时使用mount命令: 
格式:mount [-参数] [设备名称] [挂载点]

● syntax : mount -t type [-rv] -o [option] server:pathname /mount_point 

其中常用的参数有 
-t<文件系统类型> 指定设备的文件系统类型,常见的有: 
minix linux最早使用的文件系统 
ext2 linux目前常用的文件系统 
msdos MS-DOS的fat,就是fat16 
vfat windows98常用的fat32 
nfs 网络文件系统 
iso9660 CD-ROM光盘标准文件系统 
ntfs windows NT 2000的文件系统 
hpfs OS/2文件系统 
auto 自动检测文件系统 
-o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有 
codepage=XXX 代码页 
iocharset=XXX 字符集 
ro 以只读方式挂载 
rw 以读写方式挂载 
nouser 使一般用户无法挂载 
user 可以让一般用户挂载设备

提醒一下,mount命令没有建立挂载点的功能,因此你应该确保执行mount命令时,挂载点已经存在。(不懂?说白了点就是你要把文件系统挂载到哪,首先要先建上个目录。这样OK?)

例子:windows98装在hda1分区,同时计算机上还有软盘和光盘需要挂载。 
# mk /mnt/winc 
# mk /mnt/floppy 
# mk /mnt/cdrom 
# mount -t vfat /dev/hda1 /mnt/winc 
# mount -t msdos /dev/fd0 /mnt/floppy 
# mount -t iso9660 /dev/cdrom /mnt/cdrom 
现在就可以进入/mnt/winc等目录读写这些文件系统了。

要保证最后两行的命令不出错,要确保软驱和光驱里有盘。(要是硬盘的磁盘片也可以经常随时更换的话,我想就不会犯这样的错误了 :-> ) 
如 果你的windows98目录里有中文文件名,使用上面的命令挂载后,显示的是一堆乱码。这就要用到 -o 参数里的codepage iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或 gb2312。


当挂载的文件系统linux不支持时,mount一定报错,如windows2000的ntfs文件系统。可以重新编译linux内核以获得对该文件系统的支持。关于重新编译linux内核,就不在这里说了。

四 、自动挂载 
每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使用mount命令呢? 
其实,每次开机时,linux自动将需要挂载的linux分区挂载上了。那么我们是不是可以设定让linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢? 
这是完全可以的。在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。我的/etc/fstab文件如下:

/dev/hda2 / ext3 defaults 1 1 
/dev/hda1 /boot ext3 defaults 1 2 
none /dev/pts devpts gid=5,mode=620 0 0 
none /proc proc defaults 0 0 
none /dev/shm tmpfs defaults 0 0 
/dev/hda3 swap swap defaults 0 0 
/dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0 
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 
/dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0 
/dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0


在/etc/fstab文件里,第一列是挂载的文件系统的设备名,第二列是挂载点,第三列是挂载的文件系统类型,第四列是挂载的选项,选项间用逗号分隔。第五六列不知道是什么意思,还望高手指点。

在最后两行是我手工添加的windows下的C;D盘,加了codepage=936和iocharset=cp936参数以支持中文文件名。参数defaults实际上包含了一组默认参数:

rw 以可读写模式挂载 
suid 开启用户ID和群组ID设置位 
dev 可解读文件系统上的字符或区块设备 
exec 可执行二进制文件 
auto 自动挂载 
nouser 使一般用户无法挂载 
async 以非同步方式执行文件系统的输入输出操作

大家可以看到在这个列表里,光驱和软驱是不自动挂载的,参数设置为noauto。(如果你非要设成自动挂载,你要确保每次开机时你的光驱和软驱里都要有盘,呵呵。)
附:
MOUNT : 
mount -a 把/etc/fstab 中所列的路径全部挂上 

mount -o ro,soft,bg dancer:/usr/local /usr/local/dancer 

把dancer server 的/usr/local mount 到 client的 
/usr/local/dancer 并且是read only 


-t type : 你所要mount的型别, 如 nfs or 4.2 
-r : 所mount的路径定为read only 
-v : mount过程的每一个动作,都有messages 传回到萤幕上 
hard : 重复要求,直到server回应为止,但如server一直不回应 
the server may be down ! 
soft : 当client的请求得不到回应,retry one time 後 传回 
error message 
bg : 当第一次请求不成功,第二次的mount将放到背景执行 
fg : retries mount 都一直在提示符号下进行 
intr : 当正在进行 NFS 请求时,允许用键盘中断 


mount 成功时的message 

NFS server hostname ok 

 mount fail 

NFS server hostname not responding, still trying 

 . . .hostname server not reponding: RPC: Timed out 



§ UNMOUNT : 

umount mount_point 

umount -a 卸下所有已经mount上的路径 
inux如何加载(优)U盘

第一步,以root用户登陆
先加载USB模块 modprobe usb-storage
用fdisk -l 看看磁盘的设备
假如U盘是sda
第二步,确定在 目录 /mnt 下建立了 文件夹 /usb,如果未建立可键入一下命令:               mkdir /mnt/usb         
第三步, 载入 u 盘,需键入以下命令:             

Linux如何加载(优)U盘

第一步,以root用户登陆
先加载USB模块 modprobe usb-storage
用fdisk -l 看看U盘的设备
假如U盘是sda1

第二步,确定在 目录 /mnt 下建立了 文件夹 /usb,如果未建立可键入一下命令:               md /mnt/usb         
成功后进行下一步。        

第三步, 载入 u 盘,需键入以下命令:             
mount -t vfat /dev/sda /mnt/usb_disk     
成功后,即可使用 u 盘了, 文件就在目录 /mnt/usb 下。       

第四步,卸载u盘            
在使用完u盘后,在拔出前需要先键入卸载U盘命令    
命令如下:               umount /mnt/usb  

二、Linux mount使用指南

在Linux中,如果你要使用储存设备 (Mo、硬盘、光驱等) ,就得先将它挂上 (Mount),而当储 存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。 

在使用mount这个指令时,至少要先知道下列三种信息: 

1. 要Mount对象的文件系统类型? (File system type) 

2. 要Mount对象的设备名称? (/dev/????) 

3. 要将设备Mount到哪个目录去? 

一、获得系统支持的文件系统类型 

就第一点来说,用户可以执行 

cat /proc/filesystems 


来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型,那 你可能需要重新编译内核以使其增加对该种文件类型支持。关于如何编译内核请参照LinuxAid在 线培训栏目中的相关文章。 

常用的文件系统有: 

Win95/98常用的FAT 32文件系统 :vfat 

Win NT用的文件系统 :ntfs 

OS2用的文件系统 :hpfs 

Linux用的文件系统 :ext2 

光盘片用的文件系统 :iso9660 

其中虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。 

二、确定设备的名称 

在Linux中,设备名称通常都在/dev里。这些设备名称的命名都是有规则的,我们可以用"推 理"的方式把设备名称找出来。 

譬如说/dev/hda1这个IDE设备。hd是Hard Disk(硬盘)的意思,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a则是代表第一个设备,通常IDE接口可以接上四个IDE设备(例如四块 硬盘)。所以要识别IDE硬盘的方法分别就 

是:hda、hdb、hdc、hdd。此外,hda1中的"1"代表hda的第一个硬盘分区 

(partition),hda2代表hda的第二个分割区,依此类推。 

此外,你可以直接检查/var/log/messages这个文件,在该文件中可以找到计算机开机后,系 统已辨认出来的设备代号。 

三、查找挂接点 

最后我们要决定将设备挂接到哪里,先查看一下你的计算机是不是有个/mnt的空目录?该目 录就是专门用来当作挂载点(Mount Point)的目录。建议您在/mnt里多建这几个目录:/mnt/ cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。 

举例而言,如要挂载下列五个设备的话,其执行指令可能是 (假设都是Linux的ext2系统,如 果是Win XX的话,请将ext2改成vfat): 

1. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy 

2. MO ===>mount -t ext2 /dev/sda /mnt/mo 

3. cdrom ===>mount -t ext2 /dev/hdc /mnt/cdrom 

4. SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom 

5. SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr 

这是假设,如果你的设备的名称跟这个不同的话请自行修改。 

最后需要注意的是: 

1. 执行mount动作时先打一下pwd看看现在的目录是不是在挂载点,如果现在目录在挂载点 的话,mount (或umount)不会成功 (会显示device busy)。 

2. 想卸载某设备的语法是umount 目录名,例如umount /mnt/cdrom等。

点击打开链接
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值