5

Currently, I have the following boot chain in legacy (MBR) mode:

GRUB2 -> Linux -> kexec to Grub4Dos -> Windows.

I'm trying to figure out if this is also possible in UEFI-mode, i.e. starting the windows EFI loader from Linux-EFI.

The problem might be that Linux will call ExitBootServices() and after this, there is no way to start another EFI-loader.

Does anyone know how to accomplish this?

Thanks.

Kindle Q
  • 944
  • 2
  • 19
  • 28
neusdan
  • 51
  • 2
  • By "windows efi loader", you probably want to write "windows boot manager" (bootmgr.efi). Nice question. – AntoineL Mar 05 '15 at 18:30

2 Answers2

0

There are 2 possibilities I can see:

  1. If you in UEFI you can load image (windows boot manager) and start/execute the image. That will boot Windows.

  2. For the second approach it is required an answer to a question: How does your linux-efi app starts/boots? If you add your application to UEFI boot manager as the first app to boot then make sure that the windows is the second one in the UEFI boot order variable. Then when your application exits UEFI will proceed to the next available boot option which is supposed to be Windows.

Alex D
  • 942
  • 1
  • 6
  • 17
0

Many Linux distribution use Shim, Preloader (by the Linux Foundation) or systemd-boot (formerly gummiboot) to bypass secureboot and load grub2. Grub2 is capable of chainloading any other (signed) efi-loader.