it-swarm.com.de

Gerät/dev/loop0 kann nicht gelöscht werden

Ich entfernte unsicher ein USB-Gerät, das mit losetup an loop0 angeschlossen war und anschließend loop0 weder löschen noch trennen konnte.

losetup -a zeigt /dev/loop0: [0005]:145606719 (/dev/sdb1)

Wenn ich das Gerät erneut an/dev/sdb1, umount anbringe und losetup -d /dev/loop0 versuche, erhalte ich immer noch den gleichen Fehler loop: can't delete device /dev/loop0: Device or resource busy. Gibt es eine Möglichkeit, das Schleifengerät loszuwerden?

27
BiX

Sind Sie sicher, dass das Gerät nicht ausgelastet ist? Haben Sie schon einmal mit der Fixiereinheit versucht, eine mögliche PID zu ermitteln?

Vorsorge erhalten alle möglichen Informationen:

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

Versuchen Sie, den Prozess zu stoppen, der/dev/loop0 verwenden könnte. Verwenden Sie ggf. kill -9 oder versuchen Sie fuser -k, um das Kill-Signal zu senden -> siehe man fuser.

14
The Bndr

Möglicherweise müssen Sie auch dmsetup verwenden, um die Gerätezuordnung zu entfernen. Der einfachste Weg, wenn es keine anderen Zuordnungen beeinträchtigt, ist die Verwendung eines dmsetup remove_all.

42
Aaron Flin

Ich hatte ein ähnliches Problem mit einer SD-Karte, und Aaoron Flins Vorschlag, dmsetup zu verwenden, funktionierte für mich. 

Insbesondere sollten Sie ls/dev/mapper in der Lage sein, festzustellen, ob loop0pX-Partitionen vorhanden sind. 

In diesem Fall können Sie dmsetup remove /dev/mapper/loop0p2 verwenden, um alle unnötigen Partitionen zu entfernen. Dies kann nützlich sein, wenn Sie einige Zuordnungen beibehalten möchten. 

8
Mike.P

Ich hatte heute das gleiche Problem und keine der vorherigen Antworten hat dieses Problem behoben (Ich habe nicht versucht, das Loop-Kernel-Modul neu zu laden, da ich das eigentliche Problem verstehen wollte).

Es stellt sich heraus, dass die mit dem Loop-Gerät verknüpfte Image-Datei eine "Linux LVM" -Partition enthielt, die automatisch wie in pvscan gezeigt eingestellt wurde:

$ 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   ]

Also musste ich alle logischen Volumes in der Volume-Gruppe deaktivieren:

$ vgchange --activate n vbox-vg
  0 logical volume(s) in volume group "vbox-vg" now active

Irgendwann konnte ich das Loop-Gerät abnehmen:

$ losetup -d /dev/loop0
$ losetup -a
4
frntn

Ich habe diese Loop-Lösung bis zum Ende des Internets gejagt und festgestellt, dass die Lösung uninstall snapd und alle zugehörigen Dateien löscht:

Sudo apt purge snapd
3
dwb.kelmark

Wenn Sie Luks verwenden, müssen Sie zuerst luksClose verwenden

cryptsetup luksClose $whatever
losetup -D
2
choad rocker

Versuchen Sie, das Loop-Kernel-Modul erneut zu laden. Wenn es nicht hilft, dann starten Sie den Computer neu.

1
tamasd

Auf jeden Fall gibt es einen Prozess, der es verwendet. Wenn Sie nicht feststellen können, welcher Prozess das Löschen verhindert, starten Sie den Server neu, wenn Sie können.

0
user3578181

Gleich wie bei @frntn.

Loops wurden mit RAID belegt:

# 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

Ich entfernte sie und alles gehorcht wieder den Befehlen.

0
MolbOrg