web-dev-qa-db-fra.com

Erreur de déverrouillage d'une partition LUKS (Impossible d'activer le périphérique: le fichier existe)

J'ai des problèmes de déverrouillage d'un disque LUKS-crypté avec un dauphin KDE, dans un système avec Manjaro.

Le problème n'est pas critique. Il peut être résolu par le redémarrage, mais parfois, il n'est pas pratique de le faire, et je constate qu'il pourrait être utile de comprendre pourquoi Ce problème apparaît dans la première place.

Donc, la première fois que je déverrouille l'appareil après un redémarrage, tout va bien. Si je démonte le système, les temps suivants vont aussi bien. Le problème est que parfois, je connecte le périphérique et, après avoir entré le mot de passe, je reçois l'erreur suivante:

Une erreur s'est produite lors de l'accès à "Home", le système a répondu: l'opération demandée a échoué: Erreur de déverrouillage/dev/sdxy: Échec de l'activation du périphérique: le fichier existe

Mais ce fichier ne peut pas être vu avec df -h, et ce n'est pas monté via /etc/fstab, il est toujours monté et déverrouillé lorsqu'il est connecté. La commande fuser _ ne montrera rien de pertinent et lsof ne renvoie que:

lsof: WARNING: can't stat() Fuse.gvfsd-Fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
lsof: WARNING: can't stat() Fuse file system /run/user/1000/doc
      Output information may be incomplete.

En fait, je vois des processus en utilisant ce dossier (ps aux | grep 1000), mais ne savez pas si cela aide à résoudre le problème.

1779 ?        Sl     0:03 /usr/lib/gvfsd-Fuse /run/user/1000/gvfs -f -o big_writes
1847 ?        S      0:03 file.so [kdeinit5] file local:/run/user/1000/klaunchermRxLKs.1.slave-socket local:/run/user/1000/kded5IKggHu.1.slave-socket
23434 ?        S      0:00 file.so [kdeinit5] file local:/run/user/1000/klauncherDwiyfV.1.slave-socket local:/run/user/1000/dolphinaVwzoi.58.slave-socket

Je soupçonne que tuer ces processus pourrait aider, mais je ne sais pas si c'est sûr (je ne peux pas risquer de faire de la bonne connaissance, non sans savoir). Des idées?

[~ # ~] éditer [~ # ~ ~]: sortie pour dmsetup info et dmsetup table:

info dmsetup

Name:              luks-92bde790-5ca6-441b-bad3-5c3163292c8b
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      254, 1
Number of targets: 1
UUID: CRYPT-LUKS1-92bde7905ca6441bbad35c3163292c8b-luks-92bde790-5ca6-441b-bad3-5c3163292c8b

Name:              luks-1f919383-2d4a-44e2-b28e-21bffd11dd6c
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      254, 0
Number of targets: 1
UUID: CRYPT-LUKS1-1f9193832d4a44e2b28e21bffd11dd6c-luks-1f919383-2d4a-44e2-b28e-21bffd11dd6c

table dmsetup

luks-92bde790-5ca6-441b-bad3-5c3163292c8b: 0 4294963200 crypt aes-xts-plain64 0000000000000000000000000000000000000000000000000000000000000000 0 8:33 4096
luks-1f919383-2d4a-44e2-b28e-21bffd11dd6c: 0 3906401473 crypt aes-xts-plain64 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 8:2 4096
5
elcortegano

J'ai rencontré la même erreur (aussi à l'aide de KDE sur Manjaro). J'ai un volume LUKS sur un périphérique USB qui n'a pas été nettoyé de l'ordinateur. Lorsque j'ai réinséré le périphérique USB, le volume LUKS a refusé de déverrouiller:

# udisksctl unlock -b /dev/sdg1
Passphrase:
Error unlocking /dev/sdg1: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Error unlocking /dev/sdg1: Failed to activate device: File exists

Depuis que j'essayais de déverrouiller l'appareil /dev/sdg1, Je n'ai pas compris comment @ martin J'avais identifié le volume incriminé UUID (au lieu de, par exemple, un autre volume Luks qui n'avait pas de problème) In leur réponse En particulier depuis l'entrée dans /etc/fstab a une UUID différente que ce qui est répertorié dans /dev/mapper.

# grep /mount/point /etc/fstab
UUID=33333333-3333-3333-3333-333333333333 /mount/point ext4 defaults 0 0
# ls -lah /dev/mapper
total 0
crw------- 1 root root 10, 236 Oct 10 06:08 control
lrwxrwxrwx 1 root root       7 Oct 10 06:08 luks-11111111-1111-1111-1111-111111111111 -> ../dm-1
lrwxrwxrwx 1 root root       7 Oct 10 17:41 luks-22222222-2222-2222-2222-222222222222 -> ../dm-2
lrwxrwxrwx 1 root root       7 Oct 10 06:08 luks-00000000-0000-0000-0000-000000000000 -> ../dm-0

J'ai été capable de vérifier quel volume Luks Uuid avait du mal à utiliser udisksctl avec la partition de périphérique.

# udisksctl info -b /dev/sdg1 | grep 'IdUUID'
IdUUID:                     22222222-2222-2222-2222-222222222222

À ce stade, il était clair que l'objet DM devait être nettoyé.

# dmsetup ls
luks-00000000-0000-0000-0000-000000000000       (254:0)
luks-11111111-1111-1111-1111-111111111111       (254:1)
luks-22222222-2222-2222-2222-222222222222       (254:2)
# dmsetup remove /dev/dm-2

Ensuite, déverrouillage et montage a réussi.

# udisksctl unlock -b /dev/sdg1
Passphrase:
Unlocked /dev/sdg1 as /dev/dm-2.
# mount /mount/point
0
inetknght