Luks 파티션에서 누락된 부트로더 복구

Luks 파티션에서 누락된 부트로더 복구

나쁜 상황에 대한 조언이 필요합니다.

메인 PC를 사용하여 새로운 Linux ditro를 설치하고 있습니다. ISO를 사용하여 부팅한 다음 /dev/sdc외부 USB 드라이브인 배포판을 설치했습니다. 나쁜 점은 boot loader동일한 드라이브의 설치를 변경하지 않았지만 그대로 유지 /dev/sda하고 기본 OS(LUKS 암호화)를 저장했다는 사실을 설치할 때 깨닫지 못했다는 것입니다 .

분명히 그 후에는 기본 OS가 더 이상 부팅되지 않으며 GRUB에서 오류 메시지가 표시됩니다.

error: no such cryptodisk found

이제 clonezilla 백업이 있고 /dev/sda/파일 목록에 다른 파일 중에서 다음이 표시됩니다.

12/04/2022  04:59 AM                10 parts
12/03/2022  11:41 PM                38 sda-chs.sf
12/03/2022  11:41 PM         1,048,064 sda-hidden-data-after-mbr
12/03/2022  11:41 PM               512 sda-mbr
12/03/2022  11:41 PM               391 sda-pt.parted
12/03/2022  11:41 PM               338 sda-pt.parted.compact
12/03/2022  11:41 PM               267 sda-pt.sf
12/03/2022  11:41 PM       118,196,482 sda1.ext4-ptcl-img.gz.aa
12/04/2022  04:59 AM               512 sda2-ebr

이러한 백업 중 일부가 상황을 복구하는 데 도움이 되기를 바랍니다(아마도 sda-​mbr 및 sda-​hidden-data-after-mbr?). 하지만 이를 방지하기 위해 어떤 조치를 취하기 전에 먼저 도움을 요청하고 싶습니다. 더 많은 피해.

이 상황을 복원하는 방법을 제안할 수 있는 사람이 있습니까?

매우 감사합니다! !

답변1

UEFI 또는 BIOS 설치. MBR이 있고 아마도 MBR 다음 섹터에 있는 grub의 core.img가 있기 때문에 BIOS와 더 비슷해 보입니다. 요즘 대부분의 시스템은 UEFI이며 gpt 파티션을 선호합니다.

외장 드라이브를 연결하면 부팅되나요? 암호화된 설치를 보려면 업데이트하세요.

sudo apt-get update && sudo apt-get install lvm2 cryptsetup
sudo modprobe dm-crypt
sudo cryptsetup luksOpen /dev/sdXY my-crypt
sudo os-prober
sudo update-grub

그런 다음 외부 드라이브의 grub을 외부 드라이브의 MBR에 설치하십시오. 그리고 암호화된 설치에서 sda에 grub을 설치하십시오. 따라서 내부 드라이브가 정상적으로 부팅됩니다.

그리고 grub의 버전은 무엇입니까? 현재 GRUB(v2.06)에서는 GRUB_ENABLE_CRYPTODISK=y 키를 사용하여 LUKS로 암호화된 /boot 파티션(LVM 내의 파티션도 포함)에서 Linux를 부팅하고 적절한 LUKS 또는 LUKS2 모듈을 로드할 수 있습니다.

그렇지 않으면 라이브 설치 프로그램을 사용할 수 있습니다.

https://askubuntu.com/questions/63594/mount-encrypted-volumes-from-command-line

http://askubuntu.com/questions/719409/how-to-reinstall-grub-from-a-liveusb-if-the-partition-is-encrypted-and-there-i?rq=1

답변2

좋습니다. 다음 명령을 사용하여 문제를 해결할 수 있었습니다.

sudo -i
apt-get update
apt-get install cryptsetup lvm2
fdisk -l
cryptsetup luksOpen /dev/sda? TAG           
vgchange -ay
vgscan
vgchange -ay [VOLUME GROUP NAME]           # From the above command
lvscan
mount /dev/[VOLUME GROUP NAME]/[LOGICAL VOLUME NAME] /mnt          # LOGICAL VOLUME NAME from above command

cd /mnt
mount /dev/sda1 /mnt/boot
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done

chroot /mnt

grub-install /dev/sda
update-grub

for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo umount /mnt$i; done

umount /mnt
vgchange -an
cryptsetup luksClose TAG

이제 장치의 일부 난독화를 해결해야 하지만 시스템을 부팅할 수 있습니다.

도움을 주신 @oldfred에게 많은 감사를 드립니다.

관련 정보