umount强制卸载busy(umount卸载u盘命令)

http://www.itjxue.com  2023-02-09 10:31  来源:未知  点击次数: 

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 会等到挂载点空闲后再卸载,相对让人放心一些。

(责任编辑:IT教学网)

更多

推荐Flash实例教程文章