Создание универсальной мультизагрузочной флешки с windows 7/8/10, winpe, linux и пр. (legacy + uefi поддерживается)


E2B is very versatile but does require some knowledge if you want to use it to it’s maximum potential.

I strongly suggest you explore the pages available on this site first — you can use the site map.

E2B ‘quick reference’ Primer — all the E2B basics on one page!

If you want to know how UEFI-booting works, you should read the ‘UEFI Things to know’ page.

New! E2B eBooks are available (complete course on making a multiboot USB drive)!

Also, please take the time to watch the videos on YouTube (over 10 available from me + many from other users, some are in non-English languages).

If you have a question or a problem, you should search the FAQ and Troubleshooting pages (over 100 FAQs + error messages, diagnostics, hints and tips, etc.).

Method 2 (by Bogdan Koval)

Here is another script sent in from Bogdan Koval. Bogdan says this make a USB drive that boots on more systems.

The two files required, mbr.bin and fat.bin, are attached to the bottom of this page. Set the flash and part variables to the device name of your USB drive.

I’m creating a script to create a bootable USB Flash. Our company only uses Linux. Our task was to find a solution which would work under Linux.

The first version was grub4dos to the MBR. On some motherboards will not boot. Error — no GRLDR.

Then I created a flash drive in Linux-based ISOLINUX in the PBR. I use many different tools — Unetbootion, Gparted, parted, ant etc. The same does not boot on some motherboards.

It also created a flash drive in Windows using fat32format or RMPREPUSB. All was well.

I found your article — http://www.rmprepusb.com/tutorials/usbpreplinux

USB Flash is already loaded on more motherboards, but still some do not load.

Spent a week and found the following solution, which is largely complementary to your article.



umount $part

#erase mbr

echo Erase mbr

dd if=/dev/zero of=$flash bs=1024 count=1024

#calculate sectors, cylinders

size=`fdisk -l $flash | grep $flash | awk ‘{print $5}’`

echo disk size — $size bytes

cylinders=`echo $size/255/63/512 | bc`

echo cylinders — $cylinders

sectors=`echo $cylinders*255*63 | bc`

echo sectors — $sectors

sizesectors=`echo $sectors-63 | bc`

cat >sfdisk.in <<EOF

unit: sectors

/dev/sdb1 : start= 63, size= $sizesectors, Id= c, bootable

/dev/sdb2 : start= 0, size= 0, Id= 0

/dev/sdb3 : start= 0, size= 0, Id= 0

/dev/sdb4 : start= 0, size= 0, Id= 0


#create partition table and partition

echo Create partition table

sfdisk -f -C$cylinders -H255 -S63 /dev/sdb <sfdisk.in

#format partition

echo Format Partition

mkfs.vfat -F 32 -n label $part

./ms-sys -H 255 -w $flash

./ms-sys -p -H 255 -w $part


partprobe -s $flash

#modify flash sectors

#erase 65 sector (strange data is here)

echo Correct FAT boot sectors

dd if=/dev/zero of=$flash bs=512 count=1 seek=65

#extract 63 sector and parse

dd if=$flash of=63.sec bs=512 count=1 skip=63

#find start sector of partition (63)

startsector=`echo «ibase=16; $(od -t x2 —skip-bytes=28 —read-bytes=2 63.sec | awk ‘{print $2; exit}’ | tr )»|bc`

#find number of hidden sectors (32)

hiddensectors=`echo «ibase=16; $(od -t x2 —skip-bytes=14 —read-bytes=2 63.sec | awk ‘{print $2; exit}’ | tr )»|bc`

#find size of FAT

fatsize=`echo «ibase=16; $(od -t x2 —skip-bytes=36 —read-bytes=2 63.sec | awk ‘{print $2; exit}’ | tr )»|bc`

#find start sectors of each FAT

fat1startsector=`echo $startsector+$hiddensectors | bc`

echo Start sector of 1st FAT: $fat1startsector

fat2startsector=`echo $startsector+$hiddensectors+$fatsize | bc`

echo Start sector of 2nd FAT: $fat2startsector

#modify 1st sectors of FATs

dd if=fat.bin of=$flash bs=16 count=1 seek=$fat1startsector

dd if=fat.bin of=$flash bs=16 count=1 seek=$fat2startsector

