在一次愚蠢的测试尝试中,我在 Dell XPS13 上的 UEFI 和 Legacy 之间切换,我在加密的 SSD 上运行 Debian Bullseye。
到目前为止,我已经根据这里最有用的类似问题尝试了几件事,但我无法恢复启动选项“debian”。从这里我收集了下面大部分使用过的选项,它们有点类似于本教程。
# decrypt drive
sudo cryptsetup luksOpen /dev/nvme0n1p3 mydisk
# mount
sudo mount /dev/mapper/ALF--vg-root /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/nvme0n1
update-grub
exit
before的输出efibootmgr -v
(见下文)仅更改为BootOrder: 0003,0007
,但在重新启动时显然以某种方式重置(我已经尝试过几次)?
BootCurrent: 0007
Timeout: 0 seconds
BootOrder: 0007
Boot0000* Windows Boot Manager HD(2,GPT,13a9ec87-8ccb-4b03-9a6a-82ef130b8028,0x109000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...o................
Boot0003* debian HD(1,GPT,d68c44b3-646d-4e6d-9c3f-16b2ff1fd834,0x800,0x100000)/File(\EFI\debian\shimx64.efi)
Boot0007* UEFI: SanDisk U3 Cruzer Micro 8.02, Partition 1 PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/HD(1,MBR,0x3b632446,0x800,0xb057ee)..BO
我现在不知道这是否有帮助,但是有几个 efi 文件,由于某种原因有 2 个嵌套的大写EFI
目录:
kubuntu@kubuntu:~$ ls /mnt/boot/efi/EFI
Dell EFI debian
kubuntu@kubuntu:~$ ls /mnt/boot/efi/EFI/debian/
BOOTX64.CSV fbx64.efi grub.cfg grubx64.efi mmx64.efi shimx64.efi
我愿意接受任何提示和建议。
答案1
长话短说:使用引导修复 USB 修复此问题并在 initramfs 中安装根卷以更正设备名称。
我最终尝试了启动修复(否则我会重新安装所有内容)。由于缺少发布文件,我无法将存储库添加到 Kubuntu 或 Debian Live USB,但在启动修复 Live USB 的帮助下,我最终能够启动initramfs
并必须解密该卷。
cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt
# lvm vgchange -ay
exit
公平地说,我不确定注释的命令是否必要,但我还是这么做了。我必须确保该术语与UUID 前面nvme0n1p3_crypt
的第一个单词相同。/etc/crypttab
在退出命令之后,我的系统将启动(可能会出现另一个密码请求)。成功启动后我必须运行
update-initramfs -k all -c
当它起作用而没有抱怨丢失(就我而言)时,nvme0n1p3_crypt
我能够像往常一样重新启动。否则该术语nvme0n1p3_crypt
与 中的术语不匹配/etc/crypttab
。
然而,我真的不太明白发生了什么,但我很高兴它成功了,这可能会帮助其他人。