mount是Linux下的一个命令,它可以将分区挂接到Linux的一个资料夹下,从而将分区和该目录联繫起来,我们只要访问这个资料夹,就相当于访问该分区了。 目前mount已经不仅仅局限于Linux了。在Windows系统下的套用也越来越广了,多用在虚拟光碟机类软体上,比如Clone CD,Daemon tool,WinMount等。
基本介绍
- 中文名挂载
- 外文名mount
- 简介是Linux下的一个命令
- 用途用在虚拟光碟机类软体上
定义
,mount命令也变成了一种图形化的界面,用户不需要再去记住那些複杂的mount命令,只需选择档案并点击mount按钮就可以完成操作。mount在Windows系统下的含义是挂载档案到一个虚拟盘或一个虚拟资料夹中,通过访问这个虚拟盘或资料夹使用整个档案。
发展
过去,玩游戏需要物理光碟机和物理光碟,要把光碟里的游戏安装档案通过光碟机的读取,再拷入电脑中安装并使用,有些游戏在玩的时候甚至还要实时读取光碟,这样对光碟机的损害非常大。随着虚拟光碟机的出现,各种虚拟镜像格式标準也陆续在网际网路上出现,比如说ISO,BIN,MDS,MDF,NRG,IMG等。
虚拟光碟机和虚拟镜像的出现对物理光碟机和物理光碟起到了一个巨大的冲击作用,物理光碟机已经不是电脑必须的一个设备了,游戏光碟的需求量也大大减少了。用户完全可以从网上下载一个虚拟游戏镜像,再用虚拟光碟机软体读取就可以了,大大节省了成本。同样,很多电影,音乐,软体,资料都纷纷被做成了虚拟镜像档案,在网际网路上传播。
格式
以下格式均可以mount到虚拟盘中使用
1.光碟镜像ISO/IMG/VCD/nrg/mdf及mds/FCD/LCD/bin等
支持软体Alcohol, Clone, Daemon, UtraISO, WinISO, Virtual disk, WinMount
2.音频镜像FLAC/APE/WV/WAVE
支持软体WinMount
3.虚拟机硬碟镜像VHD/VMDK/VDI
支持软体Virtual disk, VMware, Virtual box, WinMount
4.压缩格式RAR/ZIP/MOU
支持软体WinMount
命令
【程式中mount()/umount()函式的系统调用】
功能描述mount挂上档案系统,umount执行相反的操作。用法
#include<sys/mount.h>
int mount(const char source, const char target, const char filesystemtype, unsigned long mountflags, const void data);
int umount(const char target);
int umount2(const char target, int flags);
参数
source将要挂上的档案系统,通常是一个设备名。
target档案系统所要挂载的目标目录。
filesystemtype档案系统的类型,可以是"ext2","msdos","proc","ntfs","iso9660"。。。
mountflags指定档案系统的读写访问标誌,可能值有以下
MS_BIND执行bind挂载,使档案或者子目录树在档案系统内的另一个点上可视。
MS_DIRSYNC同步目录的更新。
MS_MANDLOCK允许在档案上执行强制锁。
MS_MOVE移动子目录树。
MS_NOATIME不要更新档案上的访问时间。
MS_NODEV不允许访问设备档案。
MS_NODIRATIME不允许更新目录上的访问时间。
MS_NOEXEC不允许在挂上的档案系统上执行程式。
MS_NOSUID执行程式时,不遵照set-user-ID和set-group-ID位。
MS_RDONLY指定档案系统为唯读。
MS_REMOUNT重新载入档案系统。这允许你改变现存档案系统的mountflag和数据,而无需使用先卸载,再挂上档案系统的方式。
MS_SYNCHRONOUS同步档案的更新。
MNT_FORCE强制卸载,即使档案系统处于忙状态。
MNT_EXPIRE将挂载点标誌为过时。
data档案系统特有的参数。
返回说明成功执行时,返回0。失败返回-1,errno被设为以下的某个值EACCES权能不足,可能原因是,路径的一部分不可搜寻,或者挂载唯读的档案系统时,没有指定MS_RDONLY标誌。
EAGAIN成功地将不处于忙状态的档案系统标誌为过时。
EBUSY一.源档案系统已被挂上。或者不可以以唯读的方式重新挂载,因为它还拥有以写方式打开的档案。二.目标处于忙状态。
EFAULT记忆体空间访问出错。
EINVAL操作无效,可能是源档案系统超级块无效。
ELOOP路径解析的过程中存在太多的符号连线。
EMFILE无需块设备要求的情况下,无用设备表已满。
ENAMETOOLONG路径名超出可允许的长度。
ENODEV核心不支持某中档案系统。
ENOENT路径名部分内容表示的目录不存在。
ENOMEM核心记忆体不足。
ENOTBLKsource不是块设备。
ENOTDIR路径名的部分内容不是目录。
EPERM调用者权能不足。
ENXIO块主设备号超出所允许的範围。
mount 命令
用途
使档案系统可用。
语法
mount [ -f ] [ -n Node ] [ -o Options ] [ -p ] [ -r ] [ -v VfsName ] [ -t Type | [ Device | Node:Directory ] Directory | all | -a ] [-V [generic_options] special_mount_points ]
描述
mount 命令指示作业系统使档案系统在指定位置(安装点)可用。,可以用 mount 命令构建由目录和安装档案(file mounts) 组成的其他档案树。Mount 命令通过在 Directory 参数指定的目录上使用 Device/Node: Directory 参数来安装表示为设备的档案系统。mount 命令完成以后,指定的目录变为新安装档案系统的根目录。
只有有 root 许可权的用户或系统组成员和对安装点有写许可权的用户能发出档案或目录安装(directory mounts)。档案或目录可以是符号连结。mount 命令使用真实的用户标识,而不是有效的用户标识,来确定用户是否有相应的访问许可权。假定系统组成员对安装点或在 /etc/filesystems 档案中指定的安装有写入许可权,他们能发出设备安装(device mounts)。有 root 用户许可权的用户能发出任意的 mount 命令。
如果用户属于系统组并且有相应的存取许可权则能安装设备。安装设备时, mount 命令使用 Device 参数作为块设备名,Directory 参数作为档案系统所要安装的目录。
如果输入不带标誌的 mount 命令,命令为安装的档案系统显示如下信息
节点(如果安装是远程的)
安装的对象
安装点
虚拟 - 档案 - 系统的类型
安装的时间
任何安装选项
如果只指定 Directory 参数,mount 命令把它当作档案系统、目录或档案通常安装的目录名或档案名称(正如 /etc/filesystems 档案所定义)。 mount 命令查看有关的设备、目录、或档案并安装。这是使用 mount 命令的最方便的方式,因为不需要记住目录或档案中安装了什幺。也可以只指定设备。在此情况下,命令从 /etc/filesystems 档案获得安装点。
/etc/filesystems 档案应该为每个可安装的档案系统、目录或档案包括一节。该节应该至少指定档案系统名和所驻留的设备或目录名。如果节包括安装属性, mount 命令使用有关的值。它为安装属性识别五个值自动、真、假、可移动和唯读。
mount all 命令导致所有带有 mount=true 属性的档案系统安装到它们正常的位置。该命令通常套用在系统初始化期间,相应的安装是指自动安装。
mount 命令也能用来访问作为目录树的 JFS2 档案系统的快照。设备上的快照以唯读方式安装到目录下。 快照只能安装一次。当用快照安装 JFS2 档案系统时,快照是激活的。
可以在“基于 Web 的系统管理器”(wsm)中使用档案系统应用程式来运行该命令。也可以使用“系统管理接口工具”(SMIT)smit mount 快速路径来运行该命令。
注如果 mount 命令遇到日誌档案系统(JFS)或在重新引导之前未卸装增强的日誌档案系统(JFS2),任意的 JFS 或 JFS2 日誌记录试图重新播放。为了移动兼容的 JFS 档案系统到运行早期发行版作业系统的系统中,档案系统必须在移动之前卸装乾净。卸装失败可能导致不兼容的 JFS 日誌设备。如果移动导致未知的日誌设备,档案系统应该返回到运行后续作业系统发行版的系统,并且 fsck 应该在档案系统上运行。
注如果启用了 cdromd CD 和 DVD automount 守护进程,则那些设备会按 /etc/cdromd.conf 档案中指定的那样自动安装。使用 cdumount 或 cdeject 命令卸装自动安装的 CD 或 DVD。 使用 stopsrc -s cdromd 禁用 CD/DVD automount 守护进程。
注对于 CacheFS,必须导出本地高速快取的远程档案系统,以便不将远程主机上的本地系统的 root 标识映射为 nobody(或远程主机用作匿名用户的标识)。例如,如果主机 A 要导出档案系统 /F(而该档案系统将使用 CacheFS 载入到主机 B 上),则主机 A 上的 /etc/exports 则需要一个如下条目
/F -rw,root=B或 /F -ro,root=B,这取决于本地 CacheFS 使用的安装选项。
标誌
-a 使用包含 true 安装属性的节,在 /etc/filesystems 档案中安装所有的档案系统。
所有 与 -a 标誌相同。
-f 在系统初始化时请求强制安装在根档案系统上启用安装。
-n Node 指定保留安装目录的远程节点。
档案系统系统特定选项
-o Options 指定选项。在命令行上输入的选项应该只用逗号隔开。下面的档案系统-特定选项不适用于所有的虚拟档案系统类型
bsy
如果要安装到的目录是进程的当前工作目录,防止安装操作。
cio
为并发阅读器和记录器指定要安装的档案系统。该档案系统中的档案上的 I/O 将如同它们已经使用 open() 系统调用中指定的 O_CIO 打开一样操作。使用此选项将防止除 CIO 之外任何形式的访问。不可能在使用 cio 选项载入的档案系统上使用高速快取的 I/O。这意味着 mmap() 和 shmat() 之类的映射命令在使用 cio 选项载入的档案系统中的任何档案上使用时将失败,且返回 EINVAL。这样做的一个副作用是不可能在 cio 载入的档案系统外运行二进制,因为装入程式可能使用 mmap()。
dio
指定档案系统上的 I/O 的操作如同所有的档案是用 open()系统调用指定的 O_DIRECT 打开。
fmode=octal
为档案和目录指定方式。预设值是 755。
gid=gid
指定在安装时分配给档案的 GID。预设值是 bin。
log=LVName
指定记录下面的档案-系统操作的档案系统记录逻辑卷名的全路径名。
nocase
关闭大小写映射。 这对使用 ISO 9660:1998/HSG 标準的 cdrom 是有用的。
nodev
指定从该安装不能打开设备。如果失败此选项返回一个 ENXIO 值。
nosuid
指定不允许通过该安装执行 setuid 和 setgid 程式。如果失败此选项返回一个 EPERM 值。
rbr
用读之后释放能力安装档案系统。 当在该档案系统中检测到顺序读取,档案使用的真正的记忆体页一旦複製到内部缓冲区将释放。
注:当指定 rbr,D_RB_READ 标誌在 pdtentry 结构的 _devflags 栏位设定。
rbw
用写之后释放能力安装档案系统。当在该档案系统中检测到顺序写,档案使用的真正的记忆体页一旦写到磁碟将释放。
注:当指定 rbw时,设定 D_RB_WRITE 标誌。
rbrw
用读之后释放能力和写之后释放能力安装档案系统。
注:如果指定了 rbrw,则 D_RB_READ 和 D_RB_WRITE 标誌都设定。
ro
指定安装的档案是唯读的。预设值是 rw。
rw
指定安装的档案是可读/写的。rw 是预设值。
snapshot
指定要安装的设备是快照。必须已经安装指定快照的“拍摄的”档案系统,否则会显示错误讯息。
snapto=snapshot
当安装指定的 JFS2 档案系统时,用 快照的值指定启动快照的位置。
特定于档案系统的选项(继续)
-o 选项 指定选项。在命令行上输入的选项应该只用逗号隔开。下面的档案系统-特定选项不适用于所有的虚拟档案系统类型
upcase
把大小写映射从预设的小写变为大写。这对使用 ISO 9660:1998/HSG 标準的 cdrom 是有用的。
uid=uid
指定在安装时分配给档案的 UID,预设值是 bin。
wrkgrp=workgroup
指定 SMB 伺服器所属的工作组。
NFS 特定选项
-o Options 指定选项。在命令行输入的选项应该用逗号隔开,而不是逗号与空格隔开。下面的 NFS 特定的选项不适用于所有的虚拟档案系统类型
acdirmax=n
在目录更新后,只保留高速快取的属性 n 秒。预设值是 60 秒。
acdirmin = n
在目录更新后,保留高速快取的属性至少 n 秒。预设值是 30 秒。
acl
为此 NFS 安装使用访问控制列表 RPC 程式的请求。如果使用 acl 选项,只在 NFS 伺服器提供 ACL RPC 程式时使用它。预设值是 noacl。 该选项只用在 AIX 4.2.1 或以后版本。
acregmax=n
在档案修改后,只保留高速快取的属性 n 秒。预设值是 60 秒。
acregmin=n
在档案修改后,高速快取的属性保留至少 n 秒。预设值是 3 秒。
actimeo=n
为正常的档案和目录设定最小和最大时间是 n 秒。如果此选项设定,将覆盖所有的 acregmin、acregmax、acdirmin、和 acdirmax 选项的设定。
bg
如果第一次尝试是失败的,试图在后台安装。预设值是 fg。
fastattr
忽略当前正在写的档案在档案属性读之前传送到伺服器的要求。该选项使用时要注意,因为它会引起客户机假定没有到达伺服器的档案数据将没有任何问题的写。在写错误的情况下,客户机和伺服器在档案的真正大小方面有不同的选项。同样,一个客户机不会知道其他客户机对档案属性所作的改变,所以该选项不能用在两个客户机向相同的档案写的环境中。
fg
如果第一次尝试是失败的,试图在前台中安装。fg 是预设值。
grpid
使在档案系统上创建的档案或目录继承父目录的组 ID。
hard
请求直到伺服器回响,与soft不同。此选项是预设值。
intr
在硬安装时允许键盘中断。
llock
请求档案本地锁定在 NFS 客户机。如果 llock 选项未用,则 NFS 网路档案锁定请求不能传送到 NFS 伺服器。该选项只用在 AIX 4.2.1 或以后版本。
maxgroups=n
表示使用 AUTH_UNIX 的 NFS RPC 调用最多可以包括 n 个成员组的信息。使用该选项增加超出 RPC 协定标準 16 的成员组数将只不对支持超出 16 个成员组的伺服器起作用。否则,客户机将遇到错误。
低于 16 的值或超过 64 的值将会忽略。预设情况下,协定标準最大值仍为 16。AIX NFS 伺服器将接受并处理以 带有 5200-01 推荐的维护软体包的 AIX 5L V 5.2 开头的最多为 64 的 AUTH_UNIX 凭证。由 NFS 客户机传送的成员组的实际数取决于参加的用户为其成员的组数,并且可能受 NFS 客户机主机名(它可能包括在 AUTH_UNIX 信息中)的长度的限制。
noac
指定 mount 命令执行无属性或目录高速快取。如果未指定该选项,档案和目录属性(包括许可权、大小、和时间戳记)被高速快取以减少执行有线接收 NFSPROC_GETATTR 远程过程调用(RPC)的需求。 NFSPROC_GETATTR RPC 启动客户机提示输入伺服器档案和目录属性。 acregmin、acregmax、acdirmin、和 acdirmax 选项控制高速快取值保留的时间长度。
noacl
为 NFS 安装请求指定不使用访问控制列表 RPC 程式。预设值是 noacl。 该选项只用在 AIX 4.2.1 或以后版本。
nointr
指定在硬安装时不允许键盘中断。该选项只用在 AIX 4.2.1 或以后版本。
port=n
设定伺服器网际协定(IP)连线埠号为 n。预设值是 2049。
posix
请求路径配置信息在 NFS V2 安装版本可交换和使用。在 NFS 伺服器上,请求安装 V2 rpc.mountd。
该选项只用在 AIX 4.2.1 或以后版本。
proto=[udp|tcp]
指定传输协定。AIX 4.2.1 NFS 安装使用的预设传输协定如果在伺服器上有则是 udp。对于 AIX 4.3 或以后版本预设值是 tcp。 使用 proto=[udp|tcp] 选项覆盖预设值。此选项只用在 AIX 4.2.1 或以后版本。
retrans=n
设定 NFS 传输号为 n。预设值是 5。
retry=n
设定安装重试的次数为 n;预设值是 1000。 当重试值是 0, 系统作 10,000 次尝试。
rsize=n
设定读缓冲区为 n 个位元组。预设值是 8192。 只有 AIX 4.2.1 在使用 V3 NFS 协定时,预设值是 32768。
安全
指定 mount 命令为 NFS 事务使用数据加密标準(DES)。
shortdev
指定从不支持 32-位设备特殊档案的主机安装档案系统。该选项不能用在 AIX 4.2.1 或以后版本。
soft
如果伺服器不回响,返回错误。预设值是 hard。
timeo=n
设定网路档案系统(NFS)逾时周期是一秒的十分之 n。对于 TCP 安装,预设逾时值是 100, 相当于 10 秒。对于 UDP 安装,预设逾时值是 11, 相当于 1.1 秒,但根据发生的 NFS 操作有所不同。对于 UDP 安装,每次失败传送,逾时都会增加,最大值是 20 秒。每次传输尝试两次,之后逾时值更新。
vers = [2|3]
指定 NFS 版本。预设值是在客户机和伺服器之间使用的 NFS 协定的版本,是在两个系统上可获得的最大值。如果 NFS 伺服器不支持 NFS V3, NFS 安装将使用 NFS V2。使用 vers = [2|3] 选项选择 NFS 版本。此选项只用在 AIX 4.2.1 或以后版本。
wsize=n
设定写缓冲区大小为 n 位元组。预设值是 8192。 只有 AIX 4.2.1 在使用 V3 NFS 协定时,预设值是 32768。
-p 安装档案系统作为可移动档案系统。如果上面有打开的档案,可移动的安装档案系统的操作与正常安装的档案系统的操作相同。,当没有档案打开的时候(并且在档案系统上没有进程有当前目录),所有的在档案系统的档案系统磁碟缓冲区写到介质,作业系统丢失档案系统的结构。
-r 安装档案系统作为唯读档案系统,忽略在 /etc/filesystems 档案中以前的规格。
-t Type 安装所有包含 type = Type属性并且未安装的 /etc/filesystems 档案中的节。Type 参数指定组名。
-v VfsName 指定档案系统由 /etc/vfs 档案中的 VfsName 参数定义。
CacheFS 特定选项
特定于 CacheFS 版本的 mount 命令安装高速快取档案系统;如果需要,它 NFS-安装后端档案系统。也提供了许多控制高速快取进程的 CacheFS — 特定选项。
要安装 CacheFS 档案系统,请使用带有 -V 标誌并且后跟变数的 mount 命令。可使用以下 mount 标誌。
下列 -o 标誌的参数是 CacheFS 安装特有的。在命令行输入的选项应该用逗号隔开,而不是逗号与空格隔开。
注backfstype 参数必须指定。
-o 指定选项。
acdirmax=n
指定目录更新后高速快取的属性保留时间不超过 n 秒。n 秒之前,CacheFS 查看备份档案系统上的目录修改时间是否已更改。如果已经更改,所有有关目录的信息从高速快取清除并且从档案系统检索新的数据。预设值为 60 秒。
acdirmin=n
指定在目录更新后,高速快取的属性至少保留 n 秒。 n 秒之后, CacheFS 检查在备份档案系统的目录修改时间是否更改。如果已经更改,所有有关目录的信息从高速快取清除并且从档案系统检索新的数据。预设值是 30 秒。
acregmax=n
指定在档案修改后,高速快取的属性只保留 n 秒。 n 秒之后,所有的档案信息从高速快取清除。预设值是 30 秒。
acregmin=n
指定在档案修改后,高速快取的属性保留至少 n 秒。 n 秒之后, CacheFS 检查在后端档案系统的档案修改时间是否更改。如果已经更改,所有有关档案的信息从高速快取清除并且从档案系统检索新的数据。预设值是 30 秒。
actimeo=n
设定 acregmin、acregmax、acdirmin、和 acdirmax 为 n。
backfstype=file_system_type
上一个档案系统的档案类型(例如,nfs)。
backpath=path
指定后端档案系统已经安装的位置。如果此参数未提供,CacheFS 确定后端档案系统的安装点。
cachedir=directory
高速快取目录名。
cacheid=ID
ID 是指定高速快取的特殊实例的字元串。如果不指定高速快取 ID, CacheFS 将创建一个。
demandconst
启用最大的高速快取一致性校验。预设情况下,周期性的一致性校验启用。当启用 demandconst, 检查每一个读和写。
注如果此选项是在载入特定 CacheFS 之后使用,还必须为后续载入对其进行指定。高速快取控制档案中存储有状态信息,用于强制对该选项进行一致的使用。
local_access
导致前端档案系统解释方式位,这些方式位用来访问校验或使前端档案系统验证访问许可权。此参数不能和安全 NFS 一起使用。
noconst
禁用高速快取一致性校验。预设情况下,周期性的一致性校验启用。只有在知道上一个档案系统不修改时,指定 noconst。尝试使用 cfsadmin-s 进行高速快取一致性校验将发生错误。demandconst 和 noconst 互相排斥。
注如果此选项是在载入特定 CacheFS 之后使用,还必须为后续载入对其进行指定。高速快取控制档案中存储有状态信息,用于强制对该选项进行一致的使用。
purge
为指定的档案系统清除所有的高速快取信息。
注如果此选项是在载入特定 CacheFS 之后使用,还必须为后续载入对其进行指定。高速快取控制档案中存储有状态信息,用于强制对该选项进行一致的使用。
rw | ro
读-写(预设值)或唯读。
suid | nosuid
允许(预设值)或不允许 set-uid 执行
write-around | non-shared
CacheFS 的写方式。write-around 方式(预设值)处理写的方式与 NFS 相同;也就是,写到后端档案系统,并且从高速快取清除影响的档案。当确信没有其他人要写到高速快取档案系统时,可以使用非共享方式。
注如果此选项是在载入特定 CacheFS 之后使用,还必须为后续载入对其进行指定。高速快取控制档案中存储有状态信息,用于强制对该选项进行一致的使用。
-V 安装 CacheFS 档案系统。
示例
1. 要列出安装的档案系统,请输入
mount
此命令产生的结果与下面相似
node mounted mounted vfs date options over
---- ------- --------- --- ------------ ------- ---------
/dev/hd0 / jfs Dec 17 08:04 rw, log =/dev/hd8
/dev/hd3 /tmp jfs Dec 17 08:04 rw, log =/dev/hd8
/dev/hd1 /home jfs Dec 17 08:06 rw, log =/dev/hd8
/dev/hd2 /usr jfs Dec 17 08:06 rw, log =/dev/hd8
sue /home/local/src /usr/code nfs Dec 17 08:06 ro, log =/dev/hd8
对每个档案系统,mount 命令列出节点名、设备名、安装在什幺下、虚拟-档案-系统类型、安装的日期和时间、和选项。
2. 要安装所有预设档案系统,请输入
mount all
此命令序列在带有 mount=true 属性标记的 /etc/filesystems 档案安装所有的标準档案系统。
3. 要安装远程目录,请输入
mount -n nodeA /home/tom.remote /home/tom.local
此命令序列安装 nodeA 上的 /home/tom.remote 目录到本地 /home/tom.local 目录。假定预设值是 VfsName parameter=remote, 它必须在 /etc/vfs 档案中定义。
4. 要从具有特定类型的 /etc/filesystems 档案安装档案或目录,请输入
mount -t remote
此命令序列在有包含type=remote 属性的节的/etc/filesystems 档案安装所有的档案或目录。
5. 要 CacheFS 安装已经在 /usr/abc 安装 NFS 的档案系统,请输入
mount -V cachefs -o backfstype=nfs,backpath=/usr/abc,
cachedir=/cache1 server1:/user2 /xyz
安装命令执行后,与下面相似的行出现在 /etc/mnttab 档案
server1:/user2 /usr/abc nfs
/usr/abc /cache1/xyz cachefs backfstype=nfs
6. 要安装抽点转储,输入
mount -o snapshot /dev/snapsb /home/janet/snapsb
此命令安装包含/dev/snapsb 设备的抽点转储到 /home/janet/snapsb 目录。
7. 要安装抽点转储并创建抽点转储,输入
mount -o snapto=/dev/snapsb /dev/sb /home/janet/sb
该命令将包含在 /dev/sb 设备上的档案系统安装到 /home/janet/sb 目录,并为 /dev/snapsb 设备上的档案系统创建快照。
8. 作为本地档案系统访问 SMB 伺服器上的档案,输入
mount -v cifs -n pezman/user1/pass1 -o uid=201,fmode=750 /home /mnt
档案
/etc/filesystems 列出已知档案系统并且定义它们的特徵。
/etc/vfs 包含虚拟-档案-系统类型的描述。