Hands on With Windows To Go: The Good, the Bad, the USB Bootable
When I attended TechEd 2012 in Amsterdam at the end of June, the Windows To Go session was likely the most attended session all day. And it's easy to see why.
Windows To Go allows enterprise users to deploy a bootable Windows 8 environment onto a USB flash drive. It's not a trimmed-down version of Windows (like many Linux boot environments are), but a full-blown copy of Windows 8 including all the features you need. It is sealed off from the physical machine (well, sort of, more on that below) and can be protected using BitLocker.
At TechEd, I was given a 32 GB Windows To Go drive (by Kingston). Over the course of a couple of days, I lived and breathed Windows To Go. I used it productively on my main laptop, test rigs and even desktops at clients' offices. Here's what I found:
Creating a Windows To Go drive
In Windows 8 Enterprise, Microsoft will include an easy-to-use Windows To Go workspace creator. According to what I've been told by team members of the Windows To Go group at Microsoft, this wizard will apparently also allow you to pre-install some applications (they didn't say what kind) and preload it with data. However, if you desperately want to try it out, these instructions should help. Just make sure your thumb drive is fast enough in the random 4k read/write department and has enough space (32 GB+). External hard disks should also work but they rarely deliver the performance you need for a Live OS.
Working across several machines
I almost exclusively worked off of the USB thumb drive and Windows To Go over the course of a week. Guess what: It worked on every single device -- no matter if I plugged it into a 5 year old Core 2 Duo with 2.66 GHz and an old BIOS (that barely supports USB boot) or into my high-end gaming rig. It adapted to every single hardware configuration I threw it at and, aside from the initial configuration dialogue and driver installations that occur during the first boot on a new machine, it worked in each and every instance.
Windows To Go saves the driver configuration so you won't see the initial driver installation/update process on a machine twice. However, I soon discovered one very real problem: Booting into Windows To Go might not always be so easy since fiddling around with BIOS/UEFI of various PCS (at corporations, friends' homes, internet cafés, etc.) may not be possible at all.
Unplugging the drive
The first thing I did (and I imagine anyone with a Windows To Go drive will do) is unplug the drive to see what will happen. Fortunately, Microsoft made changes to its file system stack and kernel drivers that allow this specific scenario. Once the drive is removed, Windows 8 just freezes. When you plug the drive back in, it continues to work as if nothing ever happened. However, after 60 seconds of non use, Windows 8 assumes that you're gone and shuts down the machine.
I encountered some weird issues on one of my desktop systems (an Alienware gaming rig) in which Windows To Go would run for a few seconds and then just freeze up. I assume this is a beta bug but it was a good reminder to save all my files before I tried unplugging.
I also found that Windows To Go is extremely sensitive to improper shutdowns. Each and every time I forced the PC to shut down, I was presented with a "chkdsk" dialog that sat there for many minutes scanning the thumb drive for errors.
Physical hard disks: Hidden?
Microsoft hides the internal hard disk on any machine by default so that Windows To Go can't be used as a hacking device to get quick access to data on a physical disk:
However, using "diskmgmt.msc" makes getting around this all too simple: Just select the physical partition and mark it as "Online" and you'll get instant access. Of course, the local user folder will still be protected but all other files are easily accessible.
You could do this with any bootable Linux and Windows environment so Windows To Go isn't any more of a security risk, but it isn't any less either.