Windows 8 introduced a new feature called Windows To Go that lets you put the entire operating system with your data onto a USB external device. Earlier, Windows 7 introduced a feature called Native VHD Boot that lets you set up a Windows 7 or 8 virtual that can directly boot without a host system. Building both systems aren’t so difficult but with a tool, it can be more simplified and easier. You can find the detail step-by-step instruction here and here.
Here is a post introducing an open source project called PWBoot (stands for Portable Windows Boot) that aims to simplify the process of making Windows Operating System to boot from any USB storage devices.
Things we need to start
Before we dive into the process, here are a few things we need to collect first:
- A 16GB or up USB storage device. It could be just a USB key or an external hard drive. The more space it has, the better.
- A Windows 7 or 8 computer.
- Windows 8 installation media, DVD, USB, or just an image ISO file. If you only have the ISO file, mount it to Windows Explorer. What we need is a file named install.wim from the \source folder.
- Last piece, of course, is the PWBoot portal executable file that you download from the open source project website.
Before you start the process
Because PWBoot will make changes to the BCD Store during the installation, it would be a good idea making a backup of your BCD Store prior to the process in case something happens unexpectedly.
To back up your BCD Store, launch Command Prompt windows as Administrator, and run the following command:
bcdedit /export "c:\bcd-backup"
Start the process
Double-click the PWBoot.exe file to launch the process. A wizard will pop up guiding you through the steps it needs to build the system.
Choose Install Windows, and go Next.
Click Browse to select the install.wim you have prepared in your Windows Installation Media. If the installation media contains more than one installation image, pick one from the second dropdown list.
On setting up target window, you will have choices of selecting a physical device or creating one in VHD format. Either one would work so pick one and go Next.
If it’s in VHD format, you will specify where you want this VHD file saved and how big it will be. Go Next once it’s all set.
Select a disk that host your BCD store and make sure the option Overwrite existing BCD store is not selected. Specify the description of this boot option and click Install.
About 10 minutes later, you will have a bootable Windows system perfectly installed on your external USB device.
PWBoot will add a new boot entry to your BCD Store with the description you have specified in above step. You can run command
bcdedit in Command Prompt window to confirm the new entry before restarting your computer to see the result.
PWBoot is a wonderful tool that makes your bootable Windows USB system a lot easier. When it works, it’s great. But when it fails, it could destroy your BCD Store to make your whole system completely unbootable. So it’s highly recommended making a backup of your current BCD store in case something go wrong.
I also recommend that you use PWBoot on a system that is not A Native VHD Boot system. In my own experience, I first used PWBoot on one of my Native VHD Windows 8 system, with a disaster result. It completely destroyed my BCD store, which took me a few hours to rebuild them back. But when I run it the second time on a normal Windows system, it works perfectly without any hiccups.
I also noticed one difference between this and Windows To Go. On a USB device I built using Windows To Go, I can boot it on almost any computer. But with PWBoot, it throws out an error that failed to boot when I tried to boot direct through USB without going through Boot Menu, which is weird.
/credit goes to Himanshu Sharma for this tip/