我unsfeely删除一个usb设备,连接到loop0与losetup,不能删除,也不能分离loop0。
losetup -a
显示/dev/loop0: [0005]:145606719 (/dev/sdb1)
当我将设备重新挂载到/ dev / sdb1时,将其卸载并尝试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发送kill信号 – >看看man fuser
您可能还必须使用dmsetup
删除设备映射。 最简单的方法是,如果不干扰其他映射,则使用dmsetup remove_all
。
我有一个类似的问题与SD卡和Aaoron Flin的建议使用dmsetup为我工作。
具体来说,你应该能够使用ls
/ dev / mapper来查看是否存在任何loop0pX
分区。
如果是这样,你可以使用dmsetup remove /dev/mapper/loop0p2
来摆脱任何不必要的分区。 如果你想保留一些附加的映射,这可能是有用的。
如果你正在使用Luks,你需要首先关闭
cryptsetup luksClose $whatever losetup -D
尝试重新加载循环内核模块,如果没有帮助,然后重新启动。
今天有同样的问题,上面的答案都没有解决它(我没有尝试重新加载循环内核模块,因为我想了解实际问题)
发现与循环设备相关的映像文件包含一个“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 $
当然有一个使用它的过程。 如果您无法确定哪个进程正在阻止其删除,请尽可能重新启动服务器。
与@frntn相同
循环被突袭占领
# 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
删除他们,一切都服从命令了。
我只需右键单击海豚中的循环设备,然后卸载它。