Using QEMU or Virtual Box for testing
Please Note: When a USB drive is mapped as a drive in a 'normal' VM (e.g. QEMU, Virtual Box or VMWare), it will be treated as a 'hard disk' and not a Removable USB drive. Also, unless a special utility is used, any sector writes within a USB drive volume by E2B may not work because the USB drive volumes are not accessible to the VM as it/they are locked by Windows. Also, USB disk writes may be cached by the VM (snapshotted) so that any writes under the VM may not actually be permanent and all file changes to the USB drive may disappear when the VM boots to an OS or after it is shut down.
For this reason, for testing purposes, use the 32-bit QEMU emulator included with RMPrepUSB (just press F11 - tip: try to use 900MB or less for memory or QEMU may not run), or use VBox+DavidB's VMUB utility (highly recommended) - these utilities dismount the USB drive before it runs QEMU or VBox and thus allows the VM to fully access the whole USB drive (a few payloads may not even run correctly unless this is done!).
TEST USING A REAL SYSTEM IF A VM DOES NOT APPEAR TO WORK AS EXPECTED.
ALWAYS RE-TEST USING A REAL SYSTEM TO ENSURE IT WILL WORK CORRECTLY IN REAL LIFE!
If testing Windows Install ISOs using a Virtual Machine, ensure that you set 2GB RAM or more in the VM.
QEMU_MENU_TEST (run as admin).cmd
The \QEMU_MENU_TEST (run as admin).cmd script runs QEMU to create a temporary diskless virtual machine. A 32-bit Intel x86 CPU is emulated and 500MB of RAM (system memory) is allocated. This is just enough to boot to the E2B menu system and to run some small 32-bit payloads (as long as they don't require too much memory). The E2B USB drive will appear as a disk 0 IDE Hard drive in the VM - there will be no internal disk present.
Note: The Virtual Machine that is configured by QEMU_MENU_TEST does NOT include a virtual hard disk (i.e. a system disk).
- You can use this to select a .imgPTN file from the E2B menu and switch to it (or just use \SWITCH_E2B.exe). If Windows Explorer does not show you the new USB drive contents after switching to a .imgPTN image, unplug and reconnect the E2B USB drive.
- 64-bit OS's cannot be run.
- Because QEMU emulates a CPU, it is quite slow to run.
- File writes to USB are temporary - e.g. any files that are changed whilst running under QEMU will not be permanently changed.
QEMU (in RMPrepUSB)
The 'Test using QEMU Emulator (F11)' button in RMPrepUSB will also emulate a 32-bit x86 system. You can allocate 900MB of RAM to the virtual machine and full read/write access is given to the USB drive (file changes are permanent). You can also create a second virtual IDE hard disk. For instance, you can install XP using Easy2Boot to the virtual hard disk from an E2B USB drive and then boot to the virtual hard disk from E2B.
RMPrepUSB also allows you to directly boot from a 32-bit ISO file (Ctrl+F11) or directly boot from the QEMU virtual hard disk (SHIFT+F11).
Oracle Virtual Box
I highly recommend using Virtual Box v5.2 + VMUB (I use this for all my E2B boot testing!).
Setup VBox using these instructions --> How to use Da vidB's Virtual Machine USB Boot application.
Download VMUB h e re.
Tip: Create an Administrator shortcut on your TaskBar for VMUB. Always launch Oracle VBOX Manager using the button on VMUB.
First make a VM in Oracle VBox with just one SATA virtual hard disk at SATA Port 1 and leave SATA Port 0 free. Then run VMUB and create a new entry and set your E2B USB drive as the First USB drive. When you click on Start in VMUB, the USB drive will be dismounted and the VM will then gain full read/write access to the USB drive.
Make sure you run VBox and VMUB with Administrator privileges - I suggest you set up shortcuts for each one with the Run as Admin box ticked.
If using VBox, you can set up a VM with VT-x/AMD-V acceleration when testing most features of E2B. However, you may find that the VM won't run XP Setup unless VT-x/AMD-V acceleration is first turned off. Once the text-mode stage has completed, you can turn on VT-x/AMD-V acceleration to run the 2nd GUI stage. Some linux ISOs (e.g. Parted Magic) may also not run correctly with VT-x ON (if you get a 'Cannot find SQFS' error, try VT-x OFF or test on a real system).
IMPORTANT: If the USB drive is configured as HDD0 in the VM and you install Windows to the Virtual Hard Disk 1, Windows may overwrite the MBR and PBR of the E2B USB drive. If you find your E2B USB drive no longer boots to the E2B menu, run RMPrepUSB.exe - Install grub4dos and install to the MBR and the PBR (do not overwrite the grldr file on the E2B drive).
I reccomend you do not use VBox v6 until a new version of VMUB is available, use VBox v5.
Workaround for VBox v6 (--startvm error):
VMUB - Options - VirtualBox - Exe Path = C:\Program Files\Oracle\VirtualBox\VMUB.cmd
See also 'Using VBOX with a WinHelper drive'.
With VBox, you can also UEFI-boot (64-bit or 32-bit UEFI). Just set up a new VM in VBox and specify either a 32-bit or 64-bit OS system and then tick the System - Motherboard - Enable EFI (special OSes only) checkbox.
Note that VBOX does not support Win7 64-bit UEFI - it will hang on the 4-part flag graphic if you try it.
Running E2B under VBox+VMUB or QEMU
Be aware of these points when booting under VMUB:
- The E2B USB drive will appear as Drive 0 even after booting to Windows or Linux.
- The E2B USB drive will appear as a IDE\SATA\RAID drive in the VM and not as a USB drive
- The E2B USB drive will appear as a Fixed disk and not as a Removable device.
- XML files will not be automatically used by Windows Install ISOs because the USB drive is not seen as a 'Removable' drive by WinPE ('CD/DVD drive driver required' message is seen). If E2B uses WIMBOOT however, the XML file will be used (E2B v1.A8).
- Add set NOHELPER= to the end of the MyE2B.cfg file
- The QEMU\VBox virtual BIOSes do not have the 137GB USB access BIOS bug - but some real systems do!
You can also boot directly from a USB drive using VMWare - see the VMWare section on this page
. However, be aware that like VBox, VMWare does not allow direct sector writes to the USB drive volume area, so using .imgPTN files may fail to work and other writes may not be permanent (e.g. deleting or modifying files).
Do not use Plop!
- Plop! uses a read-only
USB driver stack. Unless you have write access
under the VM, E2B will not work, which is why Plop! is not suitable to use to boot from an E2B USB drive
- see FAQ
for more details.
If you boot to E2B using Plop! then hold down the SHIFT key as E2B boots to load the grub4dos USB 2.0 driver or see here for more details on using Plop!
See her e for VMWare Workstation booting from USB using Plop!
Many real BIOSes have a USB 137GB bug - the USB driver in the BIOS cannot access sectors beyond 137GB (the internal hard disk driver is OK, it's the USB code that is buggy). The BIOSes used by VBox and QEMU do not have this bug and so may work when a real system does not! For this reason, keep the E2B USB partition size below 137GB.
Windows Vista/7/8/10 Installs under a VM
E2B v1.A8+ can use WIMBOOT which does not require a 'Removable' type of USB drive to be used and so Windows Install ISOs should work correctly under a VM. For E2B to use WIMBOOT, the following criteria must be satsified:
- The system should contain more than 1300MB of RAM (system memory).
- The ISO must be a standard Microsoft Windows Install ISO.
If WIMBOOT is not used then Vista/Win7/Win8/10 (NT6+) installs will not work correctly if you attempt to use a VM and install Windows to a virtual hard disk directly from an ISO file. You will see the message 'A required CD/DVD drive device driver is missing'. This occurs because Windows Setup will only load an Unattend.xml file from a Removable disk and any USB drive which is attached to a VM will be seen by Windows as a Fixed Disk. Therefore LOADISO.CMD will not run and the Windows ISO file will not be loaded as a virtual DVD before Setup starts to look for it.
Note: This issue does not apply if using .imgPTN images made from a Windows install ISO using MakePartImage - these images can be successfully run from within a VM.
If WIMBOOT is not used by E2B, then to use E2B to install Windows Vista/7/8 manually in a VM from an ISO file, you will need to run LOADISO.CMD manually as follows:
1. Run the VM and boot to E2B
2. As soon as Setup loads and asks you for a language/country, press the key combination SHIFT+F10 - a black console window should open (if not, answer the next question and try SHIFT+F10 again)
3. In the console window, type dir C:\_ISO and press the ENTER key - if the folder is not listed, try dir D:\_ISO etc. until you find the E2B USB drive letter - let us assume that 'dir E:\_ISO' worked - then the USB drive letter must be E:
4. Now run loadiso by typing E:\_ISO\e2b\firadisk\loadiso.cmd - a blue console window should open - if then prompted to Repair Windows, just hit ENTER.
5. The blue console Window should close - now continue with Windows Setup in the normal way. You should not see the 'A required CD/DVD drive driver is required' message now.
Note that the XML file contents will be ignored in this case.
Note that Windows may overwrite the MBR and PBR of the E2B USB drive if it is HDD0 in the VM.
Installing Windows 7/8/10 using XML files
If you want to use a Product Key or unattended install settings, please see this page.
If using a 'DiskWipe' automated unattend XML file, when the virtual hard disk is configured as HDD1 and the USB drive as HDD0 (as with VBox+VMUB) you will need to use a 'WipeDisk1' XML file because a 'WipeDisk0' XML file will cause the E2B drive to be erased by Windows Setup!