What | Removed | Added |
---|---|---|
CC | rw@suse.com |
OK, I found bootmgfw.efi, and it confirms it. The problem is in grub2-efi-chainload-harder.patch that adds check for valid PE32+ header; but this check is wrong. if (grub_memcmp (pe32->signature, "PE\0\0", 4) != 0 pe32 header is not located at fixed address. pe32 is of type grub_pe32_header and expects header at offset 0x80; but botomgfw.efi has header at offset 0xe0. See PE COFF specification. Code should fetch header address at fixed offset 0x3b. Cc patch author.