Luksパーティションから欠落しているブートローダの回復

Luksパーティションから欠落しているブートローダの回復

悪い状況についてのアドバイスが必要です。

メインPCを使って新しいLinux ditroをインストールしています。 ISOを使用して起動し、/dev/sdc外部USBドライブであるディストリビューションをインストールしました。悪いことは、boot loader同じドライブのインストールを変更していませんが、そのままにしてデフォルトの/dev/sdaOS(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に感謝します。

関連情報