다른 LVM이 포함된 가상 DomU LVM 디스크에서 Luks 암호화 파티션을 엽니다.

다른 LVM이 포함된 가상 DomU LVM 디스크에서 Luks 암호화 파티션을 엽니다.

나는 여기서 약간의 얽매임에 빠졌습니다.

얼마 전에 저는 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마운트할 수 있게 됩니다 .chrootpasswd

관련 정보