Add multiple WindowsToGo images

For WindowsToGo, you will need a fast USB 3.0 drive - I highly recommend the SanDisk Extreme or Extreme Pro flash drives or any fast USB 3.0 HDD or SSD. Beware of some other 'fast' flash drives such as the Lexar P20, etc. they can take over one hour to boot!

MBR-booting: if UEFI-booting is not required (or not supported), you need only create one large NTFS .imgPTN partition and use this as both the boot and system partitions or alternatively you can create a VHD file (see box).

UEFI-booting: we need to convert the payload to an image partition (.imgPTN) file using MakePartImage. The system partition contains the boot files in the \EFI folder and needs to be formatted as FAT32 to make it UEFI-bootable. The Windows OS files can be on a separate NTFS partition.

Note: Windows 8.1/10 will not boot from a Removable USB drive unless you create a .VHD file, however new Windows 10 1607 and later builds are now capable of booting from 'flat files'.
 
Note 1: E2B v.1.69+ can directly MBR-boot from fixed-type .VHD Windows 7/8/10 OS files. Just copy the Windows VHD\VHDX files (must not contain spaces in the filename) to one of the E2B menu folders such as \_ISO\MAINMENU or \_ISO\WIN and boot (the file does not even need to be contiguous). The VHD/VHDX must contain a fully installed and rebooted copy of Windows - if you boot from a VHD that contains a Setup install or Sysprep'ed OS  (e.g. as made by WinNTSetup or ImageX), the setup process on the first boot will report an error because of the lack of boot files or a boot partition.
 

For instructions on how to create Windows 7/8/10 VHDs easily, see below or read my blog posts he  re and here .

Note 2: Direct booting from a VHD in E2B requires a Windows 8.1 version of bootmgr (or similar) in \_ISO\e2b\grub\DPMS\NTBOOT.MOD folder (the Windows 10 bootmgr gives a BSOD 0xc00000bb bad BCD error!). See here for more details.

Note 3: If you already have a WinToGo .imgPTN file (or any disk partition with WinToGo), you can copy it into a .VHD file - see this blog post for details.

 

How to add MBR-bootable WindowsToGo payloads easily (7/8/8.1/10)

Booting to WindowsToGo from a normal installation does not work if the USB drive is a Removable USB drive for Win8.1 and Win10 (i.e. flat file installations). For Removable USB drives, you need to place Windows in a VHD file.
 
Note: Windows 10 (Redmond 1 1607) and later versions do boot from 'flat file' installations or from VHDs on Removable USB drives!
 
Windows 7 Ultimate and Enterprise, and Win8/8.1/10 do allow you to boot from a VHD even from a Removable USB drive.
 
WinToUSB allows us to quickly add WinToGo VHDs to an E2B USB drive (Fixed disk or Removable type). 
 
Using a VHD makes it easy to take a backup - just copy the VHD file somewhere else!

Note: If the system that you boot from was previously activated for Windows 10, then Win10ToGo will be automatically activated when you boot to it (as long as the Home/Pro edition matches what was previously installed).
 

Instructions (VHD for MBR-booting only)

1. Make sure the E2B USB HDD drive is in the normal E2B Menu mode (not in CSM Menu mode) and you can see the \_ISO and other folders. An NTFS-formatted E2B drive will be required (not FAT32-formatted).

If your E2B USB drive is the Removable type, WinToUSB will want to format it, so use a spare NTFS USB drive (fast flash drive or USB HDD), then later on just copy the VHD to your E2B USB drive (as in Step 6). If you have E2B on a USB HDD, WinToUSB will not try to format the USB drive.

2. Run WinToUSB, select a Win7 Ultimate or Enterprise ISO or Win8/8.1/10 ISO and then specify a VHD on the target drive (e.g. VHD=20GB).
 
Note: If the USB drive is a Removable type of Flash drive, WinToUSB will want to format it! Do NOT let it format it.


3. When WinToUSB has completed, boot from the USB drive - it should boot to Windows immediately (i.e. no E2B menu, no grub4dos).
 
VirtualBox+VMUB can be used for this or use a real system.

4. Complete the final Windows OOBE Setup Stage as normal - you must do this before you copy or move the .VHD file.