#extract 64 sector and copy them to 70 sector (missing fsinfo backup)

dd if=$flash of=64.sec bs=512 count=1 skip=64

dd if=64.sec of=$flash bs=512 count=1 seek=70

#install syslinux

echo Install Syslinux

./syslinux -i $part

#write syslinux MBR

dd if=mbr.bin of=$flash bs=446 count=1


E2B_Editor.exe can be used to design the menu layout, but it does not display Animations, transparency with STAMPs, direct text overwriting, lines or boxes.

  • STAMPS must be in .bmp or .jpg format (note that the E2B stamp «\_ISO\e2b\grub\E2BPlate.bmp» is NOT in .bmp format and so it will not be displayed in the Editor).
  • The editor does not display the correct E2B version or display the correct value of some grub4dos variables.
  • The x-position of the menu heading may also not be quite correct if centred.
  • The editor only displays left-aligned or centred menu entries.

To test that your MyE2B.cfg file is working as you desire, you can run \QEMU_MENU_TEST (run as admin).cmd from the E2B USB drive.

This will emulate booting from a virtual machine and you can see what the menu system will look like.

Of course, you can also boot from a real system.

Tip: A faster way to check the menu system is to use Virtual Box + VMUB — see here for details.

If you define the LANG variable before you define the HEADING variable, then you can use %LANG% variable in your HEADING.

if «%LANG%»==»» set LANG=ENG


Various variables are only available within MyE2B.cfg (e.g. %MEMSIZE% or %VER% or %B64%). If you want to check what variables are available and what values they have, add the line:

set ;; pause

to the end of your MyE2B.cfg file or just before the line that does not seem to be working.

Using the E2B_Editor without needing a USB drive

To work fully, the E2B_Editor needs to be run from the \_ISO folder on the root of a drive which has the E2B download files on it .

You can copy the whole _ISO folder from the download to the root of one of your system drives (e.g. D:\_ISO) or you can ‘map’ a virtual drive as follows:


1. Use the WindowsKey+R key chord to open a Run box and type cmd, then type for example,


subst Z: C:\temp\Easy2Boot


if your extracted Easy2Boot files have been copied to C:\temp\Easy2Boot.


2. Now go to Z:\_ISO in Windows Explorer.


3. Copy your .bmp (or .jpg) files to the Z:\_ISO folder (or anywhere you like under Z:\_ISO).


4. Run E2B_Editor. Check that you now have the Language and Keyboard boxes populated correctly.


Note: The Z: drive will be lost if you reboot your system, but the files will still be in C:\temp\Easy2Boot.

Test different .cfg files (multiple Themes/Skins)

See the \_ISO\docs\mythemes folder and read the ReadMe.txt file for instructions.
This allows you to easily test many different configurations without needing to reboot each time.

Copy the $Default E2B Menu.cfg file to the \_ISO folder and name it as MyE2B.cfg.
Then add the $Change_Theme.mnu file to the Main Menu which will allow you to choose any .cfg file.

You can add more .cfg files to the \_ISO\docs\mythemes folder or edit the .mnu file to get .cfg files from a different folder.

Note: PimpMyDrive.cmd will add the Change_Theme mnu file and set up  blank MyE2B.cfg for you.

If you have a large enough MyE2B.cfg file, you can simply copy different .cfg files into any menu folder (e.g. \_ISO\MAINMENU) and then select them from the menu. E2B will replace the \_ISO\MyE2B.cfg file with the contents of the selected .cfg file and reload the E2B menu so you can change the ‘theme’.

Troubleshooting BSOD 7B errors

Blue Screen of Death 0x0000007B error

If you get this error when booting from some PCs (e.g. Dell PC or Acer TravelMate laptop) using any XP based USB bootable drive, the problem is usually caused by the WinPE/BartPE OS not being able to access the files on the USB drive. This is usually because of one of two reasons:

1. The version of NTDETECT.COM you are using is resetting the USB controller and thus the USB drive is no longer present. This may well be the problem if UBCD boots when emulated under QEMU but not on some real systems.

FIX: 1a: Use a modified version of NTDETECT.COM which does not reset the USB controller — see here

— OR —

2. You do not have the correct Mass Storage Drivers present in your XP/BartPE image files and so it cannot detect the USB drive when it switches to protected mode.


