Während ich nicht an meinem Computer war, wurde mein verschlüsseltes USB-Laufwerk versehentlich ausgehängt (obwohl es zu diesem Zeitpunkt noch physisch verbunden war). Ich konnte mich nicht erholen (habe noch keinen Neustart versucht). Ich habe das Gerät jetzt vollständig getrennt, erhalte jedoch weiterhin die Meldung "Gerät oder Ressource belegt", wenn ich versuche, den baumelnden Eintrag in / dev / mapper zu entfernen. Kann ich das Laufwerk ohne Neustart wieder anschließen und einbinden?
Folgendes habe ich ausprobiert (langer Name in "xxxxx" geändert) ...
$ sudo dmsetup ls
luks-xxxxx (252:1)
luks-yyyyy (252:0)
$ sudo umount /dev/mapper/luks-xxxxx
umount: /dev/mapper/luks-xxxxx: not mounted
$ sudo fuser --kill /dev/mapper/luks-xxxxx
$ echo $?
1
$ sudo dmsetup info -c luks-xxxxx
Name Maj Min Stat Open Targ Event UUID
luks-xxxxx 252 1 L--w 1 1 0 CRYPT-LUKS1-xxxxx-luks-xxxxx
$ sudo dmsetup remove luks-xxxxx
device-mapper: remove ioctl on luks-xxxx failed: Device or resource busy
Command failed
Nach dem erneuten Anschließen des Geräts ...
$ sudo cryptsetup luksOpen "/dev/sde1" "luks-xxxxx"
Device luks-xxxxx already exists.
[BEARBEITEN] Dieses Mal habe ich das Problem gelöst, indem ich einen GUI-Texteditor geschlossen habe, der keine geöffneten Dateien enthielt, aber aus einem Ordner auf dem betreffenden Gerät gestartet wurde. Die Frage wird also spezifischer: Wie können Sie identifizieren, welche Anwendung das Gerät geöffnet hält?
Beachten Sie, dass lsof
dies keine einfache Lösung zu sein scheint, da die von bereitgestellten lsof
Namen nach dem Trennen des Geräts nicht mehr den Namen des getrennten Geräts enthalten.
Antworten:
Nach zwei Jahren, in denen ich damit gekämpft habe, denke ich, dass ich es endlich vollständig geknackt habe!
dmsetup ls
gibt Ihnen die Daten, die Sie benötigen:dann
Dies scheint
sudo
hier - zumindest in einigen Fällen - kritisch zu sein.Hier sollten Sie die Informationen erhalten, die zum Schließen aller geöffneten Dateien auf dem Gerät erforderlich sind - einschließlich der Namen der geöffneten Dateien und der Prozess-IDs für die betroffenen Anwendungen. Möglicherweise können Sie einfach zu diesen Apps gehen und sie schließen, aber ein Brute-Force-Ansatz könnte ungefähr so aussehen:
Nachdem Sie alle Dateien geschlossen haben, sind möglicherweise einige der in der Frage gezeigten Befehlszeilentools erforderlich, um das vorhandene Mount zu schließen, bevor es wieder normal geöffnet werden kann.
quelle
(252:1)
wird252,1
.Versuchen Sie, die LVM-Gruppe zu stoppen, bevor Sie cypher stoppen:
lvchange -a n [LVM_Group_name]
dann
cryptsetup -v luksClose [LUKS_name]
Probe:
quelle
kill
vorherkill -9
). Die Lösung von @nobar war jedoch für mich nicht ausreichend - es scheint, dass der Kernel selbst das Gerät aufgrund der LVM-Gerätezuordnungen geöffnet hatte - was durch diese Antwort behoben wurde.grep
keine Übereinstimmungen gefunden, aber das hat funktioniert.Versuchen Sie es beim nächsten Mal mit einem faulen umount
Das funktioniert bei mir meistens, besonders bei aufgehängten NFS-Laufwerken.
quelle
So gelingt es mir, dieses Problem unter Linux Mint 17.3 (~ Ubuntu Trusty) zu lösen:
Entfernen Sie das Gerät aus dem Geräte-Mapper
map it back
Jetzt sind die Geräte erreichbar.
quelle
dmsetup remove
meldet manchmal "Befehl fehlgeschlagen".Ich befand mich in einer ähnlichen Situation, konnte das Problem jedoch nicht lösen, indem ich das
luks-xxxx
Gerät entfernte. Stattdessen musste ich entfernenubuntu--vg-root
.Meine Situation war:
lsof
zeigte keine offenen Griffe für das Gerät.Was geholfen hat, war das physische Gerät zu entfernen und das
ubuntu--vg-root
Gerät mit dem folgenden Befehl zu entfernen :Zu diesem Zeitpunkt konnte ich das externe Gerät wie gewohnt aktivieren und entschlüsseln:
quelle