나는 여기서 약간의 얽매임에 빠졌습니다.
얼마 전에 저는 Xen에서 암호화된 Ubuntu 13.04를 설정했습니다. 가상 디스크는 LVM LV입니다.
설치하는 동안 이 LV는 (전체) 물리적 디스크로 DomU에 제공되며 Ubuntu 설치 프로그램이 암호화된 루트 및 스왑 영역(LVM 사용)을 설정하도록 했습니다.
그런데 루트 비밀번호를 적어 두는 것을 잊어버렸습니다. 아니면 제가 잘못 썼네요. 얼마 전 정전이 발생한 후 루트로 시스템에 다시 들어갈 수 없었습니다.
그런데 DomU:s LVM 파티션의 비밀번호가 있어서 DomU가 올라갑니다. 로그인이 안 돼요. init=/bin/bash
초기화가 암호화된 파티션의 잠금을 해제해야 하기 때문에 부팅이 작동하지 않습니다.
또한 "cryptsetup luksOpen"이 LVM LV의 오프셋을 허용하지 않기 때문에 Dom0에서 LVM LV가 포함된 파티션을 여는 방법도 모르겠습니다.
LV - 파티션 - (LVM) - LV에 들어가서 루트 비밀번호를 재설정하는 방법을 아는 사람이 있습니까?
답변1
저는 Xen에 대해 잘 알지 못합니다. KVM을 사용하면 복구 CD나 Live CD에서 VM을 부팅하고 거기에서 chroot를 수행하기만 하면 됩니다. 실제 데스크톱에서 이 문제가 발생한 경우와 마찬가지입니다.
필요한 것이 오프셋뿐이라면 일반적으로 losetup
이것을 사용할 수 있습니다. 또는 더 구체적으로 파티션 테이블의 오프셋을 사용하거나 partx
를 사용할 수 있습니다 kpartx
.
파티션 LV가 있는 경우 다음을 사용하여 오프셋을 얻을 수 있습니다 parted
.
parted /dev/mapper/lvm-vmfoobar unit b print
다음과 같이 파티션 오프셋을 바이트 단위로 인쇄합니다.
Number Start End Size Type File system Flags
1 1048576B 2148532223B 2147483648B primary fat32 lba
2 2149580800B 3223322623B 1073741824B primary ext2 boot
3 3224371200B 13961789439B 10737418240B primary ext2
따라서 예를 들어 오프셋을 사용하여 파티션 3에 더 직접적으로 액세스하고 싶다고 가정하면 3224371200
다음과 같이 할 수 있습니다.losetup
# losetup -f --show -o 3224371200 --sizelimit 10737418240 /dev/mapper/lvm-foobar
/dev/loop0
(크기 제한은 선택 사항입니다. 보안상의 이유로 파티션 끝을 지나서 쓸 수는 없습니다.)
그리고 그것이 맞는지 확인
file -s /dev/loop0
/dev/loop0: Linux rev 1.0 ext2 filesystem data, UUID...
partx
또는 또는 이 있는 경우 kpartx
간단한
partx -a /dev/mapper/lvm-foobar
/dev/mapper/lvm-foobarp1
제대로 작동하면 유사하거나 유사한 매핑된 파티션 ( kpartx
다른 이름이 있을 수 있음 ) 을 찾을 수 있습니다 partx
.
cryptsetup luksOpen
그런 다음 해당 매핑된 장치( , , ...) 를 사용할 수 있으므로 결국에는 VM의 루트 파일 시스템 과 새 루트 비밀번호를 vgchange
마운트할 수 있게 됩니다 .chroot
passwd