diff --git a/configure-debian-system.sh b/configure-debian-system.sh index 6b52b53..bd7e30f 100755 --- a/configure-debian-system.sh +++ b/configure-debian-system.sh @@ -24,10 +24,10 @@ ln ${TFTP}/bios/ldlinux.c32 ${TFTP}/ ln ${TFTP}/pxelinux.cfg/default ${TFTP}/default -s # set file access -chown ${USERID}:${GROUPID} * -R -chmod a+rw * -R +chown ${USERID}:${GROUPID} . -R +chmod a+rw . -R -chown ${USERID}:${GROUPID} ${TFTP}/* -R +chown ${USERID}:${GROUPID} ${TFTP} -R chmod a+rwx ${TFTP} -R # restart services diff --git a/free/wimboot b/free/wimboot new file mode 100644 index 0000000..c772ef8 --- /dev/null +++ b/free/wimboot @@ -0,0 +1,535 @@ + + + + + + iPXE - open source boot firmware [wimboot] + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+ + + + + +

wimboot

+
+ +

+wimboot is a boot loader for Windows Imaging Format (.wim) files. It enables you to boot into a Windows PE (WinPE) deployment or recovery environment. +

+ +

+You can use wimboot with iPXE to boot Windows PE via HTTP. With a Gigabit Ethernet network, a typical WinPE image should download in just a few seconds. +

+ +
+ +

Advantages

+
+ +

+A light bulb +

+ +
+ +
Speed
+
+ +

+wimboot can download images at the full speed supported by your network, since it can use HTTP rather than TFTP. +

+ +
+ +
Efficiency
+
+ +

+wimboot allows Windows to reuse the memory that was used to hold the RAM disk image; there is no wasted memory. +

+ +
+ +
Ease of use
+
+ +

+wimboot works directly with .wim image files; there is no need to wrap your .wim into an ISO or FAT filesystem image. +

+ +
+ +
BIOS/UEFI compatibility
+
+ +

+wimboot allows you to use a single configuration and set of files to boot under both BIOS and UEFI environments. +

+ +
+ +

Download

+
+ +

+You can download the latest version of the wimboot binary from https://github.com/ipxe/wimboot/releases/latest/download/wimboot. This is a hybrid binary that will work on both BIOS and 64-bit UEFI systems (including UEFI systems with Secure Boot enabled). +

+ +

+You can also download alternative binaries (e.g. for 32-bit UEFI systems) from https://github.com/ipxe/wimboot/releases/latest. +

+ +

+Older versions are available from https://github.com/ipxe/wimboot/releases. +

+ +

+The source code is maintained in a git repository at https://github.com/ipxe/wimboot. +

+ +
+ +

Getting started

+
+ +

+If you have a Windows installation DVD-ROM (Vista, Server 2008, or more recent), and a web server (such as Apache or IIS), then you have everything you need to start using wimboot. +

+ +
+ +

Extract the Windows boot files

+
+ +

+A CD-ROM +

+ +

+Copy the contents of the Windows installation DVD-ROM to a directory on your web server (e.g. /var/www/win7 for Apache, or C:\inetpub\wwwroot\win7 for IIS). +

+ +

+If you do not have enough disk space to copy the entire contents of the DVD-ROM, then you may copy only the following files: +

+
  /boot/bcd
+  /boot/boot.sdi
+  /sources/boot.wim
+ +
+ +

Download wimboot

+
+ +

+Download the latest version of wimboot and save it to the same directory on your web server. +

+ +
+ +

Create the iPXE script

+
+ +

+Create a text file boot.ipxe in the same directory on your web server, containing: +

+
  #!ipxe
+  
+  kernel wimboot
+  initrd boot/bcd         BCD
+  initrd boot/boot.sdi    boot.sdi
+  initrd sources/boot.wim boot.wim
+  boot
+ +
+ +

Boot

+
+ +

+Boot using iPXE from the URL of your iPXE script, e.g. http://my.web.server/win7/boot.ipxe. You should see iPXE download your Windows boot files via HTTP and boot into the Windows installer: +

+ +

+wimboot booting Windows 7 +

+ +

+Windows 7 installer booted via wimboot +

+ +
+ +

Next steps

+
+ +

+You can use wimboot to boot any bootable .wim image. See the Windows PE tutorial for information on how to create and customise your own .wim images. +

+ +
+ +

Licence

+
+ +

+wimboot is free, open-source software licensed under the GNU GPL. +

+ +
+ +

Sponsors

+
+ +

+Portions of the wimboot development have been sponsored by: +

+ +

+Jump Trading +

+ +

+2Pint Software +

+ +

+Digital Intelligence +

+ +
+ +

Advanced topics

+
+ +

+Some books +

+ +
+ +

Multi-image WIM files

+
+ +

+A WIM file can contain multiple bootable images. You can use the index=<N> command-line option to select the image to be booted. For example: +

+
  kernel wimboot index=2
+ +
+ +

Injected files

+
+ +

+You can provide additional files to wimboot. These files will appear within the X:\Windows\System32 directory. For example: +

+
  kernel wimboot
+  initrd winpeshl.ini     winpeshl.ini
+  initrd startup.bat      startup.bat
+  initrd boot/bcd         BCD
+  initrd boot/boot.sdi    boot.sdi
+  initrd sources/boot.wim boot.wim
+  boot
+ +

