Create an all-in-one x86+x64 Win7/Vista/Server 2008/R2 USB stick

One of the great things about the Vista and post-Vista operating systems is that the installer subsystem allows you a great deal of flexibility when it comes to installing multiple operating systems. It is fairly easy to put together a single installation DVD or USB stick that will allow you to install Vista, Windows 7, Server 2008 and Server 2008 R2 – in a variety of x86 and x64 flavors.

A couple of things to note about this guide:

  • I do not use Vista — I have never really used Vista and now with Windows 7 out there really is no reason to; however the steps here should work just fine with Vista installation sources
  • I have only tested this using a USB stick and will only cover that method here – it’s much more flexible (and faster) for installation than using DVD — but DVDs should work just fine: you can find plenty of tutorials on the web that will tell you how to use oscdimg.exe to take the files we create here and turn them into a burnable ISO

WHAT YOU WILL NEED:

  • USB stick, at least 4 GB (perhaps larger depending on how many OSes you plan to integrate, I use a 16 GB) that has been properly formatted using Steps 1 and 2 here
  • ISOs or DVDs of the operating systems that you plan to integrate
  • imagex.exe (can be found for download on the web, or you can download the full 1.7 GB WAIK here)
  • computer running Vista or newer operating system (XP should work but I have not tested it)

STEP 1: Extract the operating system files

Take your various ISO files or DVDs and copy their contents into subfolders on your hard drive – in my case I have Windows 7 x86, Windows 7 x64, and Windows 2008 R2, so I created folders called e:\7×86, e:\7×64, and e:\2008r2    (E is the letter of my hard drive, not the USB drive).

STEP 2: Browse the WIM files and extract the desired editions

Open a WAIK command prompt, or browse to whatever folder you downloaded imagex.exe to within an administrative level command prompt.  Start by running the following command:

imagex.exe /info e:\7×86\sources\install.wim

This will display a big verbose mess that, once you parse through it, lists out all the editions embedded in the WIM file (and their associated index #).  Most default Microsoft WIMs will have multiple editions – in this case the ones in the Windows 7 x86 WIM boil down to:

  • 1 Starter
  • 2 Home Basic
  • 3 Home Premium
  • 4 Professional
  • 5 Ultimate

Since Starter edition is basically worthless, I only want editions 2-5 in my custom WIM file, so I run these commands one after another:

imagex.exe /export e:\7×86\sources\install.wim 2 e:\install.wim “Windows 7 HOMEBASIC (x86)” /compress maximum

imagex.exe /export e:\7×86\sources\install.wim 3 e:\install.wim “Windows 7 HOMEPREMIUM (x86)” /compress maximum

imagex.exe /export e:\7×86\sources\install.wim 4 e:\install.wim “Windows 7 PROFESSIONAL (x86)” /compress maximum

imagex.exe /export e:\7×86\sources\install.wim 5 e:\install.wim “Windows 7 ULTIMATE (x86)” /compress maximum

I now have an install.wim file in the root of my E drive that contains only the editions I specified in these commands.  Next,  I want to integrate Windows 7 x64 so I repeat the above steps using the 7×64 path instead of 7×86.  You will notice that the x64 version of Windows 7 has no Starter edition, so the index numbers are not the same as the x86 source!  Also, since just about any machine new enough to run x64 is likely new enough to handle Aero graphics, I don’t bother with integrating the Home Basic version of x64 into my WIM – so I only add Home Premium, Professional, and Ultimate.

I then repeat these steps again using the Windows 2008 R2 source (here again I discriminate – I only pull Standard, Enterprise, Standard Core, and Enterprise Core because I have no use for the DataCenter or Web versions).

You can of course integrate any OSes and editions you like!  When you are done, you will have an install.wim file of varying size (for those of you planning on burning to DVD, you may have issues with WIM files that are larger than 4 GB…  To get around this see this link)

STEP 3: Finalize the USB stick

You must now choose which OS you want to use as the boot environment – this needs to be an x86 operating system if you plan to install any x86 OSes (because x86 OSes cannot be installed from x64 boot environments).  You also want to use the newest operating system you can, because you may encounter issues if you try to deploy an OS that is older than the boot environment – in my case I use Windows 7 x86 to ensure I can deploy any operating system I like:

  • take the custom install.wim file (from E:\) and replace the install.wim file in e:\7×86\sources
  • copy all contents from e:\7×86 to your USB stick
  • ***EDIT*** please see JAG’s comment below for a link to the extra step required to get the server OS to work properly!

Now boot from the USB stick and you should see all your OSes, like below!

osinstall1 osinstall2

Advertisements