Windows 8 To Go with the Consumer Preview… The right way.

Windows 8 will include a new feature called Windows 8 to Go.  This feature will allow you to install a full installation of Windows 8 on to a USB device.  The USB device has the following advantages:

  1. It will auto detect the hardware of any PC it is booted into the first time.  This means it can run on any hardware that supports Windows 8.
  2. If the USB device is removed the OS will “pause” for 60 seconds allowing the USB device to be plugged back in so the system can be resumed.  If the USB device is not inserted by 60 seconds, the system will shut down.
  3. You get the full performance of the hardware on the computer.  This is real Windows 8 running on the system.

Microsoft released the Windows 8 Consumer Preview, however this feature was not yet released for testing with the Consumer Preview.  This has not stopped many websites and blogs from posting how to create a bootable Windows 8 Consumer Preview to Go instance on a USB stick.  Their guidance boiled down to 3 steps:

  1. Format the USB stick into NTFS and make it active
  2. Use imagex to copy Windows 8 to the USB device
  3. Create a boot loader on the USB device.

While this method works, it has one major drawback.  When Windows boots, it sees the USB stick as drive C (as it should), however it is still considered a removable drive.  This causes several issues. 

  1. Windows Update will not work.  This also means you can’t add features like .Net 2 and 3.5 because these are downloaded from Windows update upon install.
  2. Many applications have issues installing because they see the C drive as removable.
    Since I really wanted to learn about Windows 8 to Go, I figured I had to solve this issue.  Upon looking around the web, the only way I saw people attempting to resolve this was by either using hacked drivers that would trick windows into thinking the USB was a fixed disk, or trying to use a Lexar utility to flip the “removable” bit on a USB stick so it would report it was a fixed disk.  Having looked into both options, they both had big issues, and were extremely hard to get working (if even possible depending on your USB stick, and your ability to sign 64 bit drivers).  After struggling for several days on this it dawned on my that Windows 7 had included the ability to boot from USB drive.  Windows 8 should also include this.
    Upon testing the install of Windows 8 to Go on a USB hosted VHD, I found everything worked as expected.  Windows 8 would boot up, provide all the Windows 8 to Go goodness, but see the C drive (the VHD) as a fixed disk!

So if you would like to try out a fully functional version of Windows 8 to Go here is what you will need:

  1. A USB device with at least 32 GB (a USB hard drive or thumb drive) that will have all data deleted off it.
  2. Downloaded copy of Windows 8 Consumer Preview x64 or x86, your choice (Windows 8 Consumer Preview ISO images)
  3. Imagex.exe (Part of the Windows 7 Automated Installation Kit)
  4. Windows 8 installed on the machine you will do the following steps on

Here is how to do it.

Create a bootable USB with VHD

  1. Open an Administrative command prompt
  2. Type: Diskpart
  3. Type: List Disk image
  4. Take note of the disk number of your USB (mine is Disk 1 in the picture above)
  5. Type: Select Disk #          (Where # is the number from step 4)image
  6. Type: Clean          (THIS WILL DELETE ALL DATA OFF THE USB DEVICE)image
  7. Type: Create Partition Primaryimage
  8. Type: Format FS=NTFS Quickimage
  9. Type: Activeimage
  10. Type: Create VDisk File="E:\BA-Win8ToGo-01.vhd” Maximum=29696 Type=Fixed        (Please replace E: with the drive letter of your USB device)  (If you create the VHD on the wrong drive, you can simply copy it to the USB device before continuing)  This step will take a while depending on the speed of your USB device.image
  11. Type: Select Vdisk File="E:\BA-Win8ToGo-01.vhd"
  12. Type: Attach Vdiskimage
  13. Type: Cleanimage
  14. Type: Create Partition Primaryimage
  15. Type: Format FS=NTFS Quickimage
  16. Type: Activeimage
  17. Type: Assign Letter=G          (Replace G with any open drive letter)image
  18. Type: Exit 

Add the boot loader to the USB device

  1. Open an Administrative command prompt
  2. Type: BCDBoot.exe C:\Windows /s E: /f ALL          (Replace E: with the drive letter of your USB device)image
  3. WARNING:  FAILURE TO POINT TO THE STORE ON YOUR USB DEVICE WILL MAKE YOUR PC UNBOOTABLE!
  4. Type: bcdedit /store e:\boot\bcd /set {default} device vhd=[locate]\BA-Win8ToGo-01.vhd          (Replace E: with the drive letter of your USB device)image
  5. Type: bcdedit /store e:\boot\bcd /set {default} osdevice vhd=[locate]\BA-Win8ToGo-01.vhd          (Replace E: with the drive letter of your USB device)image

Mount the Windows 8 ISO

  1. Locate the Windows 8 Consumer Preview ISO.  Right click and select Mount.  This will mount the ISO to a drive letter.  Take note of the drive letter.

Extract Windows 8 to the VHD

  1. Open an Administrative command prompt
  2. Change to the folder that contains imagex.exe (Downloaded above as part of the Windows 7 Automated Installation Kit)
  3. Type: Imagex.exe /apply F:\sources\install.wim 1 G:\          (Replace G:\ with the drive letter you assigned to the VHD)image
  4. Eject the VHD by locating the drive letter in explorer, right clicking and select Eject.
  5. Eject the USB by locating the drive letter in explorer, right clicking and select Eject.

Enjoy!

The USB can now be booted on any machine you want (be sure to boot from USB).  The first boot will run through setup, so ensure you have the Windows 8 Consumer Product Key DNJXJ-7XBW8-2378T-X22TX-BKG7J).

 

David Norling-Christensen