+You can use this to control the boot process after Windows PE has started. For example, you can use a startup batch file to automatically start the Windows installer from a network share. +

+ +

+You can disable this behaviour by using the rawwim command-line option. For example: +

+
  kernel wimboot rawwim
+ +
+ +

Custom boot manager

+
+ +

+wimboot will attempt to extract an appropriate boot manager (such as bootmgr, bootmgr.exe or bootmgfw.efi) from the WIM file. +

+ +

+You can disable this behaviour by explicitly providing an appropriate set of boot manager binaries. For example: +

+
  kernel wimboot
+  initrd bootmgr              bootmgr
+  initrd efi/boot/bootx64.efi bootx64.efi
+ +
+ +

Disabling automatic BCD modifications

+
+ +

+wimboot will automatically patch standard BIOS-compatible boot configuration data (BCD) files to allow them to be used on UEFI systems, by changing all occurrences of the string “.exe” to “.efi”. +

+ +

+You can disable this behaviour by using the rawbcd command-line option. For example: +

+
  kernel wimboot rawbcd
+ +
+ +

Disabling debug messages

+
+ +

+wimboot will display some debug messages by default, to assist in diagnosing problems that may occur during booting. +

+ +

+You can disable these debug messages by using the quiet command-line option. For example: +

+
  kernel wimboot quiet
+ +
+ +

Displaying graphical boot messages

+
+ +

+wimboot will force the Windows boot manager to display error messages in text mode. It does this to work around a bug in some versions of the Windows boot manager, which would otherwise fail to display error messages unless suitable font files are provided. +

+ +

+You can disable this behaviour by using the gui command-line option and by providing all of the required font files. For example: +

+
  kernel wimboot gui
+  initrd boot/fonts/segmono_boot.ttf  segmono_boot.ttf
+  initrd boot/fonts/segoe_slboot.ttf  segoe_slboot.ttf
+  initrd boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
+  initrd boot/fonts/wgl4_boot.ttf     wgl4_boot.ttf
+ +
+ +

Disabling paging

+
+ +

+wimboot will automatically use paging to relocate the data files above 4GB if possible, to allow for the use of large .wim files on BIOS systems. +

+ +

+You can disable this behaviour by using the linear command-line option. For example: +

+
  kernel wimboot linear
+ +
+ +

Internals

+
+ +

+For more detailed information about the internal workings of wimboot, see the wimboot architecture guide. +

+ +
+ +

Troubleshooting

+
+ +

+Try adding the commands imgstat and prompt to your iPXE script, to allow you to check that all of the files have loaded correctly. For example: +

+
  #!ipxe
+  kernel wimboot
+  initrd boot/bcd         BCD
+  initrd boot/boot.sdi    boot.sdi
+  initrd sources/boot.wim boot.wim
+  imgstat
+  prompt
+  boot
+ +

+Check that only the expected files are present in the list. You may need to use the imgfree command to discard any unwanted files. +

+ +

+You can also try adding the pause command-line option for wimboot. For example: +

+
  kernel wimboot pause
+ +

+This will instruct wimboot to wait for a keypress before booting Windows, to give you a further opportunity to observe any messages that may be displayed. +

+ +

+If you are unable to resolve your problem, then you can contact the iPXE developers and other iPXE users. +

+ +
+ + +
+ +
+ + + + +
+ + +
+ +
+
+ wimboot.txt · Last modified: 2021/04/30 11:01 by mcb30
+
+ + +
+
+ + +
+ +
+ +
+ +
+ +
+ +
+ + +
+ + Recent changes RSS feed + + CC Attribution-Share Alike 4.0 International + Driven by DokuWiki + + +
+ + +
+
+
+ All uses of this content must include an attribution to the iPXE + project and the URL https://ipxe.org +
+
+ References to "iPXE" may not be altered or removed. +
+
+
+ +
+
+ + + diff --git a/resources/default-full b/resources/default-full index 45d8c09..02b5c41 100644 --- a/resources/default-full +++ b/resources/default-full @@ -143,6 +143,11 @@ MENU BEGIN INITRD non-free/windows/winpe.iso APPEND iso raw + LABEL win10 + MENU LABEL * Windows 10 iPXE Test + KERNEL ipxe.lkrn + APPEND dhcp && chain non-free/wimboot.ipxe + LABEL zurueck... MENU EXIT MENU END diff --git a/resources/wimboot.ipxe b/resources/wimboot.ipxe new file mode 100644 index 0000000..dcedbd0 --- /dev/null +++ b/resources/wimboot.ipxe @@ -0,0 +1,11 @@ +#!ipxe +prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell || + +set keep-san 1 +sanhook http://192.168.75.3/non-free/windows + +kernel free/wimboot +initrd boot/bcd BCD +initrd boot/boot.sdi boot.sdi +initrd http://192.168.75.3/non-free/windows/sources/boot.wim boot.wim +boot diff --git a/settings.sh b/settings.sh index e1c25ed..90b65d0 100644 --- a/settings.sh +++ b/settings.sh @@ -6,5 +6,5 @@ NFSSERVERIP=192.168.75.3 MENUTUTLE="Sample Title Text" MENUBACKGROUND="splash.png" -USERID=www-data +USERID=technik GROUPID=www-data