当前位置:  开发笔记 > 后端 > 正文

无法删除设备/ dev/loop0

如何解决《无法删除设备/dev/loop0》经验,为你挑选了4个好方法。

我不安全地删除了连接到loop0的USB设备,losetup之后无法删除或分离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.有没有办法摆脱循环设备?



1> 小智..:

您可能还必须使用dmsetup删除设备映射.最简单的方法,如果它不干扰任何其他映射是使用a dmsetup remove_all.


这对我有用,虽然我使用`dmsetup info`来获取映射,然后使用`dmsetup remove `.谢谢.
`sudo dmsetup info`给了我'没找到设备'
这对我也有用.由于某些原因,在CentOS 6.5上使用kpartx -a然后使用kpartx -d不会像它应该删除映射.

2> The Bndr..:

你确定设备不忙吗?你有没有尝试过热熔器来确定可能的PID?

预防性获取所有可能的信息:

fuser -c /dev/loop0
fuser -d /dev/loop0
fuser -f /dev/loop0

尝试停止进程,可以使用/ dev/loop0.如有必要使用kill -9或尝试fuser -k发送kill信号 - >看看man fuser.



3> 小智..:

我有一个与SD卡类似的问题,Aaoron Flin建议使用dmsetup为我工作.

具体来说,您应该能够ls/ dev/mapper查看是否loop0pX存在任何分区.

如果是这样,您可以dmsetup remove /dev/mapper/loop0p2用来摆脱任何不必要的分区.如果要保留一些映射,这可能很有用.



4> 小智..:

今天我遇到了同样的问题,以前的答案都没有解决(我没有尝试重新加载循环内核模块,因为我想了解实际的问题)。

事实证明,与循环设备关联的映像文件包含一个“ 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

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有