
Had take me some time to notice that I was using your trimmed down boot.sdi all the time

Thanks a lot for making this possible.
BTW: interesting that every time, the boot index is changed via imagex, the image is growing ~270 KB.
Moderators: continuum, joakim, JFX
WIM Header
typedef struct _WIMHEADER_V1_PACKED
{
CHAR ImageTag[8]; // "MSWIM\0\0"
DWORD cbSize;
DWORD dwVersion;
DWORD dwFlags;
DWORD dwCompressionSize;
GUID gWIMGuid;
USHORT usPartNumber;
USHORT usTotalParts;
DWORD dwImageCount;
RESHDR_DISK_SHORT rhOffsetTable;
RESHDR_DISK_SHORT rhXmlData;
RESHDR_DISK_SHORT rhBootMetadata;
DWORD dwBootIndex;
RESHDR_DISK_SHORT rhIntegrity;
BYTE bUnused[60];
}
WIMHEADER_V1_PACKED, *LPWIMHEADER_V1_PACKED;
write --offset=0x653D3 (rd)+1 \xB0\x04
write --offset=0x653F4 (rd)+1 \x00\x57
write --offset=0x65402 (rd)+1 \x00\x57
write --offset=0x65410 (rd)+1 \x00\x57
write --offset=0x6541E (rd)+1 \x00\x57
title Boot a normal boot.wim without header patching
map --mem /wimpatched (rd)
write --offset=0x19FE6 (rd)+1 \x89\x45\x10\x85\xC0
chainloader (rd)+1
root ()
write --offset=0x653D3 (rd)+1 \xD0\x0A
write --offset=0x653F4 (rd)+1 \x20\x5D
write --offset=0x65402 (rd)+1 \x20\x5D
write --offset=0x65410 (rd)+1 \x20\x5D
write --offset=0x6541E (rd)+1 \x20\x5D
with original boot.sdi
525000+306000=82B000
location of wim header = eax+82B000
with minimal boot.sdi
525000+4B000=570000
location of wim header = eax+570000
with 696 Kb boot.sdi
52500+AE000=5D3000
location of wim header = eax+5D3000
original boot.sdi
81FE00603000 cmp esi,00306000
minimal boot.sdi
81FE00B00400 cmp esi,0004B000
696 Kb boot.sdi
81FE00E00A00 cmp esi,000AE000
original boot.sdi:
899060B08200 mov eax+0082B060,edx
minimal boot.sdi:
899060005700 mov eax+00570060,edx
696 Kb boot.sdi:
899060305D00 mov eax+005D3060,edx
write --offset=0x653D3 (rd)+1 \xE0\x0A
write --offset=0x653F4 (rd)+1 \x30\x5D
write --offset=0x65402 (rd)+1 \x30\x5D
write --offset=0x65410 (rd)+1 \x30\x5D
write --offset=0x6541E (rd)+1 \x30\x5D
Users browsing this forum: No registered users and 0 guests