我通过循环设备挂载磁盘映像(losetup -f image.img)。它包含分区表,我强制内核读取它:partprobe / dev / loop1。
我挂载/ dev / loop1p1,修复我要解决的问题,卸载文件系统。我从loopback设备中删除文件(losetup -d / dev / loop1)。但是/ dev / loop1p1并没有消失。
我甚至尝试重新创建lodevice,通过fdisk添加和删除分区表。但我所有的尝试都失败了:
分区表已被更改!
调用ioctl()重新读取分区表。
警告:重新读取分区表失败,错误22:参数无效。内核仍然使用旧表。新表将在下次重新引导时使用,或者在运行partprobe(8)或kpartx(8)同步磁盘后使用。
分区没有以任何方式使用,但我无法释放它。有没有办法在没有重启的情况下删除它?
我在dmesg中看到几条记录:
[4649002.505727] loop1:rw = 0,want = 211812300,limit = 62914560 [4649002.505753]设备loop1p1上的缓冲区I / O错误,逻辑块52952562 [4649002.505870]尝试访问设备末尾
他们正在唠叨我的唠叨。