how to execute windows-diskless-boot using win
pe
To execute a Windows diskless boot using Windows PE (WinPE), you must configure a PXE
server to load WinPE over the network, then connect to an iSCSI target for the full OS
installation. Here's a structured approach:
1. Prepare the WinPE Environment
Download Windows ADK: Install the Windows Assessment and Deployment Kit to access
WinPE tools [1] .
Build the WinPE image:
copype amd64 C:\WinPE_amd64
Mount and customize the image with necessary drivers using DISM:
dism /Mount-Image /ImageFile:C:\WinPE_amd64\media\sources\boot.wim /Index:1 /MountDir
dism /Image:C:\WinPE_amd64\mount /Add-Driver /Driver:C:\Drivers /Recurse
dism /Unmount-Image /MountDir:C:\WinPE_amd64\mount /Commit
Rename boot.wim for deployment [1] .
2. Configure the PXE/iPXE Server
Option 1: Traditional TFTP (Microsoft Method)
Share the TFTP root directory (e.g., \\PXE-1\TFTPRoot) [2] .
Copy boot files to the TFTP server:
copy C:\WinPE_amd64\media\boot\*.* Y:\Boot
copy C:\WinPE_amd64\media\sources\boot.wim Y:\Boot
Configure the BCD store for PXE:
bcdedit /createstore C:\BCD
bcdedit /store C:\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
bcdedit /store C:\BCD /set {GUID} device ramdisk=[boot]\Boot\boot.wim
Replace {GUID} with the ID generated during setup [2] .
Option 2: HTTP via iPXE (Faster)
Use wimboot to load WinPE over HTTP [3] :
#!ipxe
kernel wimboot
initrd BCD \Boot\BCD
initrd boot.sdi \Boot\boot.sdi
initrd boot.wim \Boot\boot.wim
boot
Host files on a web server (e.g., http://192.168.1.100/Boot/) [3] .
3. Set Up iSCSI for Diskless Operation
Create an iSCSI target using tools like iSCSI Console or Windows iSCSI Target Server [1]
[4] .
Allocate a VHD/X file (min. 30 GB) as the virtual disk [1] .
Connect from WinPE:
Use iscsicli to attach the target:
iscsicli QAddTargetPortal 192.168.1.100
iscsicli LoginTarget <TargetIQN> * * * * * * * * *
Initialize the network in WinPE if needed:
wpeutil InitializeNetwork
4. Install Windows to the iSCSI Disk
Mount the Windows ISO in WinPE and run setup.exe:
net use Z: \\192.168.1.100\WindowsISO
Z:\setup.exe /noreboot
Partition the iSCSI disk using diskpart and proceed with installation [4] .
Post-Installation Adjustments
Disable the pagefile to prevent crashes:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v
Disable automatic Windows Updates via Group Policy [1] .
Troubleshooting Tips
If WinPE fails to connect to iSCSI, verify network drivers are included in the image [3] [1] .
For UEFI systems, ensure the BCD store and boot files are UEFI-compatible [5] .
Use ipxe-x86_64.efi instead of ipxe-snponly to avoid SAN disconnects [1] .
By following these steps, you can achieve a fully diskless Windows boot using WinPE and iSCSI.
For large-scale deployments, consider automating steps with scripts or MDT.
⁂
1. https://github.com/ipxe/ipxe/discussions/984
2. https://learn.microsoft.com/en-us/windows/deployment/configure-a-pxe-server-to-load-windows-pe
3. https://ipxe.org/howto/winpe
4. https://forum.level1techs.com/t/rages-disk-less-windows-10-boot-from-iscsi-adventures-results/14359
7
5. https://www.youtube.com/watch?v=EmAH0dp0LGA