我需要关于糟糕情况的建议。
我正在使用我的主 PC 安装一个新的 linux ditro。我使用 ISO 启动,然后在 上安装了发行版/dev/sdc
,这是一个外部 USB 驱动器。不好的是,我在安装时没有意识到,我没有更改boot loader
同一驱动器上的安装,但我保留了/dev/sda
,它保存了我的主操作系统(LUKS 加密)。
显然,在此之后,主操作系统不再启动,并且我看到 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 安装。看起来更像 BIOS,因为你有 MBR,也许还有 grub 的 core.img,它位于 MBR 之后的扇区中。现在大多数系统都是 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。并从加密安装将 grub 安装到 sda。所以内部驱动器可以正常启动。
还有grub是什么版本的?如今,GRUB (v2.06) 允许使用 GRUB_ENABLE_CRYPTODISK=y 键并加载相应的 LUKS 或 LUKS2 模块,从 LUKS 加密的 /boot 分区(甚至是 LVM 内的分区)引导 Linux。
否则,您可以使用实时安装程序。
https://askubuntu.com/questions/63594/mount-encrypted-volumes-from-command-line
答案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的帮助