27 posts in this topic

How install all versions of Vista / 7 / 8 from a single USB hard drive

*update* 11/15/2012.

While this method still works great it does require an earlier version of EasyBCD. I recently tried this method and was having ZERO luck. As it turns out newer versions of EasyBCD won't let you add an entry to the boot list, if it's on a drive / partition other than where the boot menu is located, at least not a WIM file. Older versions don't care. You can find the older version in a link below.

I recently had a spare 250 gig 2.5 external hard drive lying around my shop. I wanted to put it to use but I couldn?t really think of anything to use it for.

Then I thought, hmmm I wonder if it would be possible to put all the setup files for Vista 32/64 and 7 32/64 all onto the same external hard drive and install windows from that. I?ve installed all of those operating systems off an usb key at one time or another, but I would either loose the sticks or the labels would rub off and I would never be sure which usb key had which OS on it. So I would always revert back to using individual cd / dvds.

Then I thought, wouldn?t it be nice if I had 1 hard drive that when booted would give me an option as to which Operating system I wanted to install?

I knew I?d probably have to use some kind of Boot loader software. The first one that came to mind was EasyBCD. It was also free, so that was nice.

*Warning, content Beyond this point may make you wet yourself.*

The instructions in this guide pertain to Windows Vista, Windows 7 and Windows 8 only. Windows XP is not very USB friendly. I was able to install XP off a usb stick once upon a time, but the speed was so slow, a CD would have been faster. So for this guide we will only be focusing on Windows Vista/7/8.

The first thing you need to do is get yourself an spare external hard drive. I recommend a USB hard drive instead of a large thumb drive because the transfer rates will generally be a lot better.

Next you have to partition your USB Hard drive. If you already know how to do this, then create a partition for each Windows Install you wish to put on the drive. Make each install partition 4 gigs using the NTFS file system. Also create a 20 gig Tools partition.

For everyone else follow these instructions.

First open up ?Computer Management? You can find it in the control panel under Administrative tools / Computer management. Or just open up the run box (Windows key +R) and type compmgmt.msc and press enter.

Then click ?Disk Management?

managmentsmall.jpg

This will show you all the hard drives / partitions on your system. When you select your external hard drive make SURE it?s your external hard drive. We don?t want you accidentally deleting and partitioning the wrong drive, because that would suck.

Once you find the external hard drive in the list, delete all the drives partitions. When finished you should have one giant area called ?unpartitioned space?.

Now right click the unpartitioned space and left click ?New Simple Volume?. Then follow the wizard. You want to make each setup Partition 4 gigs in size using the file system NTFS. Whatever is left I would leave as unpartitioned space. This way in the future you can return and make more setup partitions if you wish.

I?d also make 1 partition called ?Tools? and make that quite large. I made mine 20 gigs. We will be using that partition later on.

So now that we have our drive sliced and diced just how we like it, it?s now time to put the setup files on their specified partition. The Vista and 7 iso?s don?t extract very well. So it?s easier to mount each ISO using daemon tools or something similar, and then copy each Window install cd to their designated partition.

*Note* To be able to choose from all the different win 7 versions during the install, search for and delete the file ei.cfg from your windows 7 partition for both 64 and 32bit versions

Now download and install Easybcd using the following URL.

http://neosmart.net/dl.php?id=1

Once installed open the application.

We will start by installing the BCD Boot manager to the external hard drive. To do this click the ?Bootloader setup? from the left hand side. Then drop down ?Partition? on the right hand side and select your

?tools? partition, and then click ?Install BCD?. Once again make sure you've selected the partition of your external hard drive.

installj.jpg

After a few second it should be installed. Then it will ask you if you want to work on the Bootloader you just created. Choose yes.

Now click ?Add New Entry?. You will be using these steps for each of the installs you wish to setup.

At the bottom on the ?WinPE? tab the type should say "WIM Image (Ramdisk)"

70878202.jpg

For the name, type the Operating system you will be installing.

In the path field, click browse and navigate to the partition of the Windows install on your portable hard drive you wish to use. Now open the sources folder and double click on ?boot.wim?. Then click ?Add Entry?

