forked from netbootxyz/netboot.xyz-custom
-
Notifications
You must be signed in to change notification settings - Fork 0
/
windows.ipxe
65 lines (56 loc) · 1.94 KB
/
windows.ipxe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!ipxe
# Microsoft Windows
# https://www.microsoft.com
set win_arch x64
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 url_set ${space} Base URL [ ${win_base_url} ]
item version_set ${space} Version [ ${version} ]
item arch_set ${space} Architecture [ ${win_arch} ]
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
:version_set
echo Set the version of Windows
echo e.g. 10, hirens, VeeamDellW
echo
echo -n Version: ${} && read version
goto windows
: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 -n bootmgr ${win_base_url}/${win_arch}/${version}/bootmgr bootmgr ||
initrd -n bootmgr.efi ${win_base_url}/${win_arch}/${version}/bootmgr.efi bootmgr.efi ||
initrd -n bcd ${win_base_url}/${win_arch}/${version}/boot/bcd bcd ||
initrd -n bcd ${win_base_url}/${win_arch}/${version}/Boot/BCD bcd ||
initrd -n boot.sdi ${win_base_url}/${win_arch}/${version}/boot/boot.sdi boot.sdi ||
initrd -n boot.sdi ${win_base_url}/${win_arch}/${version}/Boot/boot.sdi boot.sdi ||
initrd -n boot.wim ${win_base_url}/${win_arch}/${version}/sources/boot.wim boot.wim
boot
:windows_exit
exit 0