我不安全地卸下了一个用losetup
连接到loop0的USB设备,此后无法删除或分离loop0。
[losetup -a
显示/dev/loop0: [0005]:145606719 (/dev/sdb1)
当我将设备重新安装到/ dev / sdb1时,将其安装umount
并尝试losetup -d /dev/loop0
,仍然会出现相同的错误loop: can't delete device /dev/loop0: Device or resource busy
。有没有摆脱循环设备的方法?
您确定设备不忙吗?您是否曾经尝试过热熔器来确定可能的PID?
预防措施获取所有可能的信息:
fuser -c /dev/loop0
fuser -d /dev/loop0
fuser -f /dev/loop0
尝试停止该进程,该进程可以使用/ dev / loop0。如有必要,请使用kill -9
或尝试fuser -k
发送终止信号->查看man fuser
。
运行
mount | grep /dev/loopN
检查环路设备是否安装在某处,然后运行
umount /dev/loopN
卸载它。
如果仍然有问题,请运行
lsof | grep loopN
检查正在使用哪个进程,然后将其杀死。
本文的THX BiX以及所有:我不是Linux管理员,而是一个用户,但可以为had loop设备问题做出很大贡献:
当未从文件浏览器(Dolphin / Nautilus)真正干净地删除虚拟安装的映像文件(.iso)时。
您可以使用Prg“磁盘”(在Service Prg的磁盘管理工具下)卸载此虚拟分区。但是,ISO文件仍将作为循环保留在设备管理列表中。例如,如果要从磁盘上删除此ISO文件卷,则删除过程将仅以虚拟方式进行,并且相应的MB或GB存储空间将完全不可用。删除后,ISO文件在Dolphin / Nautilus中不再可见,但是相应的存储空间要求未再次指定为可用;即删除之前和之后此ISO文件未更改的数据载体上的可用和已占用存储空间的信息。
一个简单但非常规的解决方案是重新启动/启动计算机。但这不是真正的解决方案!
联机帮助页中描述的Linux shell losetup
在此处提供了补救措施:
losetup用于将循环设备与常规文件或块设备相关联,以分离循环设备并查询循环设备的状态。如果仅给出loopdev参数,则显示相应循环设备的状态。
因此,您可以使用losetup -d /dev/loop0
删除与dev / loop0上的循环关联的文件(!“ losetup -d”仅可用作管理员。因此,您需要输入sudo losetup -d
或大多数LinuxGurus而不是fink fin,您有一个so-terminal静态开放)。
在losetup
的手册页中,您可以看到此处未使用表达式Delete
,而是使用了Solve
。但是,根据我的示例,在使用选项-d后,“尽管卸载干净,仍未删除文件卷轴”,但现在仅删除文件卷轴。 (我不是Linux管理员,但::)这与虚拟的loopNumber分配相关联,但在挂载iso映像(映像)时成为实际条件。
这里是shell losetup
的完整语法:
https://linux.die.net/man/8/losetup
((我在linuxMint-18上已损坏的工作)
由德语翻译,www.DeepL.com / Translator
我只是右键单击海豚中的循环设备,然后将其卸下。
您可能还必须使用dmsetup
删除设备映射。如果不干扰任何其他映射,最简单的方法是使用dmsetup remove_all
。
我在SD卡上遇到了类似的问题,Aaoron Flin的建议使用dmsetup的建议对我有用。
特别是,您应该能够ls
/ dev / mapper来查看是否存在任何loop0pX
分区。
如果是这样,您可以使用dmsetup remove /dev/mapper/loop0p2
摆脱任何不必要的分区。如果要保留某些映射,这将很有用。
今天我遇到了同样的问题,以前的答案都没有解决(我没有尝试重新加载循环内核模块,因为我想了解实际的问题)。
结果是,与循环设备关联的图像文件包含一个“ Linux LVM”分区,该分区是按pvscan
所示自动设置的:
$ pvscan
PV /dev/sda1 VG server-vg lvm2 [417,76 GiB / 0 free]
PV /dev/loop0 VG vbox-vg lvm2 [7,81 GiB / 0 free]
Total: 2 [425,57 GiB] / in use: 2 [425,57 GiB] / in no VG: 0 [0 ]
因此,我已停用了卷组内的所有逻辑卷:
$ vgchange --activate n vbox-vg
0 logical volume(s) in volume group "vbox-vg" now active
最终,我终于能够很好地分离循环设备:
$ losetup -d /dev/loop0
$ losetup -a
我将此循环解决方案追到了Internet的末端,发现解决方案是卸载snapd和清除所有关联的文件:(在我的情况下为167 Gb)
sudo apt purge snapd
如果使用Luks,则需要先关闭Luks
cryptsetup luksClose $whatever
losetup -D
尝试重新加载循环内核模块。如果没有帮助,请重新启动。
肯定有一个使用它的进程。如果无法确定哪个进程阻止了该进程的删除,请尽可能重新启动服务器。
与@frntn相同。
循环被RAID占用:
# cat /proc/mdstat
Personalities : [raid0]
md126 : active raid0 loop6p5[1] loop5p3[0]
209584128 blocks super 1.2 512k chunks
md127 : active raid0 loop6p2[1] loop5p2[0]
31440896 blocks super 1.2 512k chunks
我删除了它们,一切都再次服从命令。