Now just repeat that process for every Vista / 7 setup you wish to configure

It gets even better. On the bottom you will also see an ?ISO? tab. Yep that?s right, it also lets you specify and boot from ISO images. Like BartPE, Memtest or even a Linux Live cd just to name a few. This is why I created a separate tools partition. I use this partition to put all my ISO images.

How cool is that?

Once you are finished, close the application and reboot your computer.

Now tell your computer to boot from the USB hard drive. If successful your new boot menu will appear and each of the Windows Install?s you configured should show up in the list as well as any ISO?s you?ve specified.

windowsinstaller.jpg

Enjoy!.

Edited by warwagon
6 people like this

Share this post


Link to post
Share on other sites

NICE!!! yes.gif

This is just what I need as I regularly setup computers for family, friends and relatives! Will try this out soon! biggrin.gif

Share this post


Link to post
Share on other sites

Yes really nice :D.

I am just worried about viruses. if I am formatting a machine full of viruses or malwares, I need some protection so notthing comes from the machine to the harddisk.

Share this post


Link to post
Share on other sites

This is an excellent guide, but I am having a problem.

Say if I wanted to have 4 Primary partitions, how do I do this? If I make any more than 2 Primary partitions, it joins into an Extended partition, and EasyBCD does not recognize this.

Share this post


Link to post
Share on other sites

Yes really nice :D.

I am just worried about viruses. if I am formatting a machine full of viruses or malwares, I need some protection so notthing comes from the machine to the harddisk.

Just don't plug in the drive until you are ready to format and outside of windows. If you boot from the external hard drive the virus can't crawl onto the drive.

Share this post


Link to post
Share on other sites

Using grub4dos and chainloading in to the ISO directly, you could create a multi version 64bit and x86 all version Windows 7 and Windows Vista .ISO files and boot directly from the iso files themselves. Far more tidy and quite easy to configure, plus there is already a guide on how to do that...

http://www.neowin.net/forum/topic/621496-create-a-multi-boot-rescue-usb-flash-drive/

I'll have to mess with that. Using Easybcd and booting from the windows vista/7 iso booted but it wouldn't detect any drives and it was complaining about drivers.

Share this post


Link to post
Share on other sites

Or, you could just "inject" all version of 7 and Vista into a single boot.wim

I was able to create two USB sticks...one with all NT 6.x Server operating systems in one wim file and another with all NT 6.x client operating systems in one wim file so it boots up just like a normal Windows 7 installer but has a large selection of OS's at the selection screen.

You can read up on doing that here:

http://www.msfn.org/...e-wim-question/

And seeing as I'm using a USB stick, I have a folder called Storage that has a bunch of drivers for RAID/SATA/AHCI controllers that I point the install to at the appropriate time.

Share this post


Link to post
Share on other sites

Or, you could just "inject" all version of 7 and Vista into a single boot.wim

I was able to create two USB sticks...one with all NT 6.x Server operating systems in one wim file and another with all NT 6.x client operating systems in one wim file so it boots up just like a normal Windows 7 installer but has a large selection of OS's at the selection screen.

You can read up on doing that here:

http://www.msfn.org/...e-wim-question/

And seeing as I'm using a USB stick, I have a folder called Storage that has a bunch of drivers for RAID/SATA/AHCI controllers that I point the install to at the appropriate time.

Even better! 1 ISO to rule them all! :p

Share this post


Link to post
Share on other sites

Or, you could just "inject" all version of 7 and Vista into a single boot.wim

I was able to create two USB sticks...one with all NT 6.x Server operating systems in one wim file and another with all NT 6.x client operating systems in one wim file so it boots up just like a normal Windows 7 installer but has a large selection of OS's at the selection screen.

You can read up on doing that here:

http://www.msfn.org/...e-wim-question/

And seeing as I'm using a USB stick, I have a folder called Storage that has a bunch of drivers for RAID/SATA/AHCI controllers that I point the install to at the appropriate time.

+1 to this method. Already done this. Incorporated all the editions of Windows 7 and Windows Vista x86 & x64. Works flawlessly all on one DVD.

