我需要重新创建我的 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
$ 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。请参阅点击此处了解有关创建条目的更多信息。