grub-devel
[Top][All Lists]
Advanced

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

AW: Grub2 EFI: compatibility with wimboot


From: jame88fane
Subject: AW: Grub2 EFI: compatibility with wimboot
Date: Thu, 21 Jun 2018 18:34:41 +0200

Hello,
the problem is that with this method you can only load a wim file.
I have several windows ISOs that should boot separately.
Of course it would be really nice if you could load wimboot EFI with
parameters directly via grub2 EFI.

So with menutrys

P.S.
The combination of shim, grub2 EFI and wimboot EFI with the command:
chainloader /wimboot rawbcd rawwim
leads to an error: "Could not install security protocol: (0x2) Invalid
Parameter".


Jame

-----Ursprüngliche Nachricht-----
Von: Daniel Kiper <address@hidden> 
Gesendet: Donnerstag, 21. Juni 2018 16:39
An: address@hidden
Cc: 'Daniel Kiper' <address@hidden>; address@hidden
Betreff: Re: Grub2 EFI: compatibility with wimboot

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]