windows.ipxe.j2 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!ipxe
  2. # Microsoft Windows
  3. # https://www.microsoft.com
  4. set win_arch x64
  5. goto ${menu} ||
  6. :windows
  7. set os Microsoft Windows
  8. clear win_version
  9. menu ${os}
  10. item --gap Installers
  11. item win_install ${space} Load ${os} Installer...
  12. item --gap Options:
  13. item arch_set ${space} Architecture [ ${win_arch} ]
  14. item url_set ${space} Base URL [ ${win_base_url} ]
  15. choose win_version || goto windows_exit
  16. goto ${win_version}
  17. :arch_set
  18. iseq ${win_arch} x64 && set win_arch x86 || set win_arch x64
  19. goto windows
  20. :url_set
  21. echo Set the HTTP URL of an extracted Windows ISO without the trailing slash:
  22. echo e.g. http://www.mydomain.com/windows
  23. echo
  24. echo -n URL: ${} && read win_base_url
  25. echo
  26. echo netboot.xyz will attempt to load the following files:
  27. echo ${win_base_url}/${win_arch}/bootmgr
  28. echo ${win_base_url}/${win_arch}/boot/bcd
  29. echo ${win_base_url}/${win_arch}/boot/boot.sdi
  30. echo ${win_base_url}/${win_arch}/sources/boot.wim
  31. echo
  32. prompt Press any key to return to Windows Menu...
  33. goto windows
  34. :win_install
  35. isset ${win_base_url} && goto boot || echo URL not set... && goto url_set
  36. :boot
  37. kernel http://${boot_domain}/wimboot
  38. initrd ${win_base_url}/${win_arch}/bootmgr bootmgr
  39. initrd ${win_base_url}/${win_arch}/boot/bcd bcd
  40. initrd ${win_base_url}/${win_arch}/boot/boot.sdi boot.sdi
  41. initrd ${win_base_url}/${win_arch}/sources/boot.wim boot.wim
  42. md5sum wimboot
  43. iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
  44. :verify_sigs
  45. echo
  46. echo Checking wimboot signature...
  47. imgverify wimboot ${sigs}wimboot.sig || goto error
  48. :skip_sigs
  49. boot
  50. :windows_exit
  51. exit 0