Share this post


Link to post
Share on other sites

i want to ask before i try :)

i have external 500 gb usb harddisk

100 gb is free..

i will create a new partition will use EASEUS Partition Master (Home Edition) from the free space

make it 20gb or so ,. name it tools or so

install easybcd on it

put one windows 7 iso on it .. i only need that

my question now

will that work ?

i dont want to format the whole hard drive

Share this post


Link to post
Share on other sites

Updated the first post.

Share this post


Link to post
Share on other sites

very nice Tut war.

Share this post


Link to post
Share on other sites

Thanks for the guide Adam (Y)

Wanted to point out a few extra tips:

- With MBR you can only have up to four primary partitions - Disk Management will automatically create logical partitions beyond three primary partitions, and you can't install bootloaders to a logical partition (i.e. Tools). It might be a good idea to create the Tools partition as the first primary partition.

- Booting from ISOs didn't work when they were located on a different partition than the one with the bootloader.

- Don't try booting off Windows ISOs via EasyBCD. You'll hit a "missing driver" error in Windows Setup.

- EasyBCD 2.2 doesn't work as it refuses to accept a different drive for WIM files other than BOOT. While EasyBCD 2.0.2 will work, it doesn't boot say newer Ubuntu discs.

Share this post


Link to post
Share on other sites

Thanks for the guide Adam (Y)

Wanted to point out a few extra tips:

- With MBR you can only have up to four primary partitions - Disk Management will automatically create logical partitions beyond three primary partitions, and you can't install bootloaders to a logical partition (i.e. Tools). It might be a good idea to create the Tools partition as the first primary partition.

- Booting from ISOs didn't work when they were located on a different partition than the one with the bootloader.

- Don't try booting off Windows ISOs via EasyBCD. You'll hit a "missing driver" error in Windows Setup.

- EasyBCD 2.2 doesn't work as it refuses to accept a different drive for WIM files other than BOOT. While EasyBCD 2.0.2 will work, it doesn't boot say newer Ubuntu discs.

Thanks, I recently purchased the ISOstick http://isostick.com (should be here early next week) i'll be reviewing it when arrives. Should make all of this a lot easier.

Share this post


Link to post
Share on other sites

Can you do the same with Linux?

Share this post


Link to post
Share on other sites

Windows 8 does not work with this.

 

I installed a brand new SSD into a workstation with Windows 7 already installed.

 

I initialized the SSD as MBR.

 

I created the first volume 4GB capacity formatted NTFS; assigned drive letter W.

 

I created the second volume 4GB capacity formatted NTFS; assigned drive letter X.

 

I created the third volume 20GB capacity formatted NTFS and named "Tools"; assigned drive letter Y.

 

I copied all my ISOs to the third volume (drive letter Y).

 

I mounted the Windows 7 Professional ISO with Daemon Tools, and copied and pasted everything in the virtual drive into the root of W:.

 

I unmounted the Windows 7 Professional ISO and then mounted the Windows 8 ISO, and copied and pasted everything in the virtual drive into the root of X:.

 

I unmounted the WIndows 8 ISO.

 

I launch EasyBCD 2.2 --> BCD Deployment --> select the partitioned identified as drive letter W --> click on "Install BCD" button. A moment later it asks if I want to edit it and I click on Yes.

 

The Edit Boot Menu list is empty, so I go to Add New Entry --> WinPE. I leave the Type set to its default of "WIM Image (Ramdisk)", type in "Microsoft Windows 7" for the Name, for Path I browse it to W:\sources\boot.wim, and I click on the Add Entry button. A few moments later the bottom-left corner of EasyBCD displays a message that it was added successfully.

 

I do this again. I am in Add New Entry --> WinPE with Type set to "WIM Image (Ramdisk)", Name now changed and set to "Microsoft Windows 8", for the path I browse it to "X:\sources\boot.wim", and I click on the Add Entry button. It gives me a pop-up asking me if I am sure because this is a different drive, and I hit Yes. A few moments later the bottom-left corner of EasyBCD displays a message that it was added successfully.

 

