Installing Windows XP\7\8\10 using WinNTSetup
Install Windows 7 onto modern systemsThis process allows you to install Windows 7 onto a system that only has USB 3 ports/controllers because we boot to Windows 10 PE first which includes USB 3 drivers and so Setup can access the USB 3 ports.
- 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 or Win7 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 (XML files can be generated on WAFG website)
- Can choose any partitioning scheme without needing to change the XML file
- Can be fully automated
- Can load different configuration files
- You will need to wipe and partition and format the target disk (e.g. can easily use a diskpart script from within WinNTSetup)
- Potential to wipe the wrong disk!
- WinNTSetup is used (see screenshot below)...
Example - Windows 7 install on modern USB 3 systems
Method 1 (for 64-bit CPU systems with internet access)
Method 2 (using Win10 ISO)
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 E2B USB disk) - e.g. Windows_10_x64_Home_Pro.iso or Windows 7 x64.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 to partition Disk 0 as a GPT disk ready for a UEFI install...
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_uefi_300MBWinRETools_100MBEFI_128MBMSR_Win_15GBRecov.txt (GPT)
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.
Tip:Simply rename the Windows 10 ISO with a _.WinNTSetup.iso filename, e.g.1. Name the ISO file \_ISO\MAINMENU\Windows_10_x64_.WinNTSetup.iso2. Now boot to E2B and select the menu entry. This will automatically load the ISO into WinNTSetup for you. You can select a different ISO (e.g. a Win7 ISO) if you wish.
3. Now go to Step 3 below (but skip Step 4)...
See blog post for more details.
Boot to WinPE and run WinNTSetup
1. Boot to the E2B Main menu and select and MBR-boot from a Windows ISO (see below for UEFI-booting).
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. Do NOT boot from a Windows 7 ISO because it won't have modern chipset or USB 3 support!
If SHIFT+F10 does not work, proceed to the next Setup screen and try it again.
All versions of E2B...
3. Create Partitions
At the Windows command shell, we need to wipe and partition the target hard disk.
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.Note: Under WinPE, Ctrl-Shift+D may not work unless you use v3.9.1 or later.
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 :
sel dis 0
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
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.
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:
sel dis 0
cre par pri
for quick fs=ntfs label="Windows"
assign letter C
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.
Tip: To install from an XP ISO file right-click on the 'Search' button or CD+box icon to load the ISO as a virtual drive.
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. Tip: right-click the on the check-box to edit the XML file.
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
Install Windows 7 onto a system with USB 3 ports (E2B v1.B0+)
- 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.
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.
select disk 0
create partition primary
format quick fs=ntfs label="Windows"
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.