Installing Windows using WinNTSetup
- There is no need to UEFI-boot from the E2B USB drive
- Works from both Removable and Fixed-disk E2B drives
- Allows you to install XP from a USB 3.0 port and to a SATA\RAID drive (see below)
- Supports MBR and GPT installs
- No modification of ISOs or boot.wim required
- No .imgPTN file required
- No WinHelper USB Flash drive required
- You can use SDI_CHOCO or other XML files
- Can choose any partitioning scheme without needing to change the XML file
- You will need to wipe and partition and format the target disk (e.g. can easily use a diskpart script from within WinNTSetup)
- If the target system is a UEFI-only system, you will need to create and UEFI-boot to a WinPE .imgPTN file. The same .imgPTN file can be used to install any Windows Install ISO (see end of page for details)
Method
Preparation
2. (optional) Download BootIce (x86 and x64 versions) for use as a partitioning tool and copy them both to the WinNTSetup folder.
3. We need to first download some additional files. Run WinNTSetup.exe under Windows from the E2B drive. Say 'Yes' to allow it to download some needed files.
Now Quit WinNTSetup.
4. Make sure your E2B drive contains the ISO that you want to install (can be anywhere on the disk) - e.g. Windows_10_x64_Home_Pro.iso
5. (optional) Add a diskpart script .txt file (some are already present in E2B). Make a text file containing the diskpart commands which you can use to wipe and partition the target hard disk. See here for some GPT examples and here for some MBR examples. Here is one I used...
\_ISO\docs\E2B Utilities\WinNTSetup\tools\diskpart\DiskPartGPT.scr
select disk 0
clean
convert gpt
create partition primary size=300
format quick fs=ntfs label="Windows RE tools"
assign letter="T"
create partition efi size=100
rem == Note: for Advanced Format Generation One drives, change to size=260.
format quick fs=fat32 label="System"
assign letter="S"
create partition msr size=128
create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"
exit
If you have WinNTSetup v3.9.3 or later, the \WinNTSetup\tools\diskpart folder will already contain some sample diskpart scripts.
E2B also contains some additional sample diskpart script files..
- Disk0_bios_350MBSys_Win_15GBRecov.txt
- Disk0_bios_singlemaxptn.txt
- Disk0_bios_Win_15GBRecov.txt
- Disk0_uefi_300MBWinRETools_100MBEFI_128MBMSR_Win_15GBRecov.txt (GPT)
- Disk1_bios_350MBSys_Win_15GBRecov.txt
- Disk1_bios_singlemaxptn.txt
- Disk1_bios_Win_15GBRecov.txt
Note that the Disk1_xxxx files will erase the second disk (as seen by Windows) in your system. If you only have one disk in the system, the Disk1_xxxx files will erase the E2B USB drive! I use the Disk1_xxxx files when booting from an E2B USB drive under VirtualBox+VMUB. Under VBox+VMUB, Disk 0 is the USB drive and Disk 1 is the Virtual Machine Hard disk, so I must use the Disk1_xxxx files under Virtual Box.
Note: WinNTSetup v3.9.3 and later
If the file .\Tools\Diskpart\enabled=1 exists, this will enable the CTRL+SHIFT+D diskpart feature in WinNTSetup.exe when it is run.
Tip: To make it easier to find WinNTSetup later, copy the whole \_ISO\docs\E2B Utilities\WinNTSetup folder to \WinNTSetup.
For E2B v1.A9 and later versions
1. Make a .mnu file using NotePad (e.g. \_ISO\MAINMENU\Win10x64.mnu)
title Install Windows 10 x64 with WinNTSetup.exe\nInstall Windows 10
/%grub%/QRUN.g4b force.WinNTSetup /_ISO/WINDOWS/Windows10x64.iso
boot
2. Now boot to E2B and select the menu entry. This will automatically load the ISO into WinNTSetup for you.
3. Now go to Step 3 below (but skip Step 4)...
For older versions - Boot to WinPE and run WinNTSetup
This can be the same ISO that you are going to install from or a different one (I suggest using the latest Win10 ISO because it is likely to contain the latest drivers). You can use any of the ISOs in the \_ISO\WINDOWS\xxx folders or just copy a Windows Install ISO to any one of the other 'standard' menu folders (e.g. \_ISO\MAINMENU). You can boot to almost any WinPE 8 or 10 ISO (e.g. ChrisR's WinPESE ISOs, DLC ISOs, Gandalf ISOs, etc.). It can be a 32-bit or 64-bit ISO.
If SHIFT+F10 does not work, proceed to the next Setup screen and try it again.
Tip: Run WinNTSetup.exe and then press Use CTRL+SHIFT+D (see above) to automatically run a pre-existent diskpart script to wipe and partition the drive - make sure you select the right one or it may wipe a different drive or your E2B drive!. You can then skip step 3 below.Note: Under WinPE, Ctrl-Shift+D may not work unless you use v3.9.1 or later.
3. At the Windows command shell, we need to wipe and partition the target hard disk.
diskpart /s d:\WinNTSetup\tools\diskpart\DiskPartGPT.scr
Or, if you prefer, you can create the partitions using diskpart by typing in the commands manually and use abbreviated commands (mostly three-letter abbreviations can be used) - .e.g. type cre instead of create :
diskpart
sel dis 0
detail dis
clean
convert gpt
cre par pri size=300
for quick fs=ntfs label="Windows RE tools"
assign letter T
cre par efi size=100
for quick fs=fat32 label="System"
assign letter S
cre par msr size=128
cre par pri
for quick fs=ntfs label="Windows"
assign letter W
exit
Note: Later versions of WinNTSetup (3.9.0+) allow you to press CTRL+SHIFT+D and pick a diskpart script file.
The file .\Tools\Diskpart\enabled=1 must be present for CTRL+SHIFT+D to work. This file is already present in E2B.
Tips:
You can use the 'F' buttons in WinNTSetup to format any existing volumes. Make sure that you format the System EFI partition as FAT32.Press F1 in WinNTSetup for help.
Example manual diskpart commands for single maximum size partition:
diskpart
sel dis 0
clean
convert mbr
cre par pri
for quick fs=ntfs label="Windows"
assign letter C
active
exit
Note that a 'convert mbr' or 'convert gpt' command is required to ensure that Windows does not fail during installation of boot files, due to any previously-used partitioning scheme.
Ensure that WinNTSetup finds the install.wim\esd\swm file (see first arrow in screenshot below).

Check that the three 'trafiic lights' are all green. If not, the partitions are not correctly formatted.
5. Select the Boot (System) volume - in my case S:
7. (optional) Select an XML file - tick the 'Unattend' button.
In my case I selected one of the ZZDanger_xxxxxx_SDI_CHOCO.XML files. Note that if the XML file contains a drive partition section, it will be ignored, so the partitions will remain unchanged.
Note: the version of Windows that is installed is determined by the one that you select in WinNTSetup and NOT the XML file.
There are other options available in WinNTSetup, such as creating VHD files so that you can install to a VHD, and adding 'Tweaks' and your own drivers.
8. Select the Windows Edition in WinNTSetup, e.g. Professional (N.B. The settings in the XML file will be ignored, so you must select the correct Edition).
9. Click the Setup button - you can change a few options here if you wish (not normally required) - to support both UEFI and MBR booting, make sure the ALL option is displayed. You can tick the Restart option if you wish and it will automatically reboot afterwards.
10. Click the OK button and WinNTSetup will copy the files across to your target volumes and make it bootable.
Once the copy phase has completed, reboot and make sure you configure the target system's firmware to boot in either MBR or UEFI mode, as desired.
If running an SDI_CHOCO.XML unattend file, I suggest you remove the E2B USB drive once SDI_CHOCO tells you to. Otherwise you may find that the target system will try to reboot from the E2B drive.
If you are not using SDI_CHOCO, then you can disconnect the E2B USB drive before you allow the target system to boot.
Direct Boot and auto-run WinNTSetup (E2B v1.A9+)
Use the grub4dos STARTUP variable to run any WinNTSetup command line
UEFI-only systems
- When you have created the .imgPTN file, switch to it using \_ISO\SWITCH_E2B.exe (a 32-bit executable).
- Now UEFI-boot from the E2B USB drive on the target UEFI system.
- Once it has booted to WinPE, run \e2b\RestoreE2B_32_64.cmd and answer Y when prompted to switch in the E2B partitions (note: does not work in XP WinPE so try other .cmd scripts if XP PE).
- You can now access the \WinNTSetup folder, the Windows Install .ISO files and the .XML files that are on the E2B partition.
- Run WinNTSetup and proceed as outlined above.

Check that the three 'trafiic lights' are all green.
For MPI v.0.69 and earler:For a 32-bit UEFI system, you will need to make a FAT32 .imgPTN file from any Windows 8 or 10 32-bit ISO, or use a ChrisR WinPESE 32-bit ISO or a Gandalf WinPE 32-bit ISO or any other WinPE 32-bit ISO.For a 64-bit UEFI system, you will need to make a FAT32 .imgPTN file from a ChrisR WinPESE 64-bit ISO or a Gandalf WinPE 64-bit ISO or any other WinPE 64-bit ISO that has Wow64 (SysWow) support so that it can run 32-bit programs as well as 64-bit programs. Use \e2b\Switch_e2b.exe to restore the E2B partition.
Install XP to a SATA\RAID HDD from a USB 2.0 or 3.0 port
It is tricky, but you can install XP to a SATA\RAID hard disk and boot from a USB 3.0 port.
This allows you to install XP to a system that has a SATA hard disk, even if it has only USB 3.0 ports.
You will need an XP ISO (e.g. XPSP3) and a Windows 8, 8.1, 10 Installation ISO (or any Win8/10 WinPE ISO)
- Copy the WinNTSetup_DPMS_Step2.mnu from the \_ISO\docs\Sample mnu Files\Windows folder to \_ISO\MAINMENU or \_ISO\WINPE, and then edit the XPISO entry to match your ISO in the \_ISO\WINDOWS\XP folder.
- Copy WinNTSetup files to the E2B drive (e.g. \_ISO\docs\E2B Utilities\WinNTSetup\ - see above).
- Boot using E2B to a Windows 8.1 or Windows 10 Installation ISO to run WinPE (or use any WinPE ISO)
- At first screen, press SHIFT+F10 and run WinNTSetup.exe (either x86 or x64 version) from the E2B USB drive - then select the Windows 2000\XP\2003 tab.
- Format the target HDD (e.g. using diskpart) and select correct XP ISO file from the \_ISO\WINDOWS\XP folder - select target volumes (e.g. W: and W: if one partition) and click START.
- Reboot back to E2B drive and run the 'Use after WinNTSetup to add SATA\RAID drivers' menu entry. It will pick the correct DPMS SATA driver for XP. In my tests, I had to press ESC 9 times to skip past the firadisk driver files not loading (not sure why this happens!).
- Allow to reboot from HDD to finish installation (or press F7 if it boots back to E2B).
Note: You can use CTRL+SHIFT+D to run a diskpart script in WinNTSetup, however make sure that the script file creates partitions suitable for XP.
Here is a simple diskpart script for a single, maximum-sized NTFS partition.
Disk0_bios_singlemaxptn.txt
select disk 0
clean
convert MBR
create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"
active
list volume
exit
Scripting WinNTSetup
It is possible to script WinNTSetup.exe. You could create a .cmd file which runs a diskpart script and then runs WinNTSetup.exe, e.g. where U: is the E2B drive which contains the install.wim and some drivers (untested)...
REM partition disk using a diskpart script
diskpart /s U:\Win7\Win7.scr
REM Install Windows7 Ultimate (usually Wimindex 5) to drive C:, using unattend.xml file and define driver to integrate.
REM Use C: as driveletter for the new Win installation, run set_7_usb_boot.cmd before rebooting
U:\WinNTSetup\WinNTSetup_x86.exe NT6 -source:U:\sources\install.wim -WimIndex:5 -syspart:C: -tempdrive:C: -unattend:"unattend\Win7x86_Ultimate_en.xml"-ForceUnsigned -drivers:"U:\driver_Win7x86" -Sysletter:C -RunAfter:"set_7_usb_boot.cmd C:\windows" -setup -reboot
Tip: If you use Split_WInISO.exe to create a .imgPTN file from a Win10 install ISO, it will add the winpeshl.ini files into the boot.wim for you. When you boot to WinPE using the .imgPTN file (MBR or UEFI), it will automatically run \auto.cmd. So you can edit \auto.cmd to create a menu and use it to select any one of a range of .cmd script files.