[wue] add experimental option to replace Windows bootloaders with the 24H2 _EX versions

* This aims at creating installation media that is compatible with systems where
  'Microsoft Windows Production PCA 2011' has been revoked.
* Doesn't work, since the bootloaders being applied by the first stage installer come
  from \sources\install.wim[#]\windows\system32\Recovery\Winre.wim[#]\Windows\Boot\
  (instead of \sources\boot.wim[#]\Windows\Boot\ as one would naturally expect) and
  Microsoft botched the ones they included there by using completely vulnerable (and
  therefore revoked) ones.
  See https://github.com/pbatard/rufus/issues/2244#issuecomment-2400380839.
* Still, I sure haven't gone through this excruciating ACL bullshit for nothing, so
  you get an experimental option, behind the expert mode curtain.
This commit is contained in:
Pete Batard 2024-10-09 00:40:15 +01:00
parent c800448c62
commit fd5c366938
No known key found for this signature in database
GPG key ID: 38E0CF5E69EDD671
9 changed files with 360 additions and 49 deletions

View file

@ -1586,6 +1586,10 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
StrArrayAdd(&options, lmprintf(MSG_335), TRUE);
MAP_BIT(UNATTEND_DISABLE_BITLOCKER);
if (expert_mode) {
if (!appstore_version && img_report.win_version.build >= 26100) {
StrArrayAdd(&options, lmprintf(MSG_350), TRUE);
MAP_BIT(UNATTEND_USE_MS2023_BOOTLOADERS);
}
StrArrayAdd(&options, lmprintf(MSG_346), TRUE);
MAP_BIT(UNATTEND_FORCE_S_MODE);
}
@ -1597,7 +1601,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
i = remap16(i, map, TRUE);
unattend_xml_path = CreateUnattendXml(arch, i);
// Remember the user preferences for the current session.
unattend_xml_mask &= ~(remap16(0x1ff, map, TRUE));
unattend_xml_mask &= ~(remap16(UNATTEND_FULL_MASK, map, TRUE));
unattend_xml_mask |= i;
WriteSetting32(SETTING_WUE_OPTIONS, (UNATTEND_DEFAULT_MASK << 16) | unattend_xml_mask);
}