umount强制卸载busy(umount卸载u盘命令)
device is busy时怎么办?
linux下的磁盘分区通过挂载(mount)的方式连到一个目录下,打开此目录就可以看到磁盘分区中的内容了。与挂载相反的操作是umount,他将磁盘分区与目录的关联关系解除。但有时候umount时会报错误,例如Code:# umount /usr/local/umount: /usr/local: device is busy这说明还有某个程序正在是用此目录,为了保证程序的运行,默认情况下umount不能卸载。但是umount又没有说究竟哪个程序在使用,觉得这也算是设计的一个缺陷。幸好有个程序叫fuser,man fuser的介绍是:Code:fuser - identify processes using files or sockets/: 8892r 8916r 8932r 8959r 8992rc 8996rc 8997rc 8999rc 9006rc9007rc 9010rc 9013r 9015rc 9025r 9029r 9033rc 9035r 9039rc 9058rc 9107rc9109rc 9126rc 9130r 9366r 9375r 9439r接下来需要做的就是将相关进程停掉,再umount即可。
linux系统 如果重新挂载根目录是说忙,怎么强制重新挂载啊
这个不行啊。如果系统提示“忙”说明你可能在这个目录下已经挂载上别的了。你可以先用mount命令查看该目录是否已经挂载别的了,如果是你可以用umount 设备或挂载点卸载后重新挂载。(还是不行,需重启)
再说了,很少有人往根目录里挂载。你可以往/tmp里或者自己在根目录里新建一个目录在挂载。就可以了
linux 系统下的mount和umount命令
mount命令详解
mount命令可以用来加载指定的文件系统,比如在FreeBSD或Linux下读取NTFS或FAT32的硬盘
功能:加载指定的文件系统。
语法:
mount [-afFhnrvVw] [-L标签] [-o选项] [-t文件系统类型] [设备名] [加载点]
用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件 /etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记 录将被清除。
mount命令常用参数和选项:
-a 加载文件/etc/fstab中设置的所有设备。
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
-h 显示在线帮助信息。
-L标签 加载文件系统标签为标签的设备。
-n 不将加载信息记录在/etc/mtab文件中。
-o选项 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括:
async 以非同步的方式执行文件系统的输入输出动作。
atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。
auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。
dev 可读文件系统上的字符或块设备,取消选项为nodev。
exec 可执行二进制文件,取消选项为noexec。
noatime 每次存取时不更新inode的存取时间。
noauto 无法使用-a参数来加载。
nodev 不读文件系统上的字符或块设备。
noexec 无法执行二进制文件。
nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。
nouser 使一位用户无法执行加载操作,默认设置。
remount 重新加载设备。通常用于改变设备的设置状态。
ro 以只读模式加载。
rw 以可读写模式加载。
suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。
sync 以同步方式执行文件系统的输入输出动作。
user 可以让一般用户加载设备。
-r 以只读方式加载设备。
-t文件系统类型 指定设备的文件系统类型。常用的选项说明有:
minix Linux最早使用的文件系统。
ext2 Linux目前的常用文件系统。
msdos MS-DOS 的 FAT。
vfat Win85/98 的 VFAT。
nfs 网络文件系统。
iso9660 CD-ROM光盘的标准文件系统。
ntfs Windows NT的文件系统。
hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。
auto 自动检测文件系统。
-v 执行时显示详细的信息。
-V 显示版本信息。
-w 以可读写模式加载设备,默认设置。
umount命令:
功能说明:卸除文件系统。
语 法:umount [-ahnrvV][-t 文件系统类型][文件系统]
补充说明:umount可卸除目前挂在Linux目录中的文件系统。
参 数:
-a 卸除/etc/mtab中记录的所有文件系统。
-h 显示帮助。
-n 卸除时不要将信息存入/etc/mtab文件中。
-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
-t文件系统类型 仅卸除选项中所指定的文件系统。
-v 执行时显示详细的信息。
-V 显示版本信息。
[文件系统] 除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统。
umount: /var: device is busy.
使用 umount 候定要确保已退/mnt/cdrom 目录退目录使用umount /mnt/cdrom 关于mount命令使用请参考书籍《Linux该》
linux mount和umount命令怎么用?
使用Umount -A提示device busy 使用mount 提示写保护 只能已只读方式挂载 桌面上看不到盘符 如何使用这两个命令
(1) umount提示说device busy是因为当前有程序正在使用你所卸载的设备,举个例子:你当前的路径可能就在设备的挂载点,可以使用 fuser -km /dev/sdb1(设备名) 杀掉占用此设备的程序方可卸载
(2) mount挂载的参数有很多,如:ro(只读), rw(读写), usrquota(用户配额), remount(再次挂载), -t 设备格式, 等等,mount -t vfat -o rw /dev/sdb1 /windows(以读写方式将设备/dev/sdb1设备挂载到/windows),使用命令“df“可以看到设备的挂载信息。
你要是对Linux感兴趣的话可以看下的《Linux就该这么学》作为入门的书籍。
CentOS挂载详解
接前文, CentOS下ext4、vfat文件系统创建、修改 ,以及 swap分区管理
在Linux中,存储设备的使用一般分三步,分区,创建文件系统(格式化),挂载。
什么是挂载?个人理解,Linux通过倒树形的根文件系统来管理所有的文件,内核只能识别并管理根目录 / 所在的文件系统及其下的目录和文件。因此其他文件系统想要使用,都需要为其指定在现存目录下的访问入口。
将额外的文件系统,与现存的Linux能够识别的目录,建立起映射关系,实现 将现存目录作为访问额外文件系统的入口 的功能,这个过程称为 挂载 ;用于访问额外文件系统的,现存文件系统中的指定目录,称为 挂载点 。
挂载的逆过程,解除额外的文件系统与现存Linux能够识别的目录之间的映射关系,称为 卸载 。
挂载需要两个参数,挂载的设备或文件系统,挂载点;
1. 挂载点,是现有文件系统下的某个目录,是由我们自己指定的;
2. 要挂载的设备或文件系统,其信息要如何获得?
1. 如果要挂载的是磁盘,可以尝试用 fdisk -l 命令配合 df 和 free 命令
为了更直观的比较,可以加上grep以过滤显示结果,例如:
从结果中可以看到,swap分区只有sda3,并且大小和现有swap大小基本一样,可知swap分区已全部挂载。
已挂载磁盘只有sda1和sda2,sdb1没有挂载。
2. 使用 blkid -o format 命令
在format的多个值中比较推荐list或full,full模式下会显示设备名称、UUID和文件系统的类型
而list模式更便于我们阅读,此时会显示设备名称、文件系统类型、表现名称、挂载点(会显示挂载点或未挂载状态)和UUID。如下图,根据提示很容易可以看得出 /dev/sdb1 和 /dev/sr0 处于未挂载状态。
3. 使用 lsblk 命令
例如, lsblk -fmp ,不指定设备则显示所有块设备信息,很容易看到sbd1和sr0没有挂载点,说明他们处于未挂载状态。
通过上面三种方法,我们可以了解到目前尚未挂载的设备信息,即有哪些设备可以挂载。
1,挂载和卸载命令的参数:
挂载使用 mount 命令,设备、挂载点 两者都需要指明
卸载使用 umount 命令,设备、挂载点 两者只需要指明其一
2,一般挂载
命令格式:mount [-nrw] [-t vfstype] [-o options] device dir
device :指明要挂载的设备或文件系统,可以通过以下方式指定
1)设备文件名称:例如/dev/sda5,默认使用这种方式
2)卷标:-L 'LabelName',例如 -L 'MYDATA'
3)UUID:-U UUID,即使设备名称或者卷标改了,也不影响识别
4)伪文件系统(暂不介绍):proc,sysfs,devtmpfs,configfs
dir :挂载点
1)事先存在,并建议使用空目录,
2)如果是长期挂载,尽量不要使用mnt和media目录
3)处于busy状态(例如正在被访问的目录)的设备无法被卸载
mount命令本身选项 :
-r:readonly,只读挂载(整个分区只读);
-w:read and write, 读写挂载;
-n:默认情况下,设备挂载或卸载的操作会同步更新至 /etc/mtab 文件中;
-n用于禁止此特性:挂载但不更新 /etc/mtab 文件;
-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;
-L LABEL:挂载时以卷标的方式指明设备;
mount -L LABEL dir
-U UUID:挂载时以UUID的方式指明设备;
mount -U UUID dir
-o options :挂载选项,多用于定义挂载时文件系统的特性
sync/async:同步/异步操作;
atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
remount:重新挂载;
acl:支持使用facl功能;
# mount -o acl device dir
# tune2fs -o acl device
# mount -o remount,acl device dir #重新挂载并增加acl特性
ro:只读,-o ro 等效于 -r
rw:读写,-o rw 等效于 -w
dev/nodev:此设备上是否允许创建设备文件;
exec/noexec:是否允许运行此设备上的程序文件;
auto/noauto:是否支持自动挂载,即是否支持 mount -a ,如果是 noauto ,那么即使在 fstab 中加入记录,启动时也不会自动挂载该设备;
user/nouser:是否允许普通用户挂载此文件系统;
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;
defaults:使用默认挂载特性: rw, suid, dev, exec, auto, nouser, async, relatime(默认特性和CentOS版本及内核版本有关)
特别的,如果指定的特性与defaults的默认特性冲突,以额外指定的特性为准,例如 mount -o defaults,noauto device dir ,默认特性是 auto ,额外指定 noauto ,device实际表现的挂载特性是 noauto 。
3,挂载可移动设备或回环设备
4,设置开机后自动挂载
修改配置文件 /etc/fstab ,该文件中每一行定义一个要挂载的文件系统及相关属性,每一行的内容分为6个字段:
(1) 要挂载的设备,可以是以下内容:
设备文件的名称,如/dev/sda1
设备的LABEL
设备的UUID,CentOS 7中较多使用此种方式
伪文件系统:如sysfs, proc, tmpfs等
(2) 挂载点路径
如果是swap类型的设备,挂载点就是 swap ;
(3) 文件系统类型,如ext4,xfs,btrfs,vfat等等;
(4) 挂载选项,也就是 mount -o 命令的那些选项:
defaults:使用默认挂载选项;
如果要同时指明多个挂载选项,彼此间以逗号分隔,如:defaults,acl,noatime,noexec
(5) 转储频率,已经很少使用:
0:从不备份;
1:每天备份;
2:每隔一天备份;
(6) 自检次序:
0:不自检;
1:首先自检,通常只能是根文件系统可用1;
2:次级自检;
1. 使用 findmnt 命令
findmnt 命令将列出所有已挂载的文件系统或者搜索出某个文件系统,是查看文件系统时很常用的命令之一。findmnt 命令能够在 /etc/fstab 、 /etc/mtab 或 /proc/self/mountinfo 这几个文件中进行搜索。
命令常用选项:
-l:表示采用列表形式输出结果,默认采用树形输出结果
--df 或 -D:以df类型输出结果,显示文件系统及设备空间使用情况
-t TYPE:只输出文件类型为TYPE的结果
参数:
findmnt可以指定设备或挂载点,输出相关结果,不带任何参数则输出所有结果,例如:
findmnt /dev/sda1
findmnt /
2. 使用 blkid 命令
blkid -o list ,在第一部分已经简单介绍过该命令的用法,这里不再重复。
3. 使用 lsblk 命令
lsblk -fp [device] ,第一部分也已经介绍过,这里不再重复。
4. 使用 df 命令
常用 df -hT 来查看 已挂载 设备的文件系统及其空间使用情况, -T 表示查看文件类型, -h 表示以方便识别的方式输出空间情况。
更多用法请看man手册。
5. 使用 mount 命令
直接使用 mount 命令,不带选项和参数,会输出所有已挂载的系统信息,里面可能有很多我们不需要的信息,常和grep一起使用以查看我们关注的内容。
如: mount | grep -E "(sd)|(sr)"
6. 使用 fdisk -l 命令
该命令是分区命令,因此只能看到能够进行分区操作的设备信息(比如光盘就不会显示),同时无论分区有没有挂载都会显示。
上面的命令可以简单分为
可以查看 设备信息: blkid , lsblk , fdisk
只能查看 设备信息: findmnt , df , mount
卸载使用命令 umount ,设备或挂载点任意指定其中之一即可: umount device|dir
卸载时有可能会遇到挂载点正在被其他进程访问,无法卸载的情况:
解决办法有2个:
1. 终止所有正在访问某挂载点的进程,比如使用命令 fuser -km /test (这个命令有可能导致其他进程出问题,生产环境慎用),或者kill掉访问挂载点的进程,然后再卸载。
2. 强制卸载: umount -l /test , umount -l 会等到挂载点空闲后再卸载,相对让人放心一些。