2a: Try changing the BIOS Menu Hard Disk access mode from ‘Enhanced — AHCI’ to ‘Legacy’ or ‘Compatible’ (mainly a fix for non-USB drive booting though!)

2b: Add mass storage drivers to your XP installation (UBCD4Win v3.60 does this automatically when you use the default build)

2c: Load the XP/BartPE ISO file into a ramdrive and use firadisk.gz. This requires more RAM but avoids the mass storage driver problems — though you may not be able to access all hard drives or USB drives in your system once you have booted to BartPE. See Part 3 below for details.

Where to put your standard Windows Install ISOs

If you wish to install from your Windows Install ISOs, you must place them in the correct specific folder in the E2B file structure.

\_ISO\WINDOWS\SVR2012 <— Server 2012 Install ISOs go here

\_ISO\WINDOWS\SVR2K8R2 <— Server 2008 R2 Install ISOs go here

\_ISO\WINDOWS\VISTA <— Wndows Vista Install ISOs go here

\_ISO\WINDOWS\WIN7 <— Winodws 7 Install ISOs go here

\_ISO\WINDOWS\WIN8 <— Windows 8 Install ISOs go here

\_ISO\WINDOWS\XP <— XP Install ISOs go here (XP 64-bit ISOs should have ’64’ somewhere in the name of the ISO file)

At least one ISO file must be detected in one of these folder, to see a Main menu entry for Windows Install.

Although not fully supported in E2B, Windows Server 2003 Install ISOs can also be placed in the \_ISO\WINDOWS\XP folder and installed as if it was XP.

Note: Always run WinContig on the E2B drive after copying the ISO files (RMPrepUSB — Ctrl+F2)


Grub4dos is a 2-stage boot manager — the first stage is the boot code which is loaded by directly reading sectors from a disk by the BIOS when it first boots. This Stage 1 boot code then looks for and loads the 2nd stage file grldr which contains all the grub4dos functions that we know and love!

WEE is a small cut-down boot manager which is based on grub4dos. The main advantage of wee is that it does not need to load a secondary file like the grldr file because a much reduced version of the grldr code is contained within the boot code itself (sectors 1-62). Also, wee may be more successful at booting ‘difficult’ systems that don’t seem to want to boot using grub4dos and just display a flashing cursor (as no 2nd stage grldr file is required).

Note that WEE does not access CD-ROMs/DVDs or ext4 filesystems. WEE supports FAT12/16/32, NTFS and ext2/3/4, currently (Jan 2012) — no other file systems are supported. It is best (i.e. more reliable) to use a WEE command to directly find and load a bootloader (such as NTLDR) rather than boot from a partition bootstrap directly..

WEE is part of the grubutils utilities. WEE is not suitable for use with Easy2Boot+Clover.

You can either:

install WEE to the boot disk boot track (it modifies/replaces the MBR and the following sectors, up to 63 sectors)


