如何使用 bootx64.efi 进行双重启动

如何使用 bootx64.efi 进行双重启动

我的设备:

Thinkpad X1 Carbon 搭载 Windows 11 x64 家庭版。

我正在尝试安装带有双引导的 Fedora 工作站 38 x86_64。

我做了什么:

在fedora安装过程中,我挂载了efi分区/boot/efi

现在,在 Windows 中,我可以在安装后看到 efi 分区中的文件mountvol B: /s

B:\
│  mach_kernel
├─EFI
│  ├─Microsoft
│  │  ├─Boot
│  │  │  │  memtest.efi
│  │  │  │  winsipolicy.p7b
│  │  │  │  boot.stl
│  │  │  │  bootmgfw.efi
│  │  │  │  bootmgr.efi
│  │  │  │  kdnet_uart16550.dll
│  │  │  │  kdstub.dll
│  │  │  │  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
│  │  │  │  BCD
│  │  │  │  kd_02_8086.dll
│  │  │  │  kd_07_1415.dll
│  │  │  │  kd_0C_8086.dll
│  │  │  │
│  │  │  ├─bg-BG
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─CIPolicies
│  │  │  │  └─Active
│  │  │  │          {5DAC656C-21AD-4A02-AB49-649917162E70}.cip
│  │  │  │          {82443e1e-8a39-4b4a-96a8-f40ddc00b9f3}.cip
│  │  │  │          {CDD5CB55-DB68-4D71-AA38-3DF2B6473A52}.cip
│  │  │  │
│  │  │  ├─cs-CZ
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─da-DK
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─de-DE
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─el-GR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─en-GB
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─en-US
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─es-ES
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─es-MX
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─et-EE
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─fi-FI
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─fr-CA
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─fr-FR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─hr-HR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─hu-HU
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─it-IT
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─ja-JP
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─ko-KR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─lt-LT
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─lv-LV
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─nb-NO
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─nl-NL
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─pl-PL
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─pt-BR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─pt-PT
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─qps-ploc
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─ro-RO
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─ru-RU
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─sk-SK
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─sl-SI
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─sr-Latn-RS
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─sv-SE
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─tr-TR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─uk-UA
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─zh-CN
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─zh-TW
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─Fonts
│  │  │  │      segmono_boot.ttf
│  │  │  │      segoen_slboot.ttf
│  │  │  │      segoe_slboot.ttf
│  │  │  │      chs_boot.ttf
│  │  │  │      cht_boot.ttf
│  │  │  │      jpn_boot.ttf
│  │  │  │      kor_boot.ttf
│  │  │  │      malgunn_boot.ttf
│  │  │  │      malgun_boot.ttf
│  │  │  │      meiryon_boot.ttf
│  │  │  │      meiryo_boot.ttf
│  │  │  │      msjhn_boot.ttf
│  │  │  │      msjh_boot.ttf
│  │  │  │      msyhn_boot.ttf
│  │  │  │      msyh_boot.ttf
│  │  │  │      wgl4_boot.ttf
│  │  │  │
│  │  │  └─Resources
│  │  │      │  bootres.dll
│  │  │      │
│  │  │      ├─en-US
│  │  │      │      bootres.dll.mui
│  │  │      │
│  │  │      └─zh-CN
│  │  │              bootres.dll.mui
│  │  │
│  │  └─Recovery
│  │          BCD
│  │
│  ├─Boot
│  │      BOOTIA32.EFI
│  │      fbia32.efi
│  │      fbx64.efi
│  │      LenovoBT.EFI
│  │      License.txt
│  │      ReadMe.txt
│  │      bootx64.efi
│  │
│  └─fedora
│          grub.cfg
│          BOOTIA32.CSV
│          BOOTX64.CSV
│          gcdia32.efi
│          gcdx64.efi
│          grubia32.efi
│          grubx64.efi
│          mmia32.efi
│          mmx64.efi
│          shim.efi
│          shimia32.efi
│          shimx64.efi
├─BOOT
│      BOOT.SDI
└─System
    └─Library
        └─CoreServices
                SystemVersion.plist

问题

在我安装 fedora 之前,当我F12在机器启动过程中按下 时。我的 UEFI 菜单如下所示:

SamSung xxxxxx - my ssd name

我可以通过选择该条目正常启动Windows。

安装 Fedora 后,我的F12UEFI 菜单如下所示:

fedora
SamSung xxxxxx - my ssd name

我选择了我的SSD名称,我得到了类似reset system蓝屏的信息,除了重新启动系统之外什么也没有给出。

我选择了fedoraentry,就可以进入grub菜单了。而且grub菜单里有windows boot manager可以正常启动windows的。

期望

由于 UEFI 独立于操作系统。如何通过F12一张磁盘中的启动菜单双重启动多个操作系统。

我搜索了很多文章。有的文章说多个磁盘有多个efi分区。这将在F12启动菜单中显示多个条目。

另一个说这bootx64.efi是启动过程的唯一入口。 Windows 将复制/EFI/Microsoft/Boot/bootmgr.efi到 bootx64.efi,而 Linux 将复制/EFI/fedora/shimx64.efibootx64.efi.前者可能会引导其他系统为:bootx64.efi -> bootmgr.efi -> BCD -> shimx64.efi。后者可能会引导其他系统为:bootx64.efi -> shimx64.efi -> grub -> bootmgr.efi。

是否可以直接双启动多系统bootx64.efi?如何双启动F12如下所示:

fedora
windows

需要bootx64.efi手动编辑吗?有什么有用的工具吗?如果是这样,安全启动怎么样?辞职bootx64.efi

读得真棒efi-boot-bootx64-efi-vs-efi-ubuntu-grubx64-efi-vs-boot-grub-x86-64-efi-gru

相关内容