docker-netboot/config/menus/windows.ipxe

65 lines
2.0 KiB
Plaintext

#!ipxe
# Microsoft Windows
# https://www.microsoft.com
set win_arch x64
set win_size small
goto ${menu} ||
:windows
set os Microsoft Windows
clear win_version
menu ${os}
item --gap Installers
item win_install ${space} Load ${os} Installer...
item --gap Options:
item arch_set ${space} Architecture [ ${win_arch} ]
imtem size_set ${space} Preinstalled software package [ ${win_size} ]
item url_set ${space} Base URL [ ${win_base_url} ]
choose win_version || goto windows_exit
goto ${win_version}
:arch_set
iseq ${win_arch} x64 && set win_arch x86 || set win_arch x64
goto windows
:size_set
iseq ${win_size} small && set win_size large || set win_size small
:url_set
echo Set the HTTP URL of an extracted Windows ISO without the trailing slash:
echo e.g. http://www.mydomain.com/windows
echo
echo -n URL: ${} && read win_base_url
echo
echo netboot.xyz will attempt to load the following files:
echo ${win_base_url}/${win_arch}/bootmgr
echo ${win_base_url}/${win_arch}/bootmgr.efi
echo ${win_base_url}/${win_arch}/boot/bcd
echo ${win_base_url}/${win_arch}/boot/boot.sdi
echo ${win_base_url}/${win_arch}/sources/boot.wim
echo
prompt Press any key to return to Windows Menu...
goto windows
:win_install
isset ${win_base_url} && goto boot || echo URL not set... && goto url_set
:boot
imgfree
kernel http://${boot_domain}/wimboot
initrd ${win_base_url}/configs/auto_${win_size}.bat auto.bat
initrd ${win_base_url}/configs/winpeshl.ini winpeshl.ini
initrd -n bootmgr ${win_base_url}/${win_arch}/bootmgr bootmgr ||
initrd -n bootmgr.efi ${win_base_url}/${win_arch}/bootmgr.efi bootmgr.efi ||
initrd -n bcd ${win_base_url}/${win_arch}/boot/bcd bcd ||
initrd -n bcd ${win_base_url}/${win_arch}/Boot/BCD bcd ||
initrd -n boot.sdi ${win_base_url}/${win_arch}/boot/boot.sdi boot.sdi ||
initrd -n boot.sdi ${win_base_url}/${win_arch}/Boot/boot.sdi boot.sdi ||
initrd -n boot.wim ${win_base_url}/${win_arch}/sources/boot.wim boot.wim
boot
:windows_exit
exit 0