1

My device:

Thinkpad X1 Carbon and with Windows 11 x64 home edition on it.

I am trying to install Fedora workstation 38 x86_64 with dual boot.

What I did:

In the fedora installation process, I mount efi partition at /boot/efi.

Now, in windows, I can see files in efi partition after mounting it with 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

The problem

Before I install fedora, when I press F12 during machine startup. I UEFI menu looks like below:

SamSung xxxxxx - my ssd name

I can boot windows normally by choosing the entry.

After I install fedora, my F12 UEFI menu looks like below:

fedora
SamSung xxxxxx - my ssd name

And I choose the my ssd name I got something like reset system with blue screen and gives nothing but rebooting system.

I chose fedora entry, I can go into grub menu. And there is windows boot manager in grub menu which can boot windows normally.

Expection

Since UEFI is independent of operating systems. How to dual boot the multple OSs with F12 boot menu in one disk.

I search many articles. Some articles say that multiple disks with multiple efi partitions. That will show multiple entry in F12 boot menu.

The other say that bootx64.efi is the only entry of booting process. Windows will copy /EFI/Microsoft/Boot/bootmgr.efi to bootx64.efi, while linux will copy /EFI/fedora/shimx64.efi to bootx64.efi. The former might boot other system as: bootx64.efi -> bootmgr.efi -> BCD -> shimx64.efi. The latter might boot other system as: bootx64.efi -> shimx64.efi -> grub -> bootmgr.efi.

Is it possible dual boot multiple system directly by bootx64.efi? How to dual boot with F12 looks like below:

fedora
windows

Do I need edit bootx64.efi manully? Any helpful tools? If so, What bout secure boot? re-sign bootx64.efi?

Awsome reading efi-boot-bootx64-efi-vs-efi-ubuntu-grubx64-efi-vs-boot-grub-x86-64-efi-gru

Nick Dong
  • 105
  • 7
  • You should have both a Windows entry & a Fedora entry. The bootx64.efi is a drive/fallback entry not normally used. If you system is using that to boot Windows, and grub changed it to grub or shim, and Windows is hibernated or has fast start up on, then it will fail. Can you add a Windows UEFI boot entry. Post this: `sudo efibootmgr -v`. https://superuser.com/questions/1662123/how-does-uefi-decide-whoch-efi-file-to-boot-into See IV & restore Windows efi entry: https://askubuntu.com/questions/486752/dual-boot-win-8-ubuntu-loads-only-win – oldfred May 09 '23 at 14:12
  • It could be an answer. I added a windows uefi entry by using efibootmgr. It shows in `F12` boot menu. – Nick Dong May 13 '23 at 18:35
  • You can check if bootx64.efi is same size as shimx64.efi or Windows bootmgfw.efi and then make it be whichever you prefer just by copying it. – oldfred May 13 '23 at 20:33
  • The size of bootx64.efi is same as shimx64.efi. `-rwx------. 1 root root 2026368 May 10 05:56 Microsoft/Boot/bootmgfw.efi`, `-rwx------. 1 root root 946712 Jul 7 2022 fedora/shimx64.efi`, `-rwx------. 1 root root 946712 Jul 7 2022 Boot/bootx64.efi`. – Nick Dong May 19 '23 at 03:14
  • I've already added the boot entry to `F12` Menu, which resolved my problem, by using `efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1`, according to your reference https://askubuntu.com/questions/486752/dual-boot-win-8-ubuntu-loads-only-win – Nick Dong May 19 '23 at 03:16

0 Answers0