重新创建 UEFI 启动项

重新创建 UEFI 启动项

我需要重新创建我的 UEFI 启动项。即 Windows10 和 LUKS 以及 Linux Mint 20。

在尝试启动我的 LUKS 加密分区时,我尝试了启动恢复,并在重新启动时启动到固件恢复,并在 20 秒后删除了所有 UEFI 条目。

我确实需要我的 Windows 分区立即工作,所以我将专注于此。我有一个装有 Mint 20 的实时 USB,我可以看到启动分区上的所有分区和 UEFI 文件都在那里。

在阅读efibootmgr,我认为我需要这么做efibootmgr -c -d /dev/sda -p 2 -l \\EFI\\Boot\\Microsoft\\???.efi -L Windows10

那是对的吗?我还没有设定启动器是 GRUB2。我也很乐意使用我的固件 UEFI 启动(我相信可以通过它进行管理efibootmgr- 请参阅文章底部)。

  • UEFI BIOS 版本:J3ET65WW (1.65) 2016-01-21
  • ME 固件版本:9.5.13.1706

我如何知道要使用哪个 .efi 文件作为加载程序?

/dev/sda2

$ tree . -L 3
.
├── EFI
│   ├── Boot
│   │   ├── bkpbootx64.efi
│   │   ├── bootx64.efi
│   │   ├── fbx64.efi
│   │   ├── grubx64.efi
│   │   └── mmx64.efi
│   ├── Microsoft
│   │   ├── Boot
│   │   └── Recovery
│   └── ubuntu
│       ├── BOOTX64.CSV
│       ├── grub.cfg
│       ├── grubx64.efi
│       ├── mmx64.efi
│       └── shimx64.efi
├── System Volume Information
└── boot-repair
    └── log
        ├── 20201014_021131
        ├── 20201014_022001
        └── 20201014_022629

EFI/启动/Microsoft/启动

$ tree EFI/Microsoft/Boot/ -L 1 | grep '.efi\|.dll\|.p7b'
├── bootmgfw.efi
├── bootmgr.efi
├── kd_02_10df.dll
├── kd_02_10ec.dll
├── kd_02_1137.dll
├── kd_02_14e4.dll
├── kd_02_15b3.dll
├── kd_02_1969.dll
├── kd_02_19a2.dll
├── kd_02_1af4.dll
├── kd_02_8086.dll
├── kd_07_1415.dll
├── kd_0C_8086.dll
├── kdnet_uart16550.dll
├── kdstub.dll
├── memtest.efi
├── winsipolicy.p7b

Linux 启动恢复操作确实安装了 GRUB 2.04,并且我的电脑启动进入了最小的类似 BASH 的终端。

grub> list_env
error: file `/boot/grub.grubenv` not found.

grub> ls
(proc) (hd0) (hd0,apple2) (hd0, apple1) (hd0,msdoc3) (hd0, msdos2) (hd1) (hd1,gpt6) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)

GParted 概述了我的 GDT 分区 SSD GParted 概述了我的 GDT 分区 SSD

$ sudo efibootmgr
BootCurrent: 000A
Timeout: 2 seconds
BootOrder: 0001,0007,0000,0003,0005,0006,0008,0009,000A,000B
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Startup Interrupt Menu
Boot0005  Rescue and Recovery
Boot0006  USB CD
Boot0007* USB FDD
Boot0008* ATA HDD0
Boot0009* ATA HDD1
Boot000A* USB HDD
Boot000B  PCI LAN
Boot000D* ubuntu

答案1

您能否启动 grub 然后链接加载 Windows efi?

在 grub 过程中,你可以按C进入 CLI(你称之为类似 BASH 的终端)。

grub> set root=(hd0,gpt2) #sets / to the Efi partition
grub> chainloader /EFI/Microsoft/Boot/bootmgfw.efi #tell which efi file to laod
grub> boot #does the magic

如果效果良好,你可以将其添加为 grub-entry。请参阅点击此处了解有关创建条目的更多信息

相关内容