grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Grub2 EFI: compatibility with wimboot


From: Daniel Kiper
Subject: Re: Grub2 EFI: compatibility with wimboot
Date: Thu, 21 Jun 2018 16:39:17 +0200
User-agent: Mutt/1.3.28i

On Wed, Jun 20, 2018 at 05:27:23PM +0200, address@hidden wrote:
> No it is windows UEFI 64bit on a UEFI 64bit platform

Great!

> it doesn't matter anyway because even if I try to boot only Wimboot EFI from
> Grub2 EFI without parameters I also get a blackscreen.
>
> I mean:
>
> menuentry "Windows 7" {
> linux /boot/wimboot/wimboot
>  }
>
> I can't get linux16 to work in EFI, can I?

As I can see this command is enabled on UEFI x64 platforms. However,
there is a pretty good chance that it does not work and probably it
should be disabled in the future on UEFI compatible platforms. Anyway,
I have managed to boot Windows using wimboot with chainloader. It
required some experiments and wimboot code reading.

First of all you have to have an EFI System Partition (ESP) on a disk
(probably other FAT formated partitions will work too; however, I have
not tested that). Then you have to copy wimboot, bcd, boot.sdi and
boot.wim to the ESP root directory. Please use UEFI x64 binaries. After
that boot GRUB and execute following commands from its command line:

  set root=(hd0,1) # This have to be an ESP.
  chainloader /wimboot rawbcd rawwim
  boot

By the way, wimboot command line processing is very crude. It is sad
that it does not accept paths to required files. I hope that it will
be fixed at some point.

There is also another option. Copy follwing files to an ESP:
  - /amd64/efi/boot/bootx64.efi -> ESP:/efi/microsoft/boot/bootx64.efi
    (do not use /amd64/bootmgr.efi; it is designated for ISO images;
    it will not work; additionally, destination does no matter in this
    case; directory and file name can be arbitrary one),
  - /amd64/boot/boot.sdi -> ESP:/boot/boot.sdi
  - /amd64/efi/microsoft/boot/bcd -> ESP:/efi/microsoft/boot/bcd
  - /amd64/winpe.wim -> ESP:/sources/boot.wim

After that boot GRUB and execute follwing commands from its
command line:

  set root=(hd0,1) # This have to be an ESP.
  chainloader /efi/microsoft/boot/bootx64.efi
  boot

You are done! Have a fun!

WRT GRUB linux command. I think that there is a bug or lack of support
in GRUB and/or wimboot for something. Probably this is small thing.
Sadly I do not have time to investigate it further. If somebody would
like to take a look at the issue and prepare the patches then I am happy
to review them.

FYI, I have tested that with GRUB upstream.

By the way, I think that it is worth putting this doc at iPXE webpage
and/or GRUB doc. Any volunteers?

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]