I save the EasyBCD configuration to the third volume (drive letter Y) just in case I need to edit this again. I reboot and use the Boot Menu key F9, and select the SSD that is plugged into SATA4 in my computer. I select Windows 8 from the list instead of Windows 7, hit ENTER, and wait for it to enter setup. Once it loads and enters, I see that it is Windows 7 and not Winodws 8 setup.

 

I have repeated these steps multiple times and have even tried adding the Windows 8 ISO as a straight ISO-boot from the third volume and trying "Extracted Filesystem Layout" from WinPE. Neither of these work, and it gives an error when trying to boot it using Extracted Filesystem Layout (not booting into the EasyBCD boot menu, but when I select the Windows 8 EFL entry and hit ENTER). I am unable to get this working so that I can chose to boot the Windows 8 ISO if I need to use it. I have no problems booting to other ISOs such as Memtest86+ or Windows 7; I know it works and that I'm doing it correctly as far as everything-not-Windows-8 goes. I have tested this in a completely different system as well using a USB hard drive docking station and was successful with everything except, again, Windows 8.

 

Please help! How do I make it so I can boot the Windows 8 installer with EasyBCD while also having the choice of booting the Windows 7 installer? It always boots into the Windows 7 installer when I try to boot into the Windows 8 installer.

Share this post


Link to post
Share on other sites

the reason why this is not working with windows 8 / 8.1 is because the usb disk needs to be set up for UEFI

 

this might help you with your problem.

http://www.eightforums.com/tutorials/15458-uefi-bootable-usb-flash-drive-create-windows.html

 

also if your laptop has a hardcoded product key for windows you will need to add your key info to a file on the disk or if you are installing on a laptop that is not your own then you will need to use one of those master product keys that will let you install but not activate.  you can activate after have installed.

Share this post


Link to post
Share on other sites

So do I apply Rufus on the second volume (drive letter X) that has the Windows 8 installation files, or do I apply it to the first volume (drive letter W) followed by installing BCD on it?

the reason why this is not working with windows 8 / 8.1 is because the usb disk needs to be set up for UEFI

 

this might help you with your problem.

http://www.eightforums.com/tutorials/15458-uefi-bootable-usb-flash-drive-create-windows.html

 

also if your laptop has a hardcoded product key for windows you will need to add your key info to a file on the disk or if you are installing on a laptop that is not your own then you will need to use one of those master product keys that will let you install but not activate.  you can activate after have installed.

Share this post


Link to post
Share on other sites

Or, you could just "inject" all version of 7 and Vista into a single boot.wim

 

I was able to create two USB sticks...one with all NT 6.x Server operating systems in one wim file and another with all NT 6.x client operating systems in one wim file so it boots up just like a normal Windows 7 installer but has a large selection of OS's at the selection screen.

 

You can read up on doing that here:

 

http://www.msfn.org/...e-wim-question/

 

And seeing as I'm using a USB stick, I have a folder called Storage that has a bunch of drivers for RAID/SATA/AHCI controllers that I point the install to at the appropriate time.

I know this is an old topic, but can someone repost this link as plain text? For me, all this links on this page just get redirected to this page. Searching for this topic in msfn also has not gotten me the info.Thanks

Share this post


Link to post
Share on other sites

 

I know this is an old topic, but can someone repost this link as plain text? For me, all this links on this page just get redirected to this page. Searching for this topic in msfn also has not gotten me the info.Thanks

What are you trying to accomplish?

I don't use that method anymore.  I just use NTLite

Share this post


Link to post
Share on other sites

Trying to pile all versions of windows 8.1 into 1 install disk (USB flash drive) and sliptstream the HD drivers too. 

Share this post


Link to post
Share on other sites

You can do this using Windows provided its a fixed disk device. Here is an example script someone posted online and I adopted it adds 4 .wim files to the boot menu.

Diskpart /s C:\ProgramData\Neowin\Scripts\HideServicePartitions.txt
XCOPY C:\ProgramData\Neowin\RecoveryPartition\* A: /y /e  