5. If you installed to an E2B USB HDD, now re-install grub4dos to both the MBR and PBR of the E2B USB drive again using RMPrepUSB so that it will boot to grub4dos again.

  • RMPrepUSB - Install grub4dos - Yes=MBR   (do not update \grldr)
  • RMPrepUSB - Install grub4dos - No=PBR      (do not update \grldr)
6. Move the large \WinToUSB.VHD file that was made by WinToUSB to the E2B \_ISO\MAINMENU folder (or any of the other normal menu folders - e.g. \_ISO\WIN) and rename it as required - e.g. Win7UltToGo.VHD or Win8_Pro_64.VHD (do not use spaces in the filename, the file does not need to be contiguous).

Note: E2B needs the Win 8.1 file bootmgr in the \_ISO\e2b\grub\DPMS\NTBOOT.MOD folder on the Easy2Boot USB drive. Do not use the Windows 10 version of bootmgr (10-07-2015 395,268 bytes) as this gives a BSOD 0xc00000bb error! This file may have already been copied by the MAKE_E2B_USB_DRIVE (run as admin).cmd script when you first made the E2B drive. E2B will warn you if it is missing or if it is an incompatible version. If bootmgr cannot be found in the  \_ISO\e2b\grub\DPMS\NTBOOT.MOD folder then \bootmgr in the root of the E2B drive will be used (if present).

Now tidy up - Delete the \boot and \EFI folders from the E2B USB drive and the \bootmgr file (if present). If you don't remove the boot files or don't move the VHD file, WinToUSB will refuse to add another OS if you run WinToUSB again to make another VHD.
 
 

E2B NTFS USB Hard Disk only (MBR+UEFI booting)

This will make a 64-bit WinToGo system from a 64-bit Windows Install ISO that will boot on both UEFI and MBR 64-bit systems. 
If you use a 32-bit Windows UEFI source ISO (e.g. Windows 8.1 or 10 32-bit) then it will be bootable on 32-bit UEFI and 32/64-bit MBR systems.
Tip: If using Win10 1703 or later, you can use a Removable E2B USB drive and WinNTSetup.
 
1. Make an empty folder on your Windows system - e.g. c:\temp\EMPTY
 
2. Run MakePartImage and make a 150MB FAT32  WinToGo.imgPTN file using the C:\temp\EMPTY\ folder as the source. Drag-and-drop the empty folder onto the MPI_FAT32 Windows Desktop shortcut.
 
3.  Again drag-and-drop the empty folder onto the MPI_NTFS Windows Desktop shortcut to make a larger (e.g. 15000MB)  NTFS  WinToGo file (with no file extension).
 
4. Copy the two files to \_ISO\MAINMENU and rename them as you require  (no file extension for the smaller file) - the file names MUST be identical.
 
                               WinToGo.imgPTN      (small 150MB file)
                             WinToGo                    (large file - e.g. 30GB)
 
5. Use \_ISO\SWITCH_E2B.exe to switch partitions, this may also re-order the partitions if required.
 
6. You should now see two partitions in Windows Explorer (if not unplug and re-connect the E2B USB drive).
 
