iVentoys unconventional hooking process renders PhoenixPE and other custom WinPE unable to boot.
The issue comes down to the jump/rejump process. iVentoy replaces the PhoenixPE loader (Autoit3.exe) with its own shim and moves Autoit3.exe into X:\Windows\System32\ventoy. When the shim finishes looking for injection/autoinstall/etc the shim then executes the setup/loader from HKLM\Setup > Cmdline from the X:\Windows\System32\ventory directory instead of the original directory X:\Windows\System32\. This can not be tolerated. The PhoenixPE loader (and other WinPE loaders) depend on being in the System32 directory and when they are launched from System32\ventory they are unable to find critical resources, scripts, etc they expect to be present in the same location as the setup executable. this renders the shell/loader unable to complete the boot process.
A similar issue with the hooking exists in ventoy, however since PhoenixPE is "Ventoy Compatible" we can bypass the issue. I don't see a similar bypass available for iVentoy.
Typical use case for PhoenixPE and other recovery environments booted over PXE is to have the entire OS contained to boot.wim so the image runs entirely from RAM. No disk mounting, process injection, or additional autoinstall needed since its already a custom environment. A bypass would be nice.
Regardless, iVentoy must never modify the setup programs working directory, path, environment, etc.
Thank you for your attention to this matter.
Homes32
iVentoys unconventional hooking process renders PhoenixPE and other custom WinPE unable to boot.
The issue comes down to the jump/rejump process. iVentoy replaces the PhoenixPE loader (Autoit3.exe) with its own shim and moves Autoit3.exe into
X:\Windows\System32\ventoy. When the shim finishes looking for injection/autoinstall/etc the shim then executes the setup/loader fromHKLM\Setup > Cmdlinefrom theX:\Windows\System32\ventorydirectory instead of the original directoryX:\Windows\System32\. This can not be tolerated. The PhoenixPE loader (and other WinPE loaders) depend on being in the System32 directory and when they are launched from System32\ventory they are unable to find critical resources, scripts, etc they expect to be present in the same location as the setup executable. this renders the shell/loader unable to complete the boot process.A similar issue with the hooking exists in ventoy, however since PhoenixPE is "Ventoy Compatible" we can bypass the issue. I don't see a similar bypass available for iVentoy.
Typical use case for PhoenixPE and other recovery environments booted over PXE is to have the entire OS contained to boot.wim so the image runs entirely from RAM. No disk mounting, process injection, or additional autoinstall needed since its already a custom environment. A bypass would be nice.
Regardless, iVentoy must never modify the setup programs working directory, path, environment, etc.
Thank you for your attention to this matter.
Homes32