bcdedit /export C:\ProgramData\Neowin\Neowin_Source.bcd
bcdedit /set {default} bootmenupolicy standard
Bcdedit /create {ramdiskoptions} 
bcdedit -set {ramdiskoptions} ramdisksdidevice partition=A: 
bcdedit -set {ramdiskoptions} ramdisksdipath \sources\boot.sdi
bcdedit -set {bootmgr} timeout 1

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Windows Recovery Envorinment" /application osloader') do set guid1=%%c
bcdedit -set %guid1% device ramdisk=[A:]\sources\WinRE.wim,{ramdiskoptions}
bcdedit -set %guid1% path \windows\system32\winload.efi
bcdedit -set %guid1% osdevice ramdisk=[A:]\sources\WinRE.wim,{ramdiskoptions}  
bcdedit -set %guid1% winpe yes
bcdedit -set %guid1% nx optin
bcdedit -set %guid1% detecthal yes
bcdedit -set %guid1% systemroot \Windows
bcdedit -displayorder %guid1% -addfirst 

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Microsoft DaRT" /application osloader') do set guid2=%%c
bcdedit -set %guid2% device ramdisk=[A:]\sources\DaRT10.wim,{ramdiskoptions}
bcdedit -set %guid2% path \windows\system32\winload.efi
bcdedit -set %guid2% osdevice ramdisk=[A:]\sources\DaRT10.wim,{ramdiskoptions}  
bcdedit -set %guid2% winpe yes
bcdedit -set %guid2% nx optin
bcdedit -set %guid2% detecthal yes
bcdedit -set %guid2% systemroot \Windows
bcdedit -displayorder %guid2% -addfirst 

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Active Boot Disk" /application osloader') do set guid3=%%c
bcdedit -set %guid3% device ramdisk=[A:]\sources\ActiveBootDisk.wim,{ramdiskoptions}
bcdedit -set %guid3% path \windows\system32\winload.efi
bcdedit -set %guid3% osdevice ramdisk=[A:]\sources\ActiveBootDisk.wim,{ramdiskoptions}  
bcdedit -set %guid3% winpe yes
bcdedit -set %guid3% nx optin
bcdedit -set %guid3% detecthal yes
bcdedit -set %guid3% systemroot \Windows
bcdedit -displayorder %guid3% -addfirst

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Paragon Hard Disk Manager" /application osloader') do set guid4=%%c
bcdedit -set %guid4% device ramdisk=[A:]\sources\Paragon.wim,{ramdiskoptions}
bcdedit -set %guid4% path \windows\system32\winload.efi
bcdedit -set %guid4% osdevice ramdisk=[A:]\sources\Paragon.wim,{ramdiskoptions}  
bcdedit -set %guid4% winpe yes
bcdedit -set %guid4% nx optin
bcdedit -set %guid4% detecthal yes
bcdedit -set %guid4% systemroot \Windows
bcdedit -displayorder %guid4% -addfirst
  
bcdedit /export C:\ProgramData\Neowin\Neowin_Production.bcd

Shutdown -r -t 0


And the HideServicePartition.txt contains

select disk 0
select partition 1
assign letter="A" 

 

And the A: partition is just the contents of the windows cd with multiple wims in the sources folder.

The only thing to watch out for is the boot.sdi file which needs to be copied to the sources folder!

So that's how to do it for a Windows To Go or Windows Desktop installation but in this case (without windows installed on the drive) you would do something like this

diskpart
select disk X
clean
convert mbr 
create partition primary size=350
format quick fs=fat32 label="System"
Active
assign letter="S" 
create partition primary
format quick fs=ntfs label="Installers"
assign letter="A"
exit
bcdboot C:\Windows /s S: /f ALL

And then use something like this

