Debian

在 UEFI 和 Legacy 之間切換後失去引導選項“debian”

  • November 14, 2021

在一次愚蠢的嘗試中,我在戴爾 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

之前的輸出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

我願意接受任何提示和建議。

**tl;dr:**使用引導修復 USB 修復它並在 initramfs 中安裝根卷以更正設備名稱。

我最終嘗試了引導修復(否則我將重新安裝所有內容)。由於缺少發布文件,我無法將 repo 添加到 Kubuntu 或 Debian Live USB,但在 Boot-Repair 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

但是,我真的不太了解發生了什麼,但我很高興它成功了,這可能對其他人有所幫助。

引用自:https://unix.stackexchange.com/questions/677381