최근에 기본 4MiB LUKS2 장치를 만들었습니다 --offset
. 이 file
명령은 장치를 올바르게 식별하고 해당 UUID를 나열하지만 부팅 시 자동으로 열리거나 표시되지 않습니다 /dev/disk/by-uuid/...
(이후에도 update-initramfs
).
수동으로 실행하면 cryptsetup open
예상대로 작동하지만 cryptdisks_start
열 수 없습니다. 내 다른 장비 UUID=
와 마찬가지로 지정 됩니다 . /etc/crypttab
UUID 대신 "상위" 블록 장치 경로를 사용하는 것이 유효합니다.
확인하면 xxd
올바른 매직 넘버(오프셋 0의 "LUKS")가 표시되고 헤더는 다른 LUKS2 장치와 동일한 오프셋에서 시작됩니다(여기서예올바르게 감지되었습니다). 장치가 감지되지 않는 이유는 무엇입니까? UUID로 열려면 어떻게 해야 합니까?
답변1
기술적으로 여기서 커널에는 아무런 문제가 없습니다. 여기에 관련된 유일한 커널은 dmcrypt
장치에 의해 구성된 장치 매퍼 입니다 cryptsetup
.
cryptsetup
블록 장치에 저장된 메타데이터를 기반으로 장치 매퍼 장치를 구성할 수 있으므로 오류도 없습니다.
실제로 /dev/disk/by-uuid
LUKS udev
장치를 가리키는 항목이나 LUKS 장치 검색을 담당하는 항목이 저장되어 있지 않습니다(출력 참조 udevadm info /dev/the-block-device
).
udev
이에 대해 알아보려면 사용하세요 blkid
(예를 들어 /lib/udev/rules.d/60-persistent-storage.rules
내장 버전에 대한 Debian의 규칙 참조).
귀하의 경우 blkid
신고하세요 .TYPE="jmicron_raid_member"
. RAID 배열 구성원인 경우 직접 액세스하면 안 되므로 blkid
내부에 무엇이 저장되어 있는지 보고하지 않는 것이 옳습니다.
이것이 아니라면jmicron_raid_member, 어쩌면 일부 RAID 구성의 서명이 여전히 포함되어 있을 수도 있습니다. 예를 들어 SSD가 한 번 PC에 연결되었고 ATA 모드가 BIOS에서 AHCI 대신 RAID로 설정되었기 때문입니다(그리고 blkdiscard
사용하기 전에 실행하는 것을 잊어버렸습니다) 다시). 아니면 마지막 512바이트가 정확히 J
511번째 바이트 일 수도 있습니다 M
.
blkid
감지를 중지 하려면 jmicron_raid_member
의도적인 것이 아니며 마지막 512바이트 단위가 아무것도 사용되지 않는 것이 확실하다면 RAID 서명을 지워야 합니다. 이는 분명히 jmraid의 경우입니다.블록 장치의 마지막 512바이트 단위에서 발견됨, 또는 다음과 같은 것을 수동으로 사용:
size=$(blockdev --getsize -- "$dev") &&
dd if=/dev/zero of="$dev" seek="$((size - 1))" count=1
또는 util-linux
' wipefs
:
wipefs -t jmicron_raid_member -- "$dev"
서명을 나열하십시오.
wipefs -a -t jmicron_raid_member -n -- "$dev"
삭제할 항목을 표시합니다.
wipefs -a -t jmicron_raid_member -- "$dev"
닦음.