Не удается удалить устройство/dev/loop0
Я несанкционированно удалил USB-устройство, которое было привязано к loop0 с помощью losetup
и не могло удалить и отключить loop0 впоследствии.
losetup -a
показывает /dev/loop0: [0005]:145606719 (/dev/sdb1)
Когда я перемонтирую устройство в /dev/sdb 1, umount
и попробую losetup -d /dev/loop0
, я все равно получаю ту же ошибку loop: can't delete device /dev/loop0: Device or resource busy
. Есть ли способ избавиться от устройства цикла?
Ответы
Ответ 1
Вы уверены, что устройство не занято? Вы когда-нибудь пробовали фьюзер для определения возможного PID?
Меры предосторожности получить всю возможную информацию:
fuser -c /dev/loop0
fuser -d /dev/loop0
fuser -f /dev/loop0
Попробуйте остановить процесс, который может использовать /dev/loop 0. При необходимости используйте kill -9
или попробуйте fuser -k
отправить сигнал уничтожения → посмотреть man fuser
.
Ответ 2
Возможно, вам придется использовать dmsetup
, чтобы удалить сопоставление устройств. Самый простой способ, если он не мешает другим сопоставлениям, - использовать dmsetup remove_all
.
Ответ 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
Ответ 5
Если вы используете Luks, вам нужно luksClose сначала
cryptsetup luksClose $whatever
losetup -D
Ответ 6
Попробуйте перезагрузить модуль ядра цикла. Если это не поможет, перезагрузитесь.
Ответ 7
Определенно существует процесс, использующий его. Если вы не можете определить, какой процесс препятствует его удалению, перезагрузите сервер, если сможете.
Ответ 8
То же, что и @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
Я удалил их, и все снова подчиняется заказам.
Ответ 9
Я погнался за этим циклическим решением до конца Интернета и обнаружил, что решение - удалить оснастку и очистить все связанные файлы: (в моем случае это было 167 Гб)
sudo apt purge snapd
Ответ 10
Я просто щелкнул мышью по контурному устройству дельфина и отключил его.