Impossible de supprimer device / dev / loop0

j'ai mal retiré d'un périphérique USB qui a été attaché à loop0 losetup et n'a pas pu supprimer ni détacher loop0 par la suite.

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

Quand j'ai remonter le périphérique /dev/sdb1, umount et essayer losetup -d /dev/loop0, j'obtiens toujours la même erreur loop: can't delete device /dev/loop0: Device or resource busy. Est-il un moyen de se débarrasser de la boucle de l'appareil?

24
demandé sur Peter Mortensen 2011-05-04 13:13:15
la source

9 ответов

Etes-vous sûr que l'appareil n'est pas occupé? Avez-vous déjà essayé fuser pour déterminer un PID possible?

précaution obtenez toutes les informations possibles:

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

Essayez d'arrêter le processus, qui pourrait utiliser /dev/loop0. Si nécessaire, utiliser kill -9 ou essayer fuser -k pour envoyer le signal kill -> regardez man fuser.

12
répondu The Bndr 2018-01-21 06:31:42
la source
dmsetup pour supprimer le mappage de périphérique. La façon la plus simple, si elle n'interfère pas avec d'autres mappings est d'utiliser un dmsetup remove_all.

39
répondu Aaron Flin 2015-05-22 00:30:21
la source

j'ai eu un problème similaire avec une carte SD et la suggestion D'Aaoron Flin d'utiliser dmsetup a fonctionné pour moi.

spécifiquement, vous devriez pouvoir ls /dev/mapper pour voir si tout loop0pX les cloisons existent.

Si oui, vous pouvez utiliser dmsetup remove /dev/mapper/loop0p2 pour se débarrasser des cloisons inutiles. Cela peut être utile si vous voulez garder quelques mappings attachés.

8
répondu Mike.P 2014-08-07 04:04:45
la source

si vous utilisez Luks, vous devez luksClose d'abord

cryptsetup luksClose $whatever
losetup -D
2
répondu choad rocker 2016-06-11 02:42:04
la source

j'ai eu le même problème aujourd'hui et aucune des réponses précédentes ne l'a corrigé (je n'ai pas essayé de recharger le module du noyau de boucle, parce que je voulais comprendre le problème réel).

il s'avère que le fichier image associé au périphérique loop contenait une partition "Linux LVM", qui était automatiquement positionnée comme indiqué par 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   ]

alors j'ai désactivé tous les volumes logiques à l'intérieur du groupe de volumes:

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

finalement j'ai été capable de bien détachez le dispositif de boucle:

$ losetup -d /dev/loop0
$ losetup -a
2
répondu frntn 2018-01-21 06:34:48
la source

essayez de recharger le module du noyau de boucle. Si elle ne permet pas de redémarrer ensuite.

1
répondu tamasd 2018-01-21 06:32:09
la source

Certainement il y a un processus à l'aide. Si vous ne pouvez pas déterminer quel processus l'empêche de supprimer, redémarrez votre serveur si vous le pouvez.

0
répondu user3578181 2016-09-19 23:29:22
la source

identique à @frntn.

Boucles étaient occupées par des 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

je les ai enlevées et tout obéit à nouveau aux ordres.

0
répondu MolbOrg 2018-01-21 06:35:50
la source

je clique avec le bouton droit de la souris sur le périphérique de boucle de dolphin et je le démonte.

-1
répondu Brons0nmarlotcheechdexter 2017-09-15 14:23:42
la source

Autres questions sur