Closed rradjab closed 1 year ago
It‘s a bug introduced in wimboot v2.7.5. See: https://github.com/ipxe/wimboot/discussions/40 Applying this patch and compiling, the problem should be fixed: wimboot.patch
diff --git a/grub-core/map/lib/wim.c b/grub-core/map/lib/wim.c
index b61be90..ead6f91 100644
--- a/grub-core/map/lib/wim.c
+++ b/grub-core/map/lib/wim.c
@@ -296,7 +296,8 @@ int wim_count ( struct vfat_file *file, struct wim_header *header,
int rc;
/* Count metadata entries */
- for ( offset = 0 ; ( offset + sizeof ( entry ) ) <= header->lookup.len ;
+ for ( offset = 0, *count = 0 ;
+ ( offset + sizeof ( entry ) ) <= header->lookup.len ;
offset += sizeof ( entry ) ) {
/* Read entry */
diff --git a/grub-core/map/lib/wimpatch.c b/grub-core/map/lib/wimpatch.c
index eb64840..cfd9528 100644
--- a/grub-core/map/lib/wimpatch.c
+++ b/grub-core/map/lib/wimpatch.c
@@ -688,6 +688,10 @@ static int wim_construct_patch ( struct vfat_file *file,
&patch->boot ) ) != 0 )
return rc;
+ /* Update boot image metadata in patched header, if applicable */
+ if ( boot_index )
+ memcpy ( boot, &patch->boot, sizeof ( *boot ) );
+
/* Record original boot index */
patch->boot_index = patch->header.boot_index;
As I am no longer maintaining this project, I will not update it to fix this bug.
thank you for quick answer and help! can you please help to get wimboot.mod for UEFI for x86_64-efi and i386-efi please?
thank you for quick answer and help! can you please help to get wimboot.mod for UEFI for x86_64-efi and i386-efi please?
thank you very much, you are genius! i've tested and it already working!!!
Wimboot.mod in UEFI mode loads only first image in wim file when index is not equals to 1. wimboot.xz used from grub2fm :) Example code:
loopback -d loop loopback loop (hd0,1)/winpe10.iso wimboot --index=2 --testmode=no \ @:bootmgfw.efi:(memdisk)/bootmgfw.efi \ @:boot.wim:"(loop)/sources/boot.wim"; boot
please help.