Skip to content

add support for booting windows pe and load the associated image drivers - #104

Merged
garybowers merged 4 commits into
garybowers:mainfrom
rgl:rgl-support-windows-pe-boot
Aug 3, 2026
Merged

add support for booting windows pe and load the associated image drivers#104
garybowers merged 4 commits into
garybowers:mainfrom
rgl:rgl-support-windows-pe-boot

Conversation

@rgl

@rgl rgl commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

this adds support for booting windows pe (tested with rgl/windows-pe-vagrant/).

you must also configure the image boot parameters to, including a initial blank line:


initrd {{BASE_URL}}/boot/{{CACHE_DIR}}/iso/Boot/BCD bcd
initrd {{BASE_URL}}/boot/{{CACHE_DIR}}/iso/Boot/boot.sdi boot.sdi

the boot menu entry (as returned by, e.g., curl http://localhost:8080/menu.ipxe) should look something like:

:iso17
echo Booting windows-pe-amd64...
echo Loading kernel and initrd...
echo Loading Windows boot files via wimboot...
kernel http://192.168.8.11:8080/wimboot 
initrd http://192.168.8.11:8080/boot/windows-pe-amd64/iso/Boot/BCD bcd
initrd http://192.168.8.11:8080/boot/windows-pe-amd64/iso/Boot/boot.sdi boot.sdi
initrd http://192.168.8.11:8080/boot/windows-pe-amd64/iso/sources/boot.wim boot.wim || initrd http://192.168.8.11:8080/boot/windows-pe-amd64/iso/SOURCES/BOOT.WIM boot.wim
boot || goto failed
goto start

PS I've also added the --windows-smb-port parameter value into the startnet.cmd:

$ docker exec bootimus wimextract /data/isos/windows-pe-amd64/iso/sources/boot.wim 1 /Windows/System32/startnet.cmd --to-stdout
...
net use Z: \\192.168.8.11\windows-pe-amd64 /persistent:no /tcpport:1445 >nul 2>&1
...

Setting the smb port is supported in windows since late 2024, which works on windows 11 24H2 (or later) or windows server 2025 (or later).

See https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-ports?tabs=command-line

PPS I've also added support for loading the associated image drivers (fixes #101). This will use PnPUnattend to detect and load the drivers in windows pe. Then use setup /installdrivers x:\drivers to load the drivers in the installed windows.

you must also configure the image boot parameters to, including a initial blank line:

initrd {{BASE_URL}}/boot/{{CACHE_DIR}}/iso/Boot/BCD bcd
initrd {{BASE_URL}}/boot/{{CACHE_DIR}}/iso/Boot/boot.sdi boot.sdi
@rgl
rgl marked this pull request as draft July 28, 2026 15:36
rgl added 3 commits July 28, 2026 21:22
…b share

NB to use a non-default port, windows 11 24H2 (or later) or windows server 2025 (or later) is required.
@rgl
rgl force-pushed the rgl-support-windows-pe-boot branch from ffdf960 to 09d57d0 Compare July 28, 2026 21:35
@rgl rgl changed the title add support for booting windows pe add support for booting windows pe and load the associated image drivers Jul 28, 2026
@rgl
rgl marked this pull request as ready for review July 28, 2026 21:41

@garybowers garybowers left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me.

@garybowers
garybowers merged commit b9a9637 into garybowers:main Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

windows drivers do not seem to be automatically loaded

2 participants