7. Run WinToUSB (http://www.easyuefi.com/wintousb/) - note: it will erase a removable USB drive, so you must use an USB E2B hard disk or use WinNTSetup (see below).
 
  • Select a 64-bit Windows Install ISO as the source (Win8/8..1/10 recommended) - I tested with Win8.1 Enterprise Evaluation version.
  • Select the small ptn as the system volume The system partition is the primary partition that is used as the active EFI System boot partition
  • Select the large ptn as the boot volume The Boot partition is the partition where Windows is installed. It includes a Windows directory.
Confusing isn't it! The 'boot volume' has the Windows Operating System files and the 'system volume' is the one the BIOS boots to! That's Microsoft for you!
 
Wait until it has finished installing and quit WinToUSB.
 
If you prefer, you can use WinNT Setup v3 instead (mount the ISO first and select the \sources\install.wim file in WinNTSetup). 
 
  • Select a 64-bit Windows \sources\Install.wim file from a mounted ISO as the source (Win8/8..1/10 recommended) - I tested with Win8.1 Enterprise Evaluation version.
  • Select the small partition for the system partition
  • Select the large partition for the boot partition
  • Use the 'ALL' option (default) when prompted in the next step
You can skip the next step if you used WinNTSetup.
 
8. (only required if you used WinToUSB) - Open a Windows Administrator console and type  (where G: is the 2nd large USB drive partition and E: is the first small partition)
 
G:\Windows\System32\bcdboot g:\windows /s E: /f ALL /v
 
It should report 'Boot files successfully created.'
 
Note: This requires the Win8 or later version of bcdboot.exe. If installing Win7ToGo, you can get the correct version of bcdboot using GetWAIKTools. (untested!)
 
9. Reinstall grub4dos to the MBR using RMPrepUSB - Install grub4dos (YES=MBR) as WinToUSB\WinNTSetup will have removed the grub4dos MBR code.
Do not copy grldr, if prompted.

(Do NOT install grub4dos to the PBR).
 
10. Tidy up (optional) - delete the folders\files listed below from the 2nd large partition ONLY (the partition with the \Windows and \Users folder on it):
 
\e2b folder
\Clover folder
\boot6
\boot7
\menu.lst
\grldr
\PBR.BIN
\CUSTOM.txt
\autorun.inf
\autorun.ico
\EFI
 
Now boot it from a REAL SYSTEM (either UEFI or MBR system boot) to set up Windows. DO NOT BOOT (this one time) FROM A VIRTUAL MACHINE!
 
If the system is an MBR system, you can use Clover to boot it in UEFI-mode if you wish, or just boot it in MBR mode natively (use the 'Boot Windows on 3rd partition' menu entry).
 
Once you have finished with WinToGo, you can restore the E2B partitions by booting in MBR mode and selecting  Menu entry 0 from the CSM grub4dos menu or by running the \e2b\RestoreE2B.cmd or \e2b\SWITCH_E2B.exe file from the E2B drive itself as usual.
 
You can add as many more WinToGo OS's to the E2B USB HDD in the same way.
 
Tip: If you have problems booting try swapping over file extensions (. .imgptn) for the two files. Use SWITCH_E2B and ensure the start values of each partition are in ascending order (if not it won't UEFI-boot).
 
Note: If using Win7ToGo, use a USB 2.0 port as Win7 does not support booting from USB 3.0 ports or modern chipsets. For best results and USB 3.0 support, Win 8.1 or 10 is recommended as Win7 was not designed to be run from USB.
 
If you move or copy the .imgPTN file (even on the same drive), it will no longer boot to Windows because the Disk Signature will be different. To fix this, you will need to run BootIce or bcdboot again to correct the BCD(s). Note that this also means that you cannot just copy the .imgPTN file to another E2B USB drive and expect it to work.
 

E2B USB Removable Flash drive - Win7 only (MBR+UEFI - not for Win8.1)

This method does not use a VHD. It can be used for Win7 or Win10 1607 or later versions.
 
This will allow you to MBR and UEFI-boot WindowsToGo. 
Windows 8.1/and older Win10's will not boot from a Removable USB drive unless you use a .VHD file.
 
Win7ToGo is not really suitable to run from a flash drive because it needs some tweaking (disable paging, etc.). Use Win8/10 for better results.
 
1. Make an new empty folder on your Windows system - e.g. c:\temp\EMPTY
 
2. Make a large OS partition image (e.g. 15000MB)  NTFS WinNTFS.imgPTN - drag-and-drop the C:\temp\EMPTY folder icon onto the MakePartImage Desktop shortcut and answer the prompts using the empty folder as the Source, e.g.
 
Y                                           (FAT32)
15000                                    (Size of image)
C:\temp\WinNTFS.imgPTN    (OUTPUT FILENAME)
WinToGo                                (VOLUME NAME)
WindowsToGo                         (CSM menu title)
Y                                           (to continue)
 
3a. Download and extract the EFI_TOGO_v2 zip file and extract it to the C:\temp\EMPTY folder - you should now have a C:\temp\EMPTY\EFI folder with more files&folders under it.
 
EFI_TOGO is taken from the UEFI To Go project by P Batard (author of Rufus). This will allow you to UEFI-boot directly from the 32-bit or 64-bit UEFI system firmware. As an alternative, you can use the files in the E2B_UEFI_BOOT_ADDON download which will boot to rEFInd.
 
You can find these files in the Alternate Downloads pages here.
 
3b. Make a small FAT32  WinFAT.imgPTN file using the C:\temp\EMPTY\  folder as the source. Just drag-and-drop the C:\temp\EMPTY folder onto the MPI tool MPI_FAT32 Desktop shortcut.
 
4. Copy the two .imgPTN files to \_ISO\MAINMENU and rename them as you require  (no file extension for the small FAT32 file) - both file names MUST be identical.
 
WinFAT.imgPTN     --> WinToGo                               (FAT32)
WinNTFS.imgPTN  -->  WinToGo.imgPTN                 (NTFS)
 
5. Boot to the E2B USB drive (either use RMPrepUSB - QEMU or VBox or other VM or real system)
 
6. Select WinToGo.imgPTN and switch to E2B CSM menu and then quit the VM.

You should now see just the NTFS empty partition in Windows Explorer (if not unplug and re-connect the E2B USB drive).
 
  • Select a 64-bit Windows Install ISO as the source (Win8 x64 recommended)
  • Select the same ptn as system ptn and boot ptn
Wait until it has finished installing and quit WinToUSB.
 
If you prefer, you can use WinNTSetup v3 instead (mount the ISO first and select the \sources\install.wim file in WinNTSetup). 
  • Select a 64-bit Windows \sources\Install.wim file from a mounted ISO as the source (Win8 recommended, but not 8.1 if using a Removable USB drive!)
  • Select the same USB ptn as system ptn and boot ptn
  • Use the 'ALL' option (default) - select 'Do Not update the boot code' from the drop-down list.
You can skip the next step if you used WinNTSetup.
 
8. Open a Windows Administrator console and type  (where G: is the 2nd large USB drive partition and E: is the first small partition)
 
G:\Windows\System32\bcdboot g:\windows /s E: /f ALL /v
 
It should report 'Boot files successfully created.'
 
Note: This requires the Win8 or later version of bcdboot.exe. If installing Win7ToGo, you can get the correct version of bcdboot using GetWAIKTools. (untested!)
 
9. Reinstall grub4dos to the MBR using RMPrepUSB - Install grub4dos (YES=MBR) as WinToUSB\WinNTSetup will have removed the grub4dos MBR code.

Do NOT install grub4dos to the PBR!
 
Now boot it from a REAL SYSTEM (either UEFI or MBR system boot) to set up Windows.
If the system is an MBR system, you can use Clover to boot it in UEFI-mode if you wish, or just boot it in MBR mode natively or UEFI-boot using the system firmware boot option.
 
Once you have finished with WinToGo, you can restore the E2B partitions by booting in MBR mode and selecting  Menu entry 0 from the CSM grub4dos menu or by running the \e2b\RestoreE2B.cmd file from the E2B drive itself as usual.
 
You can add as many more WinToGo OS's to E2B in the same way.
 
Note: If using Win7ToGo, use a USB 2.0 port as Win7 does not support booting from USB 3.0 ports.
 
 
If you move or copy the .imgPTN file (even on the same drive), it will no longer boot to Windows because the Disk Signature will be different. To fix this, you will need to run BootIce or bcdboot again to correct the BCD(s). Note that this also means that you cannot just copy the .imgPTN file to another E2B USB drive and expect it to work.
 
 

Rufus & WinToGo

The latest version of Rufus 2 has a WindowsToGo feature which will automatically format and make a USB WinToGo flash drive from a Windows Install ISO.

If you have made a Rufus WinToGo MBR+UEFI flash drive, you can use the contents of the NTFS partition as the Source to make a large NTFS .imgPTN file and  follow steps 3a and 3b above to make the other FAT32 partition image file.

Note: If you have a Removable E2B USB flash drive, Win8.1/10 will not boot (see below).

 

Boot WinToGo using a VHD (recommended for Win8.1/10 + a Removable USB)

See here for how to make and boot using a VHD (MBR booting). You can boot Windows 8.1/10 from a Removable USB drive using this method (or a USB hard disk).

As an alternative, you could just have an E2B USB HDD containing lots of VHD's and just a FAT32 .imgPTN23 file for each different version.

e.g.

E2B Partition 1 - containing E2B files with WinToGo8.imgPTN23, WinToGo8.1.imgPTN23, Win7ToGo.imgPTN23, etc.
E2B Partition 2 - containing many vhds, e.g. \Win8.vhd, \Win8.1.vhd, etc.

Then load the .imgPTN23 file to get to CSM mode, configure the BCD(s) to point to the vhd file on the 2nd partition 

Tip: If you have a 64-bit WinToGo .imgPTN file, add '64' to the end of the file extension and it will only appear in the E2B menu if you are running on a 64-bit system - e.g. Win81ToGo.imgPTN64.

You can also directly MBR-boot from a WindowsToGo  .VHD or VHDX file with E2B v1.69+. The VHD must contain a fully pre-installed version of Windows (i.e. it should not run Setup on first boot or it will fail).
 

WinToGo UEFI booting from a Removable E2B USB drive

For Win8.1 and 10, this is tricky but can be done using a VHD.
 

For MBR+UEFI booting of Windows To Go from a Removable drive, you can adapt the method described here. You will need to create two .imgPTN files first (e.g. 300MB FAT32 Win.imgPTN and 20GB NTFS Win) and then switch to CSM mode first.

 

Activation

WindowsToGo is a full installation of Windows and will require activation if you want to use it regularly. When you activate a normal Windows OS and enter a Product Key, the hardware signature is registered with Microsoft and added to the OS itself. Once activated, if you boot the same OS on a different system, it will not be activated.

For this reason, you should use a volume licence version of Windows (e.g. Windows 8 Enterprise version) if you need an activated copy of WindowsToGo or use a Trial Enterprise version (90 day) and then re-install it again when it expires. A volume licence version of Windows is not hardware-locked.

Tip: Once you have prepared the .imgPTN files, make a copy of them before you boot them for the first time. When the 90 day trial period ends, just replace the .imgPTN file with a copy of the original.

If you name the .imgPTN as .imgPTNaLBA23 the 2nd partition of your E2B drive will not be removed and so will remain accessible. You can therefore keep all your portable Windows applications, drivers and documents on the 2nd partition.

If you boot to Windows 10 To Go Home/Pro on a system that had previously contained an activated Windows 10 Home/Pro OS, then it should 'phone home' and automatically activate provided that the Edition is the same as the one that was previously activated.

 

Deleting WindowsToGo files

Windows may not let you delete some of the WindowsToGo files even if you have Admin rights (usually because you are not the Owner).

I recommend installing Take Ownership and also LockHunter

Using these two Windows utilities, you can change the Ownership rights or find out what process is locking a file or folder or drive and kill it.

 

Copying WindowsToGo files

Windows will not allow you to easily copy a complete WindowsToGo installation as files to another folder or drive (e.g. using Xcopy or Explorer).

Windows will lock some of the WinToGo system files and it will also interpret any symbolic links (e.g. when it sees the 'My Documents' hard link in the WinToGo drive, it will start trying to copy all of your C: drive's Documents too!).

A nice way to copy all the WindowsToGo files to a different destination is to use  Olof's strarc utility.

1. Switch to the .imgPTN file using \_ISO\SWITCH_E2B.exe - my E2B USB drive was now drive D: (16GB) and had the full WinToGo installation on it as flat-files (\Windows, \Program Files, etc.).
2. Delete any unwanted files (e.g. \hyberfil.sys, pagefile.sys, etc.) .
3. Create and attach a fixed VHD using Windows Disk Management console (diskmgmt.msc) - this gave me a virtual 16GB Q: drive.
4. Download strarc and extract it.
5. From an Admin Windows cmd shell, we copy all files on D: to Q: using:
strarc.exe -cjd:d:\ | strarc -xd:q:\

Note: you can safely ignore any error messages about the \System Volume Information folder.
Be sure to use the vertical bar  | key as shown (Shift+)

Olof recommends this so that some files are also excluded:
strarc -c -j -e:"\System Volume Information,\Temp\,\Temporary Internet Files\,\Cache\,.tmp,pagefile.sys,hiberfil.sys,\$NtUninstall" -d:d:\ | strarc -xd:q:\

To ignore messages about 8.3 filename compatibility (I didn't see any) , use -s:8.

I first formatted Q: so it was empty of all files.

6. Detach the Q: drive in the Disk Management console and copy the VHD file to \_ISO\MAINMENU on my E2B USB drive and boot it!

If some files are locked or held open by Windows, you can try using a Volume Shadow Copy Service  (VSS) utility such as ShadowSpawn to make a virtual copy and then run strarc using the new virtual drive as the source. You can also try U-Recover to create a shadow copy of a drive.

See here for how to make the WinToGo files on a USB drive (or inside a .imgPTN file) into a .VHD file.