bcdedit /store S:\boot\BCD /set {default} bootmenupolicy standard
bcdedit /store S:\boot\BCD /create {ramdiskoptions} 
bcdedit /store S:\boot\BCD /set {ramdiskoptions} ramdisksdidevice partition=A: 
bcdedit /store S:\boot\BCD /set {ramdiskoptions} ramdisksdipath \sources\boot.sdi
bcdedit /store S:\boot\BCD /set {bootmgr} timeout 1

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Windows Recovery Envorinment" /application osloader') do set guid1=%%c
bcdedit /store S:\boot\BCD /set %guid1% device ramdisk=[A:]\sources\WinRE.wim,{ramdiskoptions}
bcdedit /store S:\boot\BCD /set %guid1% path \windows\system32\winload.efi
bcdedit /store S:\boot\BCD /set %guid1% osdevice ramdisk=[A:]\sources\WinRE.wim,{ramdiskoptions}  
bcdedit /store S:\boot\BCD /set %guid1% winpe yes
bcdedit /store S:\boot\BCD /set %guid1% nx optin
bcdedit /store S:\boot\BCD /set %guid1% detecthal yes
bcdedit /store S:\boot\BCD /set %guid1% systemroot \Windows
bcdedit /store S:\boot\BCD /displayorder %guid1% -addfirst 

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Microsoft DaRT" /application osloader') do set guid2=%%c
bcdedit /store S:\boot\BCD /set %guid2% device ramdisk=[A:]\sources\DaRT10.wim,{ramdiskoptions}
bcdedit /store S:\boot\BCD /set %guid2% path \windows\system32\winload.efi
bcdedit /store S:\boot\BCD /set %guid2% osdevice ramdisk=[A:]\sources\DaRT10.wim,{ramdiskoptions}  
bcdedit /store S:\boot\BCD /set %guid2% winpe yes
bcdedit /store S:\boot\BCD /set %guid2% nx optin
bcdedit /store S:\boot\BCD /set %guid2% detecthal yes
bcdedit /store S:\boot\BCD /set %guid2% systemroot \Windows
bcdedit /store S:\boot\BCD /displayorder %guid2% -addfirst 

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Active Boot Disk" /application osloader') do set guid3=%%c
bcdedit /store S:\boot\BCD /set %guid3% device ramdisk=[A:]\sources\ActiveBootDisk.wim,{ramdiskoptions}
bcdedit /store S:\boot\BCD /set %guid3% path \windows\system32\winload.efi
bcdedit /store S:\boot\BCD /set %guid3% osdevice ramdisk=[A:]\sources\ActiveBootDisk.wim,{ramdiskoptions}  
bcdedit /store S:\boot\BCD /set %guid3% winpe yes
bcdedit /store S:\boot\BCD /set %guid3% nx optin
bcdedit /store S:\boot\BCD /set %guid3% detecthal yes
bcdedit /store S:\boot\BCD /set %guid3% systemroot \Windows
bcdedit /store S:\boot\BCD /displayorder %guid3% -addfirst

for /f "tokens=1-4" %%a in ('Bcdedit /create /d "Paragon Hard Disk Manager" /application osloader') do set guid4=%%c
bcdedit /store S:\boot\BCD /set %guid4% device ramdisk=[A:]\sources\Paragon.wim,{ramdiskoptions}
bcdedit /store S:\boot\BCD /set %guid4% path \windows\system32\winload.efi
bcdedit /store S:\boot\BCD /set %guid4% osdevice ramdisk=[A:]\sources\Paragon.wim,{ramdiskoptions}  
bcdedit /store S:\boot\BCD /set %guid4% winpe yes
bcdedit /store S:\boot\BCD /set %guid4% nx optin
bcdedit /store S:\boot\BCD /set %guid4% detecthal yes
bcdedit /store S:\boot\BCD /set %guid4% systemroot \Windows
bcdedit /store S:\boot\BCD /displayorder %guid4% -addfirst


This will work on any x64 pc Bios, UEFI, UEFI Secure Boot (assuming the wims are)

Again it needs a fixed disk so either a HDD or a Windows To Go drive.

Share this post


Link to post
Share on other sites

if this is for Windows Vista, 7, or 8/8.1 you can use the Microsoft Windows USB Tool. If your system installs 8 via UEFI you can use Rufus. Rufus will also work for Windows 10. These two methods are by far the easiest to use.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.