Windows To Go


The last days I’ve been testing Windows To Go, how to install it on a USB device and how it performs on USB 2.0 and USB 3.0.

First, let’s start by explaining what Windows To Go actually is.
Windows To Go is a program that comes with the Enterprise installation of Windows 7 and Windows 8, the program itself is very simple, it’s installing a .wim file on USB-device and makes it bootable. The whole idea with Windows To Go is that you can plug it into any computer and when plugged in you choose to start the computer from your USB device and then the Windows installed on the USB device is starting instead of the local windows installation from the hard drive.

There is a lot of good things with this approach which is:

  • You can keep working on your workspace on different machines
  • You can’t access the local computers hard drive which makes this approach safe to use if you for example want to start your work environment on your home computer.
  • It’s easy to deploy. The IT department can prepare a number of USB devices and just hand out a new USB Device correctly prepared for you.

When could this approach be good to use then? It could be nice if you just want to try a different OS and keep your main computer intact or if you have some side project that work with your main computers OS. If you have a business where you have computers on each desk on your office where people just come and log in, then you could hand out the USB devices instead and the employees can work from any workstation and also work from home or some other office in a nice way. There are many more cases where this could be a nice solution but this is just some examples.

 

My tests on USB 2.0 and 3.0 shows that:

USB 2.0

It works surprisingly well. I thought that this would be laggy and overall a bad experience but everything worked very well. I tried with a clean installation of Windows 8.1 with Visual Studio 2013 installed and tested some Windows 8.1 app debugging and it worked as well as on my computer. The performance may go down if you have a lot of programs installed and running on the same time and many write/read to the usb device.

USB 3.0

Works very well and in the long run it should work better than usb 2.0 even if you have many programs installed and running which are reading/writing to the usb device.

Guide to create your own Windows To Go

If you would like to try this, then I’ve created a guide of how to do this step-by-step (This guide is meant for Windows 8 or 8.1 Windows To Go).

Things you need:

  • A Machine with Windows 8 Enterprise installed and also the Windows AIK installed. I refer to this machine as the host machine.
  • A target machine containing the programs you want in the image you are going to create. I will refer to this machine as the target machine.
  • A Windows To Go certified USB device (I’ve tested with a usb device not certified and it does not work good)

Creating a Windows PE ISO file or bootable USB device

  1. Log in to the host machine
  2. Start the Deployment and Imaging Tools Environment console as administrator
  3. Enter the following to get the files needed for Windows PE: ”copype.cmd x86 c:\winpe_x86″, this will place all the necessary files in the specified foler on the c-drive.
  4. Create the Windows PE boot iso or usb from the files copied in the previous step
    1. ISO: Enter  ”MakeWinPEMedia /ISO c:\winpe_x86 c:\winpe_x86\winpe_x86.iso”
    2. Bootable USB: Enter ”MakeWinPEMedia /UFD c:\winpe_x86 F:” this will make the specified drive (F in this case) a bootable Windows PE device
  5. Copy the imagex.exe program from ”{Windows AIK directory}\8.1\Assessment and Deployment Kit\Deployment Tools\x86\DISM” (Default directory for AIK: ”C:\Program Files (x86)\Windows Kits”) and put it in a seperate USB device or in the root for the Windows PE USB device. This program is used to create the .wim image file.

If you created a ISO you should continue by burning a CD or mounting the ISO in the virtual machine if you don’t have two physical machines. If you created a bootable usb you have everything you need.

Prepare the target machine for conversion to an image

  1. Log in to the target machine. This could be a physical machine or a virtual machine.
  2. Make sure you have everything that you want installed on this machine.
  3. Open a command prompt (enter ”cmd” from the run or windows 8 view) and run it as administrator.
  4. Enter ”c:\windows\system32\sysprep\sysprep.exe” and hit Enter to start the sysprep program.
  5. The following windows will appear:
    Sysprep

    Sysprep

    Check the ”Generalize” check box and choose ”Shutdown” in the bottom drop down menu. When clicking Ok the system will generalize the view and next time you start it you will need to create a user and all those things you need to do when installing Windows for the first time.

  6. Target machine as virtual machine: Mount the ISO in the CD or make sure that the Windows PE USB device is plugged in the Virtual Machine
    1. If you have a virtual machine i suggest setting a boot pause time. In VMWare add the following row in the .vmx file bios.bootDelay = ”5000″, this will give you 5 seconds to select boot device, else it can be very hard or near impossible to press the correct key before the VM starts.
  7. Target machine as physical machine: Insert the CD or plug in the Windows PE USB device
  8. Plug in the Windows PE USB/CD, plug in the imagex.exe USB if you have it on a seperate device and plug in the target USB where the .wim file should be placed. This device needs to be at least 4Gb in size.
  9. Start the target machine and press F12 for a physical machine, Hold volume down and press the power button and release the power down when the Surface logo appears for a Surface Pro or press ESC in a virtual machine to select boot option.
  10. Select boot from USB, usually located under Hard drives
  11. Windows PE is booting, it takes some time for the Windows PE console to get ready, if nothing happens in the console press ENTER and you should get a new row in the console.

Create an image with imagex in Windows PE

  1. First we need to find out what partition letter that is associated with what type of device and drive. This is done by entering ”C:\” in the console and press Enter, then enter ”dir” and press enter. The content and the type of the partion is presented, with this information you can identify the letters for the different USB devices and which letter the hard drive that you have sysprepped is. Keep trying with D:\, E:\, F:\ and so on until you have all your devices.
  2. Make a note of the letters and it’s content. You need to know the letters of the target machines hard drive, the Windows PE USB and the USB device were you will store the .wim image file
  3. Enter the following in the console: ”f:\imagex /capture d:\ g:\my-windows-image.wim ”myImage”
    1. f:\ here is the device were imagex.exe is located
    2. d:\ here is the sysprepped hard drive
    3. g:\my-windows-image.wim is the target location and name of the .wim image file
    4. ”myImage” is the title of the image
  4. This process will take some time.
  5. When done you have your golden image as a .wim image file.

Set up Windows To Go from a .wim image file

  1. log in to the host machine
  2. Make sure that the .wim file created earlier is placed somewhere on the host machine
  3. Go to the control panel with classic view and start the Windows To Go program
  4. Select the USB device that you want to turn into a Windows To Go USB Device. This should be a Windows To Go certified USB Device, here is a list of certified devices.
  5. Select the folder were the .wim image file is located
  6. Choose if you want to use bitlocker or not
  7. The program will prepare the usb device and copy the required files
  8. Choose if you want to restart the computer and start from the Windows To Go USB device

And that’s it! Now you have your Windows To Go USB Device which you can plug into any computer and start your own workspace anywhere!
A cool feature in this is that if you unplug the USB device while running and then plugging it in again you can continue where you left of as nothing happened. If you unplug it and wait more than 60 seconds the machine you used will shut down.

References for this guide:

  • A guide of how to do this that works for the old way to do this in Windows 7. From Windows 8 or 8.1 this is easier.
  • Specification of how the MakeWinPEMedia command works

 

Please leave a comment if you think this guide was good or if you have any comment on cases where Windows To Go could be nice to use, or if you have own experiences from using it!