I've got more time spent writing this up than I have spent hands-on creating my Windows To Go installation, updating it as a VM to a newer version, & trying it out booting to the USB drive with this PC. Regardless my poor writing skills, which may make this seem overly complicated, Windows To Go or regular Windows 10 on a USB drive isn't really that big of a deal or project. While there are all sorts of ways I can think of that my Windows To Go setup might come in handy, the main reason I went to the trouble is that I'm concerned about the upcoming Windows 10 version's hardware compatibility -- this way I can find out in minutes if one of our devices will be compatible as-is, without any of the side effects or consequences I might face if I try updating & it doesn't work.
* * *
There doesn't seem to be any big difference between regular Windows 10 on a USB drive & the Windows To Go version. If I'm correct then, that has several implications.
technet[.]microsoft[.]com/en-us/itpro/windows/plan/windows-to-go-overview
technet[.]microsoft[.]com/en-us/itpro/windows/plan/windows-to-go-frequently-asked-questions
One implication is that there are 3 ways of setting up Windows 10 on a USB drive.
Using the Windows To Go wizard in 10's Control panel, using the install.wim that's on a Windows 10 enterprise ISO, may be the easiest. It does set a flag on the drive's partition or volume to by default not assign a drive letter when you plug the drive in while you're running Windows -- the FAQ tells you how to reset that. You do need to have a copy of 10 installed & running to use the Windows To Go wizard. It does require the Enterprise version ISO. That means that it will not activate for the average home user because you won't have the required licensing data on a server -- that's actually the reason I decided to try Windows To Go, since I wanted to avoid activation.
[When it installs & runs, Windows records your device hardware & any hardware IDs, e.g. drive serial numbers & MAC address. That information is uploaded to Microsoft's servers when you activate Windows 10. Depending on how you activated 10, e.g. the free upgrade, changes in that Windows hardware ID can trigger de-activation -- Microsoft has stated that they will allow an unspecified amount of hardware changes before that happens. If you bought a Windows 10 license separately you can probably re-activate 10, but if not, e.g. if you have a free upgrade license, then you have to buy a new license to activate Windows 10. I was concerned that running 10 on a USB drive would cause it to activate based on the hardware ID, which is already recorded at Microsoft with Windows 10 being activated, and that might register as a hardware change, meaning I had fewer changes left before de-activation.]
Since there doesn't appear to be anything special about Windows 10 when you use the Windows To Go wizard, you could also just take a regular Windows installation & copy it to a USB drive, running that copy of 10 on whatever hardware. When it sees new hardware, 10 attempts to find & install the necessary drivers so it'll run, and this seems to be part of Windows 10 itself, rather than something added when you create the Windows To Go version. This means that you should also be able to take a copy of 10 running on a USB drive & copy it to a regular internal hard drive. How well Windows 10 adapts to new hardware has improved -- the 1st general release of 10 very often did not work if you tried this... that's why I used the Apply Image method in the past.
Windows setup files use a special type of image file called a .wim -- a .esd file is the same thing only compressed & encrypted. When you run setup the contents of that image file are extracted & copied to the drive -- applying that same image file using Dism does the same thing, but without the dialogs, & without trying to run Windows, so no drivers etc. are added yet. The Windows To Go wizard also uses Dism. It is more work to set things up to use Dism to apply an image -- you have to set up a WinPE drive, create the separate Windows 10 partitions, add the boot files after applying the image, and may want to re-hide some partitions [e.g. the boot partition] when that's done.
Using the Apply Image method of installing 10 does have advantages. The resulting installation is as small as possible when it comes to disk space. If you do a disk image backup after applying an image, adding the boot files etc., restoring that backup to whatever drive on whatever device can be slightly faster that running Windows 10 setup on that same device. And while a installed copy of Windows 10, regular or Windows To Go versions, will not work on every device, as long as the device can run 10, the Apply Image method will work. [I've gone into more detail on using Apply Image in earlier posts, so I've skipped it here -- if you want more detail please ask & I'll repost.]
My strategy...
I back up the Windows To Go drive, which I'd do regardless, & restore that backup to a VHD I created in Windows 7, using that as a VM in VirtualBox. That lets me much more painlessly update that copy of Windows 10, and add software to it, since I can do much of that while it's running in the background while I'm doing other stuff. And when it's time to update the copy on the USB drive, I restore a backup of the VHD [which I'd again create regardless] to the USB drive -- it takes less than 10 minutes.
A real test for my strategy was if I could update the version of Windows 10, & yesterday I found that indeed I can. There's little point in adding software from GOTD if I had to start all over when a new version of Windows 10 came out, e.g. the Creators Update in April. There were [are] catches however...
I did this Windows To Go thing using a Insider version of 10 -- I've got concerns about the upcoming [general release] version's compatibility, so I wanted to use a copy of 10 that's as close to that new version as possible. Because I can't activate this copy if I wanted to, I can't use Windows Update to get a new Insider version, so I have to use a Windows 10 ISO, which Microsoft does not release for every Insider build. I'll do this again with the RTM ISO when it's out, but for now it's enough for me to know that it works.
Windows 10 on a USB drive adds a special registry key, & as long as that key's present, 10 will not allow you to update the Windows 10 version. Copy/paste the following into a new text file in Notepad, change the dword value from 1 to 0, save the file with a .reg extension, and merge it with the registry [double click or right-click] to allow version updates etc. I put it back when the update was finished -- not sure if there would be any effects if I hadn't.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"PortableOperatingSystem"=dword:00000001
Updating Windows 10 versions doesn't retain unused drivers that had previously been installed. When I originally ran this Windows To Go installation on this PC, it needed one reboot as it added the needed drivers -- from then on it did not as the drivers were already there. Since the update was performed in V/Box, it had to add the drivers & reboot again.
Because the version update/upgrade process used Windows setup, it added a Recovery partition like normal Windows 10 -- Windows To Go doesn't use one. This is really a case of "it's up to you". I don't use [don't believe in for that matter] Windows Recovery. Because there was only a very slight difference between Windows 10 builds, I left the boot partition alone, only restoring a backup of the Windows partition, completely ignoring the Recovery partition. That said, there are potential options & issues...
Updating Windows versions also updates the boot files -- that *may* matter in the future depending on what they change. Updating those boot files using Windows setup *might* mean either UEFI or Legacy boot modes are included rather than both as with Windows To Go. That can be fixed [BCDBoot.exe] if necessary -- it might not be, e.g. if you only plan to use that copy of Windows with one type of bios, UEFI or Legacy. The new version boot files will include a link or links to Windows Recovery. Windows To Go does not include Windows Recovery, but I couldn't find anything that said Why, e.g. will it work, or not with a USB drive. IOW & IMHO, include the Recovery Partition if you want.
Microsoft not including the Recovery option in Windows To Go **might** have more to do with them having to support Windows To Go with their enterprise customers. Part of it may be that multiple partitions on a USB stick can be very iffy -- Microsoft has a very limited number of USB devices that they support. My thoughts on USB drives...
The speed of the drive effects usability -- slower drives work just as well as fast ones if you're patient. USB 3.0 is better than 2, but not all devices have full USB 3.0 speeds until Windows starts. Personally I found a cheap, small SSD in a cheap external housing was cheaper than a comparably fast USB stick. You can use the Compact option to make Windows 10's footprint on disk smaller, but it has a performance penalty, & so is only recommended for faster drives. Running Windows Disk Cleanup after adding a cumulative update to 10 can often remove a GB or more of unneeded files. Every time you run a copy of Windows 10 on a USB drive on hardware it hasn't seen before, newly added drivers will increase its footprint. With AOMEI's Backupper & Partition Assistant installed, & using the Compact option, my Windows To Go comes in at a little short of 12 GB with drivers for both this PC & VirtualBox.
At the command prompt: COMPACT.EXE /CompactOS:always -- replace "always" with the word never to turn it off.
What's bootable & what's not depends a lot on hardware, so your mileage will vary. The default Windows To Go setup I have uses a small FAT32 boot partition + a larger NTFS Windows partition. UEFI spec says you have to have that FAT32 boot partition, but, most PCs etc. also have automatic Legacy bios modes, & in that case the boot files can be on the same partition as Windows. There's also the option of trying exFAT on a USB stick rather than NTFS. You can use Easy BCD or Windows BCDBoot to add &/or modify the boot files, e.g. if you want to stick them on the Windows partition.
msdn[.]microsoft[.]com/en-us/windows/hardware/commercialize/manufacture/desktop/bcdboot-command-line-options-techref-di