우분투 15.10을 실행하는 랩톱에서 오늘도 같은 오류가 발생했습니다.이 업데이트는 항상 최신 상태로 유지되지만 현재 커널을 테스트하고 싶을 때까지 한 달 동안 재부팅되지 않았습니다 (예 : 최근 변경 사항이있을 수 있음).
어쨌든, 필자의 경우 위의 자습서를 따르면 기본 원인이 설정 결함으로 인해 실제로 "누락 된"스왑 파티션이라는 것을 알았습니다. 이 경우 또는 실제로 사용중인 경우 lvm
아래 2 단계를 건너 뛸 수 있습니다. 물론 시스템 (또는 보조 데이터) 파티션이 손상되었거나 찾을 수없는 경우 위의 오류 메시지가 표시 될 수도 있습니다 (3 단계 참조).
1 단계 : 앞서 언급 한 튜토리얼에 따라 시스템 부팅 파티션
(ext2) 부트 파티션이 / dev / sdX1이고, (암호화 된) 스왑 파티션이 / dev / sdX2이고, (암호화 된) 데이터 파티션이 / dev / sdX3이고을 사용하여 후자의 암호를 성공적으로 해독 한 cryptsetup luksOpen /dev/sdX3 data
다음 마운트합니다 그것은 : mkdir /tmp/data; mount /dev/mapper/data /tmp/data
.
학습서의 바인드 마운트에주의를 기울이고 시스템 파티션의 / boot 디렉토리에서 액세스 할 수 있도록 / dev / sdX1을 마운트하십시오 (이는 우리가 실행해야하므로 중요합니다 update-initramfs
).
다음에서는 성공적으로 실행 된 것으로 가정합니다 chroot /tmp/data/@ubuntu1510
(또는 마운트 된 시스템 파티션이 무엇이든간에)
2 단계 : 위의 오류 메시지 제거
btrfs를 사용하고 있습니다 (앞서 언급 한 하위 볼륨 이름에서 짐작할 수 있듯이). lvmetad는 기능 손실없이 다음과 같이 쉽게 비활성화 할 수 있습니다.
- /etc/lvm/lvm.conf를 편집
use_lvmetad=1
하고use_lvmetad=0
- 실행하다
update-initramfs -k $(uname -r) -u ; sync
지금, 당신은 할 수 재부팅 오류 메시지가 사라해야합니다. 그러나 제 경우에는 다음 오류 메시지 [1]가 위에서 언급 한 근본적인 문제를 지적 했으므로 우리가 문제를 해결하는 동안 ...
3 단계 : / etc / crypttab이 손상되지 않은 올바른 파티션을 가리키는 지 확인
먼저 sfdisk --list /dev/sdX
암호화 된 스왑 파티션 (내 경우에는 / dev / sdX2)이 실제로 (일반) 스왑 파티션으로 표시 되지 않는지 확인하고 실행 하십시오 . (내 경우와 같이), 이것은 예를 들어 복구 디스크를 사용하여 부팅 할 때 사용 가능한 스왑 파티션을 사용하여 cryptsetup 관련 메타 데이터 (키 프레이즈 및 UUID)를 덮어 쓰는 것을 의미합니다.
다음으로 / dev / disk / by-uuid를 살펴보고 암호화 된 파티션의 각 UUID를 / etc / crypttab에 포함 된 UUID와 비교하십시오. 이 시점에서의 나의 추측 : 귀하의 경우에는 불일치가 있습니다.
암호화 된 전용 스왑 파티션이 / dev / disk / by-uuid 아래에 없으면 현재 복구 시스템에서 사용 중이기 때문입니다. 이 경우 다음을 수행하십시오.
- 파티션 사용을 중지하십시오 :
swapoff -a
- 다시 포맷하십시오 :
mkfs.ext2 /dev/sdX2
(이것은 특히 GPT 파티션을 사용할 때 중요 합니다. [2], 앞서 언급 한 결함을 취소합니다. sfdisk 목록에서 "스왑"유형으로 파티션이 표시 될 가능성은 사용자 / 실수로 잘못 사용했기 때문입니다 mkswap /dev/sdX2
처음에 파티션을 설정할 때)
- 학습서를 따라 파티션을 암호화하고 암호를 설정하십시오. 그런 다음 cryptsetup을 사용하여 열고 지금 해독 된 파티션을 올바르게 다시 포맷하십시오 (
mkswap /dev/mapper/swap
)
- 을 확인
sfdisk --list /dev/sdX
(이 경우, 마지막 단계를 반복) 등의 스왑 파티션을 식별하지 않습니다
이제 / etc / crypttab에 나열된 UUID가 각각의 암호화 된 파티션에 대해 / dev / disk / by-uuid 아래에 표시되어 있는지 확인하십시오.
또한 변경 사항을 영구적으로 적용하려면 update-initramfs
위와 같이 실행해야합니다 .
만족하면 모든 것이 디스크에 기록되고 시스템을 재부팅해야합니다 (모든 것을 수동으로 마운트 해제 할 필요 없음). 이후에는 문제가 해결되어야합니다.
[1] 어쩌면 나는 처음에주의를 기울이지 않았거나 첫 번째 오류 메시지를 두 번째 메시지에 "마스크"했습니다. 다시 부팅 한 후 ( use_lvmetad=0
)로 " 모든 물리적 볼륨을 읽는 중입니다. 시간이 걸릴 수 있습니다 ... "(여러 번 반복 될 수 있음 )와 " ALERT! / dev / disk / by-uuid /."가 표시되었습니다. 존재하지 않습니다. ". ( update-initramfs
누락 된 파티션에 대해서도 불평했습니다.)
[2] 유형이 내용 분석에서 차감되고 궁극적으로 플래그 / 바이트로 지정되지 않기 때문에 (예를 들어을 사용하여 GPT 파일 시스템 유형을 변경하는 쉬운 방법이없는 이유 [g]parted
)