you can load WEE from a wee63.mbr file (for instance, you can use BCDEdit or EasyBCD to add a boot entry to the Windows 7 BCD so that you can boot to WEE and then from there boot to whatever you like.

WEE should only be used on modern systems (after the year 2000) as it only uses Extended Int 13h EBIOS calls. WEE can boot up from IO.SYS (Win9x), KERNEL.SYS (FreeDOS), VMLINUZ (Linux), NTLDR/BOOTMGR (Windows), GRLDR (grub4dos) and GRUB.EXE (grub4dos).

Creating files containing ext2/3/4 filesystems for persistence

Linux LiveCD ISOs + persistence can be made using .mnu files. See here for more details.

For persistence, you often need to create a persistence file which is formatted internally as an ext2/3/4 filesystem (instructions are always inside the .mnu file). To do this under linux AND have it contiguous (which is required for E2B) — see the thread here.


Use cd to get to the directory where you have mounted the USB drive — e.g. /media/USBDrive, then create a file as follows (example uses 1GB mint-rw, volume name is normally casper-rw):

dd if=/dev/zero of=mint-rw bs=1M count=1024 

mkfs -t ext2 mint-rw -L casper-rw

  or for ext3 (recommended because ext2 can be easily corrupted!):

Making a sparse file using dd may be faster (untested), try this…

dd if=/dev/zero of=casper-rw bs=1M count=0 seek=1024

Procedure Summary

    • Prepare a bootable USB flash drive using RMPrepUSB v2.1.638 or later
    • Add the XP ISO file and rename it
    • Add the Windows 7 iso and rename it
    • Check the ISO files are contiguous and check each ISO MD5 hash is correct
    • Boot from the USB flash drive, choose XP Step 1 and press F6 etc., reboot to Step 2 and install XP Pro onto the target system
    • Activate Windows XP Pro
    • Boot from the USB flash drive and install Windows 7 onto the target system
    • Activate Windows 7
    • (optional) add Hirens Boot CD, Damn Small Linux, Ophcrack, Parted Magic, Ultimate Boot CD, Knoppix, Acronis, Darki’s Boot and Nuke, etc. (the menus are already in the menu.lst download file — just add the files to your USB drive!)

What if you have already installed Windows 7 and now want to install XP?

1. Boot to Windows 7 and go into Disk Manager (diskmgmt.msc), select a partition on the hard drive (e.g. C:) and right-click on the horizontal partition and choose Shrink Volume… Reduce the volume size enough to leave room for a new XP partition. Create a new NTFS partition ready for XP.

2. Now install Windows XP to the new partition by booting from the USB Flash drive and following Tutorial #30.

3. Once XP is installed you will find it boots straight to XP and will no longer boot to Windows 7 — don’t panic!

3a. At this point you can fix this by installing EasyBCD and then use EasyBCD to add an entry for XP to the Windows 7 BCD — see 5:27 at this video for instructions. You do have to install .Net however which may take some time.

3b. Alternatively, you can install and run RMPrepUSB within XP on the target system and type ALT+F5 to show all drives. Then install grub4dos to the hard disk MBR. Also copy the grldr file to the root of the Windows 7 volume (use the Install grub4dos button).

Next press F4 in RMPrepUSB and create a menu.lst file on the hard disk using NotePad, as below (cut and paste this text):

timeout 5

# set default to 1 to boot to Win7 or set to 0 to boot to XP

default 1

title Windows XP

find —set-root /ntldr

chainloader /ntldr

title Windows 7

find —set-root /bootmgr

chainloader /bootmgr

4. Now reboot and you should be able to choose which OS to boot to.

Option 1 — Multiple Hirens ISO files

Most of the Hirens menu items will work just by renaming the .iso file to .isowinvh but the DOS Utilities require the \HBCD\Dos (or DLCD or DLC1, etc.) folder to be extracted onto the E2B drive — see Option 2 .

Kon-Boot won’t work if booting from a Hiren’s ISO because hd0 will be the USB boot drive and not the internal HDD — use the HirensISO.mnu file in the \_ISO\docs folder for KonBoot ISO booting. 

If you have trouble getting the HBCD Menu program in MiniXP working (it should work if you use .isowinvh), browse to the Hirens ISO on the E2B USB drive in MiniXP — right-click and choose Mount as ImDisk Virtual Disk, then run \HBCDMenu.cmd from the mounted ISO.

Creating files containing ext2/3/4 filesystems

For persistence , you often need to create a file on the E2B USB drive which is formatted as an ext2/3/4 filesystem (instructions are always inside the .mnu file). To do this under linux AND have it contiguous (which is required for E2B) — see the thread here.

Use cd to get to the directory where you have mounted the USB drive — e.g. /media/USBDrive, then create a file as follows (example uses 1GB mint-rw, volume name is normally casper-rw, but read the .mnu menu file instructions for E2B)

dd if=/dev/zero of=mint-rw bs=1M count=1024

mkfs -t ext2 mint-rw -L casper-rw

or for ext3

mkfs.ext3 -F mint-rw -L casper-rw

Making a sparse file using dd may be faster, try this…

dd if=/dev/zero of=casper-rw bs=1M count=0 seek=1024

Make the file contiguous on a FAT32 volume by using defragfs:

sudo perl ~/Downloads/Easy2Boot/_ISO/docs/linux_utils/defragfs /media/Multiboot -f

Testing with VirtualBox

You can directly boot from USB if you use Virtual Machine USB Boot (VMUB). Tutorial here.

I use VBox+VMUB all the time. You must use VMUB with VBox because it will disconnect the USB drive from Windows first — otherwise you will encounter errors and other strange problems under VBox. You can MBR and UEFI boot from a USB drive on both 32-bit and 64-bit Virtual Machines.

Note that under a Virtual Machine, the USB drive will appear to an OS as a hard disk (hd0 or \dev\sda) and not as a USB drive.

Note that Plop! uses a read-only USB 2.0 driver — it does not work properly with E2B because it does not support writes to the USB drive.

Useful Terminology

    • USB — Universal Serial Bus — a specification to allow communication between a device and a host controller
    • USB Drive — a storage device that communicates via USB
    • USB Hard Disk — a hard disk that connects to a host controller (e.g. computer) using USB
    • USB Flash drive — a flash memory dive that connects to a host controller (e.g. computer) using USB
    • UFD — USB Flash drive
    • Bootable UFD — a USB flash drive that a computer can boot from instead of a hard disk or CDROM/DVD
    • Pen drive — a nickname for a UFD
    • Thumb drive — a nickname for a UFD
    • Fake USB Flash drive — a USB flash drive that reports its capacity incorrectly and may also contain faulty flash memory.
    • PBR — Partition Boot Record, contains the boot code and filesystem tables. It is located at the start of a formatted partition and is typically used to boot an OS.
    • VBR — Volume Boot Record — see PBR — alternative name for PBR
    • MBR — 512 byte Master Boot Record, contains the initial boot code which determines which partition to boot to. A partition table within the MBR contains details of where the partitions are located and which one is bootable. Floppy disks do not have an MBR. ZIP disks do have an MBR but boot as large (super) floppy drives.
    • OS — Operating System such as Windows, MS-DOS, FreeDOS, linux, etc.

Install XP from an XP Install ISO using two boot steps

If you have an unmodified, original Microsoft ISO, then you will only be able to install to an IDE target system using this method. You need to press F6 at the start of XP Setup.

For more details on how to install Windows XP using the 2-step FiraDisk method see the instructions in Tutorial #30 (hint: if you get BSOD in Step 1, try without pressing F6).

Windows XP Installs using the 2-Step + F6 method

Note: Your Windows XP Install ISO file must be in the \_ISO\WINDOWS\XP folder. If it is 64-bit Windows XP, ensure that the numbers ’64’ are used in it’s name — this will suppress the DPMS feature (DPMS only works for 32-bit XP)

See here for more detail about this process.

1. Boot from your E2B drive, press W for the Windows menu and then Alt+1 for Step 1

2. Choose from the list of XP ISOs

3. You will see some instructions about pressing F6 — on some systems pressing F6 during Windows XP Setup is not necessary. So try not pressing F6 first.

If you get a BSOD in Step 1 or XP cannot detect your internal hard drive, then reboot and press F6 and select FiraDisk32+WinVBlock32. If you have a system which uses a SATA AHCI HDD controller, also add that driver too (if it is present).

See Tutorial 30 for how XP ISO installs work using FiraDisk/ImDisk.

See here for a list of AHCI drivers included with the F6 XP install process used in E2B. You can identify your AHCI controller using the List Disk Controller PCI IDs menu.

4. Continue with the text mode setup and allow the system to reboot after the copy-files stage has completed

5. Reboot back to the E2B USB drive (do NOT allow the computer to boot from the internal HDD). Select W and Alt+2 for Step 2.

6. The system should now boot from the internal HDD and continue the GUI Setup phase of the XP install. It may be necessary to confirm the loading of some drivers during this phase.

7. Once XP has been fully installed, you can delete the storage drivers which show up as errors in Device Manager and then install all drivers for your hardware in the usual way.

How it works

The whole Clover boot chain is:

MBR — grldr — (grub4dos menu) — \Clover\boot0ss — PBR (code from \Clover\BOOT1F32ALT7) — \boot7 — \EFI\CLOVER\CLOVERX64.efi (or CLOVERIA32.EFI if 32-bit system).

BOOT1F32ALT7 looks for \boot7 by default. The normal Clover boot1xxx PBR code files look for \boot by default. You can override the default boot file by pressing a number key within 2 seconds — e.g. press 2 to boot using \boot2. I suggest you read my blog here for more details.

Once in the Clover GUI, we need to boot from the default \EFI\BOOT\bootx64.efi file (or \EFi\BOOT\bootia32.efi if a 32-bit system) to boot to an OS in UEFI mode — Clover will find these files on all drives and display an icon for each one.

The NTFS.efi driver is automatically loaded from \EFI\CLOVER\drivers64.

Boot icons in the GUI menu can be suppressed by editing the \EFI\CLOVER\config.plist file — e.g.









In the GUI menu — normally F1 will give you Help and pressing SPACE when an icon is selected will give you more information and boot options for that entry.

Windows Install ISOs

These should be placed under the \_ISO\WINDOWS\ folder in the correct sub-folder.

For example, Windows 8 install ISOs should go in the \_ISO\WINDOWS\WIN8 folder.

Windows Install ISOs do not need to be fully contiguous.

Do not confuse the \_ISO\WINDOWS folder with the \_ISO\WIN and \_ISO\WINPE folders which should not be used for Windows Install ISOs (though some may work in these or other menu folders, others may not!).

Unless E2B uses ‘WIMBOOT’, Vista and later OS Install ISOs also require an AutoUnattend.xml file to be on a removable drive (i.e. a USB Flash Drive which shows as the Removable type in RMPrepUSB). WinPE v2/3/4 (which is booted to from Windows Setup) picks up the AutoUnattend.xml file automatically — it searches all removable drives for that filename as soon as it has booted and the wpeinit.exe command is run. If your USB drive is not of the Removable type, you will need to convert the ISO to a .imgPTN file or add a WinHelper Removable flash drive.


To make an E2B drive, download the executable and use the large red ‘Make E2B Drive’ button…

The other buttons are:

  • Make_E2B_USB_Drive.cmd — you can choose a physical USB drive number to partition, use a partition size larger than 137GB, choose FAT32 or NTFS and choose various language/keyboard combinations and menu ‘stamps’ — see below. Use this if your USB drive is not formatted or it not listed in the drive list box.
  • Extract E2B — extract all the files in the download to a new folder on your Desktop
  • Update E2B Drive — updates any connected E2B drive to this version of E2B
  • Test with QEMU — use this to check that your USB drive boots to the E2B menu correctly — you may even be able to boot to some 32-bit ISOs too!


Note: To support direct MBR-booting of Windows .VHD, .VHDX and .WIM files using E2B, bootmgr must be copied to \_ISO\e2b\grub\DPMS\NTBOOT.MOD\bootmgr on the E2B USB drive. The Make_E2B utility will try to download or find the correct version for you and copy it to the E2B drive.

E2B will warn you if the bootmgr file on the E2B drive is not compatible. Only certain Windows 8/8.1 versions of bootmgr will work. Windows 10 versions of bootmgr will give a BSOD. Win8.1 Bootmgr versions that work have sizes of 389720, 389720, 398144, 398156, 398356, 427680, 404250, 409154, 403390 or 400517 bytes. You can obtain the correct version from an official Microsoft Windows 8.1 Install ISO.

Tip: Download and run Add_bootmgr_to_E2B to automatically add the correct version of bootmgr to all your old E2B drives (internet connection required). The same file can be found at \_ISO\docs\Make_E2B_USB_Drive\Add_Bootmgr_to_E2B_drives.cmd on your E2B drive.

Applications that may interfere with Make_E2B.exe

The following applications are known to cause issues when making E2B USB drives, you may need to uninstall/disable them:

  • ASUS USB 3.0 Boost Storage Driver
  • Avira Antivirus
  • Bit Defender Client Security
  • Defraggler
  • Explorer++
  • Genie Timeline Backup Pro
  • Panda USB vaccine
  • Paragon ExtFS for Windows / Paragon HFS+ for Windows
  • RealPlayer Cloud
  • Trend Micro OfficeScan and some other versions of Trend Anti Virus.
  • Acronis True Image (installed) prevents writes to MBR
  • USB Drive Letter Manager (USBLDM)

Make a USB drive from the extracted files

For more experienced users, you can also extract the E2B files from the self-extracting (rar) executable.

1. Extract the E2B download to a new folder using the Extract E2B button in the Make_E2B.exe GUI.

You can add payload (e.g. ISO) files to the new folder now if you wish, or directly copy your payload files to the E2B USB drive later, after you have made it.

   Now insert your USB drive.
   I recommend you temporarily turn off anti-virus protection for the next step…

2. Run the MAKE_E2B_USB_DRIVE (run as admin).cmd script (NTFS is the recommended choice when prompted) — the USB drive must have a drive letter assigned by Windows (C: to Z:).  If using a large USB HDD, I recommend a maximum of 128Gib for the E2B partition — you can create a 2nd Primary partition later for any other files if one has not been created already (delete any existing 2nd partition first).

3. Copy any more payload files (ISOs, etc.) into the correct sub-folders under \_ISO (e.g. \_ISO\MAINMENU) of the USB drive.

4. Run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd from the USB drive. This step is only required if the payload files are fragmented, but you might as well do it now.

More Information

Recommended USB drives

Tip: Always buy USB 3.0/3.1 drives if possible — they are faster and are fully backwards compatible with USB 2.0, so there is no reason to buy USB 2.0 drives!

Removable USB Flash drive — I highly recommend the SanDisk Extreme range 64GB/128GB USB 3.1 — it is the best and fastest USB drive for E2B that I have found (note: avoid older versions which may be of the Fixed-disk type. Also, avoid ‘fast’ USB drives such as the Lexar P20 Flash drive or Kingston HyperX because they are very slow with small files and WindowsToGo!). See here for an interesting comparison between the SanDisk Extreme Pro, Pro 3.1 and Sandisk Extreme. The maximum recommended size for the first partiton is 128GiB/137GB — there can be BIOS compatibility issues with USB drives >137GB.External USB HDD (max 2TB), for best compatibility, I recommend a non-UASP USB 3.0 SATA drive enclosure (such as the IT-CEO USB 3.0 IT-700 — see blog post on enclosures here).  I also highly recommend the IODD 2531 HDD enclosure- see blog post here, this drive can emulate USB CD/DVD drives and can also be used to boot E2B without needing a ‘Helper’ USB flash drive and you can write-protect the HDD whilst in use.

Beware of some native 4K-sector external USB Hard Disk drives whch often come with an XP driver — they will not MBR-boot!

Some ‘bad’ BIOSes cannot access files on USB drives which are past the 137GB (128GiB) point. Keep the first E2B partition below 137GB. 

Linux users — please go here for instructions. 

If possible, use Windows to make the E2B USB drive because it will be more compatible on a wider range of systems (2 partitions should be created for best compatibilty).

Do not Write-Protected the USB drive — When booting from an E2B drive, the drive must not be write-protected. However, when connecting it to a Windows\Linux system to run software from the drive, it is useful to write-protect the USB drive to prevent infection from the user’s OS. WP USB3 drives are available from Kanguru or Netac.

Quick Setup Guide — For help on making an E2B USB drive and how to add payload files.

Spanish video — Make E2B USB using Windows (Español) here


Easy2Boot v2 includes agFM which allows you to UEFI-boot from the USB drive and select an ISO, WIM file, VHD file, IMG file, etc.

You can instead switch-in a UEFI-bootable partition image (.imgPTN23 files):

  1. Install the MPI Tool Kit.
  2. Convert the ISO (or payload file) to a FAT32 .imgPTN23 file by dragging-and-dropping the ISO onto the MPI_FAT32 Desktop shortcut.
  3. Copy the .imgPTN file to your E2B drive (e.g. \_ISO\MAINMENU folder).
  4. Run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd from the E2B drive.
  5. Select the .imgPTN23 file from the E2B menu — OR — run \_ISO\SWITCH_E2B.exe in Windows and double-click on the .imgPTN file. The USB drive’s E2B partition will be replaced by the new image.
  6. Now UEFI-boot from the E2B USB drive.

If your system does not have an MBR-boot option, you can UEFI-booot to the agFM menu or add WinPE files to a 2nd partition so that you can UEFI-boot to WinPE and select a .imgPTN files (see here for details).

Method 1 (by David Mathog)

The following is taken from a post by David Mathog at http://us.generation-nt.com/answer/bootable-usb-stick-broken-bios-help-204344491.html

We have a lot of computers with a broken Award BIOS (version F9 for the Gigabyte MA785GMT-UD2H) that is insanely picky about what must be on a USB key if it is going to boot.

For instance, the BIOS compatibility (memtest86+) test at http://www.pendrivelinux.com/testin…atibility/ not only didn’t run, it wasn’t even displayed as an option in the HDD list! I tried a bunch of USB installers (some from the pendrivelinux site) and USB how to’s, including the ones about how to make the USB look like a zip drive, and the only success was by installing syslinux with RMPrepUSB on Windows. By essentially working backwards from the USB stick it produced, and with a lot of help from the author of that package, I finally came up with a series of more or less standard linux commands that would generate a bootable USB stick for this BIOS. Hopefully the next person who runs into this BIOS issue will find this post and can save themselves a lot of time and effort.

The USB stick used is a SanDisk Cruzer Blade 4GB. Using a different stick would only change the number of Cylinders in the following (to adjust to the size of that disk).

The device on this machine is /dev/sdb, use what is appropriate on your machine or this could munch other disks!!!

#wipe the beginning of the disk. Here the first 4M.

dd if=/dev/zero of=/dev/sdb bs=4k count=1k

# partition the USB stick so that H=255,Sec=63, and C*H*S is

# the size of the disk (or slightly smaller). This is KEY.

# I used the grub4dos installer option in RMPrepUSB to see

# what geometry the BIOS would accept. It turned out that if

# a second partition was created, or the ends of this one

# changed around, the linux kernel would use its own logical

# geometry information for the drive, which would then be used

# in turn by mkfs.vfat. That is, even if it was set to the CHS

# I wanted with fdisk or sfdisk, if there was any inconsistency,

# the kernel would fall back to its own representation instead

# of using the CHS specified. Note the math for the values

# below: 489*255*63= 7855785, 7855785 = 7855722+63

# The partition starts at sector 63 since that worked in the one

# produced by RMprepUSB, and there was no good reason to change it.


# create a text file


cat >sfdisk.in <<EOD

unit: sectors

/dev/sdb1 : start= 63, size= 7855722, Id= c, bootable

/dev/sdb2 : start= 0, size= 0, Id= 0

/dev/sdb3 : start= 0, size= 0, Id= 0

/dev/sdb4 : start= 0, size= 0, Id= 0


sfdisk -f -C489 -H255 -S63 /dev/sdb <sfdisk.in


# Install fat32 in the one partition.

# Install master and partition boot blocks.

# ms-sys is from http://ms-sys.sourceforge.net/


mkfs.vfat -F 32 -n Test /dev/sdb1

./ms-sys -H 255 -w /dev/sdb

./ms-sys -p -H 255 -w /dev/sdb1



# at this point for some odd reason syslinux tends to go nuts if run

# immediately, looping like crazy on

# file is read only, overwrite anyway (y/n) ?

# so unplug the drive, plug it in again, wait for it to automount

# then do:


umount /dev/sdb1

syslinux /dev/sdb1

Test with:

qemu /dev/sdb

and it boots into syslinux. Test by booting on the target machine and:

1. it shows up in the HDD list (after pressing F12 to get to the boot list)

2. it does not stop with a «boot error»

3. it does not stop with an «operating system not found»

4. it ends up with the expected syslinux text on the screen

That is all as it should be, since there is nothing else on the disk for syslinux to transfer control to.

At this point one can install whatever linux distro or other tools are desired on the USB stick. Since mine was for recovery purposes, I used

PLD Rescue (http://rescuecd.pld-linux.org/). usb.zip (see below) is from that site too.

cd /tmp

mkdir foo

mkdir usb

umount /dev/sdb1

mount /dev/sdb1 /tmp/usb

mount -o loop,exec /tmp/RCDx86_11_02.iso /tmp/foo

cd usb

unzip /tmp/usb.zip

cd ../foo

cp rescue.cpi ../usb

cd boot/isolinux

cp initrd.ide vmlinuz memtest /tmp/usb

umount /dev/sdb1

This USB Flash key was displayed in the HDD boot menu and booted into PLD on the target machines, despite everything that Award BIOS put in the way to prevent it.

The following variant also creates an extra small empty partition which may help to increase success with some BIOSes.

cat >sfdisk.in <<EOD

unit: sectors

/dev/sdb1 : start= 63, size= 7855596, Id= c, bootable

/dev/sdb2 : start= 7855659, size= 126, Id!

/dev/sdb3 : start= 0, size= 0, Id= 0

/dev/sdb4 : start= 0, size= 0, Id= 0



David Mathog

Оцените статью
Рейтинг автора
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
Добавить комментарий