LUKS 파티션 잠금 해제 오류(활성화 장치 실패: 파일 존재)

LUKS 파티션 잠금 해제 오류(활성화 장치 실패: 파일 존재)

Manjaro를 사용하는 시스템에서 KDE Dolphin을 사용하여 Luks 암호화 디스크를 잠금 해제하는 데 문제가 있습니다.

이 질문은 중요하지 않습니다. 이 문제는 재부팅하면 해결될 수 있지만 때로는 불편할 때도 있으니 알아두시면 도움이 될 것 같습니다이 질문이 먼저 떠오릅니다.

그래서 재부팅 후 처음으로 장치 잠금을 해제했을 때 모든 것이 괜찮았습니다. 시스템을 제거하면 다음에도 작동합니다. 문제는 가끔 장치를 연결하고 비밀번호를 입력한 후 다음 오류가 발생한다는 것입니다.

'홈'에 액세스하는 동안 오류가 발생했습니다. 시스템 응답: 요청한 작업이 실패했습니다. /dev/sdxy 잠금 해제 중 오류: 장치를 활성화할 수 없습니다: 파일이 존재합니다.

하지만 이 파일은 볼 수 없고 df -h, 마운트되지도 않으며 /etc/fstab, 연결 시 항상 마운트 및 잠금 해제됩니다. 이 명령은 fuser관련 내용을 표시하지 않고 lsof다음을 반환합니다.

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.

실제로 이 폴더( ps aux | grep 1000)를 사용하는 프로세스가 몇몇 보이는데, 이것이 실제로 문제 해결에 도움이 되는지 모르겠습니다.

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

이러한 프로세스를 종료하는 것이 도움이 될 수 있다고 생각하지만 안전한지 여부는 알 수 없습니다. 아는 것이 모르는 것보다 낫기 때문에 위험을 감수할 수는 없습니다. 어떤 아이디어가 있나요?

편집하다dmsetup info:및의 출력 dmsetup table:

DM 설정 안내

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

DM 설정 테이블

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

답변1

출력을 검토한 후 dmsetup ls오래된 장치가 있는 것으로 확인되면 장치를 삭제할 수 있습니다. dmsetup remove장치가 실제로 사용 중이 아닌지 주의 깊게 확인한 후 삭제하는 것이 좋습니다.

저도 같은 문제가 있었고 이 작업을 수행한 후 암호화된 USB 하드 드라이브를 다시 잠금 해제하고 마운트할 수 있었습니다.

# dmsetup ls --tree
luks-f53274db-3ede-4a27-9aa6-2525d9305f94 (254:5)
 `- (8:34)

# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 Nov 24 15:22 control
lrwxrwxrwx 1 root root       7 Nov 27 09:42 luks-f53274db-3ede-4a27-9aa6-2525d9305f94 -> ../dm-5

# dmsetup remove /dev/dm-5

답변2

동일한 오류가 발생했습니다(Manjaro에서도 KDE를 사용함). USB 장치에 LUKS 볼륨이 있지만 해당 볼륨이 컴퓨터에서 완전히 제거되지 않았습니다. USB 장치를 다시 연결하면 LUKS 볼륨이 잠금 해제를 거부합니다.

# 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

기기 잠금을 해제하려고 하는데 /dev/sdg1잠금 해제 방법을 모르겠습니다.@마틴 R문제가 있는 볼륨 UUID가 식별되었습니다(문제가 없는 다른 LUKS 볼륨 대신).그들의 대답특히 의 항목은 /etc/fstab에 나열된 항목과 다른 UUID를 갖기 때문입니다 /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

udisksctl장치 파티셔닝을 사용하는 데 문제가 있었던 LUKS 볼륨 UUID를 확인할 수 있었습니다 .

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

이 시점에서 어떤 dm 객체를 정리해야 하는지 명확해졌습니다.

# 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

그런 다음 잠금을 해제하고 성공적으로 설치하십시오.

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

답변3

제가 보기에는 문제가 있습니다 /etc/crypttab.

몇 가지 튜토리얼을 따라했지만 실제로 이해하지 못했기 때문에 다음과 같은 파일을 만들었습니다.

secret UUID=AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA /root/AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA.lukskey
secret UUID=BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB /root/BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB.lukskey

위 구성으로 인해 시스템이 /dev/mapper/secret모든 행에 대해 생성을 시도하지만 두 번째 행에 대해서는 실패하기 때문에 오류가 발생합니다.

다음과 같이 변경하면 괜찮습니다.

luks-AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA UUID=AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA /root/AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA.lukskey
luks-BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB UUID=BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB /root/BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB.lukskey

/dev/mapper/luks-AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA이로 인해 및 가 생성되었습니다 /dev/mapper/luks-BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB.

관련 정보