Windows 8 To Go - Setup on a USB Flash Drive or USB Disk

How to Setup "Windows 8 To Go" on a USB Flash Drive or USB Disk in any Windows 7 and Windows 8

information   Information
This tutorial will show you how to manually setup Windows 8 To Go from any Windows 7 or Windows 8 (except Windows 8 RT) to be able to install and run Windows 8 from a USB flash drive or external USB disk. The procedure for the USB stick is discussed in Chapter A, the procedure for the USB attached disk is shown in Chapter B.

You should expect the whole process to take about 3 hours elapsed time if you do not have the WAIK on your system and about 1 hour if the WAIK is installed on your system.

If you install on a stick, it is very important to choose a fast USB stick of at least 16GB size. For the USB attached disk it is preferable to use a USB3 attachment, but USB2 should also work. In addition, you need a program to create a virtual CD and the Windows 8 .iso. The rest is done in Command Prompt.

For more information and details about Windows To Go workspaces, see: Windows To Go: Feature Overview

Note   Note
Those of you who have an Enterprise edition of Windows 8, you can also explore this option which is built into the Enterprise edition.

How to Create a "Windows To Go" Workspace on a USB Flash Drive in Windows 8 Enterprise

Tip   Tip
It is highly recommended to use a USB 3.0 flash drive or disk. Otherwise it will run like a snail from it.






Chapter A - Installation on a stick


Step 1 - Check the speed of your USB stick


To measure the speed of your stick I recommend Atto Disk Benchmark. It will produce a benchmark result like this picture.

2012-03-28_1947.png


It is the example of a 32GB USB2 stick that is not very fast. Especially the 4K read/write speeds are pretty slow. It is important to focus on the 4K size because that is the blocksize that the system uses most of the time. The large blocksizes are unimportant.

Loading the system (appr. 600MB to 1GB) at boot time will take over 3 minutes at a read speed of 4.7MB/sec. But, since there are also other activities going on at this time, the boot is even longer.A stick with characteristics like this one is not recommended.


2012-03-28_1951.png


This is a USB3 stick which runs Windows 8 fluently. The initial system setup still takes a bit more time than on a fast disk, but it is not really out of the ordinary.

On this stick I have loaded the 64bit Windows 8 and I am very pleased with both the boot time and the execution of programs and system facilities.


Step 2 - Download the WAIK and extract the imagex file

If you do not have the WAIK (Windows Automated Installation Kit) on your system, then you have to download from this Microsoft site. This will be a bit lengthy because the WAIK is 1.7GB - figure a 2-hour download.

When you are done downloading the KB3AIK_EN.iso file, mount this .iso, open and run the StartCD.exe file to install WAIK on your system.

WAIK.jpg

Then you have to copy the imagex.exe. You find that in C:\Program Files\Windows AIK\Tools. There is a 32bit version and a 64bit version.


2012-03-28_1953.png


You choose 32bit when you install a 32bit version of Windows 8 on your stick - 64bit when you install the 64bit version. Copy the one that corresponds to your Windows 8 .iso to the desktop. You can copy it to any other folder, but then you have to change the path in the installation command that we will run later in Command Prompt.

I have tried both the 32bit version (on the slow USB2 stick) and the 64bit version (on the fast USB3 stick). Both work as far as I can tell although there is a significant difference in performance.


Step 3 - Mount the Win8 .iso in a virtual BD ROM

We first have to create a virtual BD ROM with theVirtual Clone Drive Program. Download, install and run this program. It is very simple. When you start the program, you get this window. Just click OK and you are done.

You then go to Computer and you find your BD ROM.

Note: If you are working in Windows 8, you can mount the .iso directly from File Explorer. Just right click on the .iso and you will find a mount option. See: ISO Images - Mount or Unmount



2012-03-28_1955.png


To mount the .iso in the BD ROM, follow the instructions in the next picture. Make sure you remember the drive letter of the BD ROM (in my case 'H:') because you will need that later.


2012-03-28_1959.png




Step 4 - Prepare your USB stick

We now have to define a primary active partition on the USB stick. For that we open an elevated Command Prompt (run as administrator). Type or paste each of the following commands (one by one) and hit Enter after each command.

Diskpart
List disk
Select disk n
(where n is the number that was given for your stick in List disk)
Clean
Create partition primary
Format fs=ntfs quick
Assign
Active
Exit


Your stick is now ready for the installation of Windows 8.


Step 5 - Install Windows 8 on the stick

This is very easy now with a command in Command Prompt. It may take a little while to transfer the whole system, so be patient. The Command is:

"C:\Users\Your Name\Desktop\imagex.exe" /apply H:\sources\install.wim 1 F:\

Your Name is the name of your system. H: is the letter of my BD ROM (step 3). If your BD ROM has another letter, you have to change that accordingly. F: is the drive letter of my stick (step 4). Here you also have to replace it if your stick is on another letter.

As last step you have to run a command to install the boot files. If you are installing on a Windows 7 system, use this command. You have to be aware that this installs a Win7 BCD which works but is slower than the Win8 UEFI BCD.

bcdboot F:\windows /s F:

If you are installing on a Windows 8 system, use this command below. This is the preferred BCD because it is faster for boot and shutdown. You can rerun this command in a Win8 system even if you already installed the Win7 BCD in a Win7 system. It will 'upgrade' the BCD to the Win8 (UEFI) level.

bcdboot F:\windows /s F: /f ALL

Here again F: is the letter for my stick which you may have to adjust.


Step 6 - Run Windows 8 from your USB stick

You are done with the installation and can now run Windows 8 off your stick. For that you have to change the boot sequence in the BIOS pointing at the USB stick as first boot device.

I run the stick version on my laptop and have made the USB #1 in the boot sequence. That way it loads Windows 8 from the stick when the stick is plugged in and Windows 7 from the SSD when there is no Windows 8 stick.

As I said earlier, a USB stick is no SSD - although the technology is similar. So be patient, especially with the initial setup where the system has to do a lot of write operations which are slow on a stick. But once the system is in full swing, it is quite some fun.

Warning: In Windows 7, I usually keep my bootmgr on the C: partition. With that setup I had some problems running Windows 8 from the stick. Each time it would corrupt my bootmgr. I then created a separate 400MB partition and moved the bootmgr there. That seems to cure the problem.



Chapter B - Installation on a USB attached disk


The procedure is very similar to what I described for the USB stick with a few exceptions.

Step 1 - Check the speed of the USB attached disk

This is the HDD I run in a USB3 open enclosure. It is a 5400RPM disk that I had recovered from my laptop when I installed the SSD.

The R/W speeds at the 4K blocksize are very similar to my USB3 stick. The R/W speed at the bigger blocksizes is slower because the disk can only spin so fast.

Performance wise it felt slower than the performance on the USB3 stick but was still very acceptable.


2012-03-28_2002.png



Step 2 - Download the WAIK and extract the imagex file

This step is exactly the same as described for the stick.

Step 3 - Mount the Win8 .iso in a virtual BD ROM

This step is exactly the same as described for the stick. Make sure you apply the correct device letters for the BD ROM and the HDD.

Step 4 - Prepare your USB disk

Here I went a different route. I used Partition Wizardon my Windows 7 system to define a primary active partition on the HDD. That is easier than working with Command Prompt on a multi partition disk.

Note: There have been reports of problems when using Partition Wizard - although I did not encounter any problems myself. The report was that the final system did not boot. In such a case you might want to go back and use Command Prompt as the safer method.

Step 5 - Install Windows 8 on the disk

That is again the same procedure as for the stick. I did the installation step on my Windows 7 system but copied the BCD on my Windows 8 in Virtual Box.

Step 6 - Run Windows 8 from your USB disk

Change the boot sequence in the BIOS to boot from USB and off you go. The setup of Windows 8 took appr. 20 minutes (in the USB3 enclosure). During that setup, there is one reboot where you have to change the boot sequence again - else the system will boot into the first boot device it finds which is probably your default OS. When that was done, operation was as one would expect from a slow HDD.

I then tried it on my desktop in an eSata enclosure. The system first made some automatic adjustments for the different hardware. Then it ran flawlessly. The performance was about the same as from the USB3 enclosure. But both are slower than my USB3 stick.

If you have a USB disk with 20 to 25GB of free space lying around, it is certainly an alternative to run the Windows 8 CP from that. If nothing else, it is a lot of fun making the installation and seeing that it works.



 

Attachments

  • Windows_to_Go.png
    Windows_to_Go.png
    10.1 KB · Views: 457
Last edited by a moderator:
even an old HDD in an external enclosure will work..
The HDD would have a higher power requirement, so a SSD would be better..

You want to avoid an "external" storage device as they too are sometimes flagged as removable..

So you want an "internal" device in an external adapter..

Thanks KYHI, that's good to know!

That PNY is a good one and for an excellent price. I own one myself and use it for this OS. You can see there how snappy it is - and that is with the screen recorder running. And see the performance measurements below.

Cool video! Are you the author? I have to try Linux, it's one of my pending homework. Good to know that that cheap PNY stick has good performance. Would this stick have a much higher performance than the PNY? Is the price difference justified?
Amazon.com: SanDisk Extreme PRO CZ88 128GB USB 3.0 Flash Drive Speeds Up To 260MB/s- SDCZ88-128G-G46: Computers & Accessories
 
@antares, Yes I am the author of the video. I have that SanDisk Extreme also but as a 65GB model. I cannot tell the difference in performance compared to that 128GB PNY. The PNY access time is 0.7ms and the SanDisk is 0.3ms. So there is a little difference but it's marginal. The data transfer rates are the same. Here are the measurements of both:


2014-03-04_1200.png


2014-04-12_1920.png
 
I have that SanDisk Extreme also but as a 65GB model. I cannot tell the difference in performance compared to that 128GB PNY. The PNY access time is 0.7ms and the SanDisk is 0.3ms. So there is a little difference but it's marginal. The data transfer rates are the same. Here are the measurements of both:
Thanks Wolfgang. So then why pay $80 more for a stick that offers the same capacity and only a marginal performance improvement? Sounds like a ripoff.
Also, you measured the Sandisk to have an access time more than twice faster than that of PNY, and yet you call it marginal? Is it because in practice it's not noticeable?
Also, how does a Windows 8 in a VM (like Vmware) compare to Windows 8 in a to go USB3 stick in terms of performance?
 
Marginal in the effect that it has. Yes 0.3ms is better than 0.7ms, but in real life I hardly noticed any difference. If you use VMware, there is of course a certain overhead.. I never really compared the performance of those two. It will largely depend from which medium you run the virtual system (HDD, SSHD, SSD or stick). I have run VMware Player virtual systems from all of those and the SSD is obviously king.

You can also install a Windows to go on a SSD. Then you enjoy the best of all worlds if you run it from eSata - USB3 depends on the mobo implementation. Some are faster than others. I just recently saw a friend's new HP desktop run a 1000MB/sec with Macrium imaging. On my older XPS 8300 that is only 500MB/sec. Same program and same disk only difference is W8.1 versus W7 but the W7 machine has more RAM (8GB versus 4GB) and a much faster CPU (i7 versus i3). It was still slower.
 
I attempted to follow these instructions to create a Windows 8 flash drive, but am sort of 'stuck' at the bcdboot step. I am running Windows 10 as my host OS. I'm not necessarily asking for support as I fully expect this to work using a Windows 8 host. Just wanted to share my experience.

The "bcdboot F:\windows /s F: /f ALL" step fails, just spitting out the help text for bcdedit. There is no /f option listed. I tried simply omitting that option to see what would happen, which left be with "bcdboot F:\Windows /s F:" which returns an error: "BFSVC: Failed to create a new system store. Status = [c000003a]"
 
bcdboot F:\windows

/s = the partition to create the boot files

bcdboot F:\windows /s F:

tells bcdboot to put boot file on F:

/f = firmware type

bcdboot F;\windows /s F: /f ALL

ALL firmware boot files
UEFI firmware boot files
BIOS firmware boot files
 
Thank you. Here is the help text from both versions.

Windows 10:
Bcdboot - Bcd boot file creation and repair tool.

The bcdboot.exe command-line tool is used to copy critical boot files to the
system partition and to create a new system BCD store.

bcdboot <source> [/l <locale>] [/s <volume-letter>] [/v]
[/m [{OS Loader ID}]]

source Specifies the location of the windows system root.

/l Specifies an optional locale parameter to use when
initializing the BCD store. The default is US English.

/s Specifies an optional volume letter parameter to designate
the target system partition where boot environment files are
copied. The default is the system partition identified by
the firmware.

/v Enables verbose mode.

/m If an OS loader GUID is provided, this option merges the
given loader object with the system template to produce a
bootable entry. Otherwise, only global objects are merged.


Examples: bcdboot c:\windows /l en-us
bcdboot c:\windows /s h:
bcdboot c:\windows /m {d58d10c6-df53-11dc-878f-00064f4f4e08}

Windows 8:
Bcdboot - Bcd boot file creation and repair tool.

The bcdboot.exe command-line tool is used to copy critical boot files to the
system partition and to create a new system BCD store.

bcdboot <source> [/l <locale>] [/s <volume-letter> [/f <firmware>]] [/v]
[/m [{OS Loader ID}]] [/addlast]

source Specifies the location of the windows system root.

/l Specifies an optional locale parameter to use when
initializing the BCD store. The default is US English.

/s Specifies an optional volume letter parameter to designate
the target system partition where boot environment files are
copied. The default is the system partition identified by
the firmware.

/v Enables verbose mode.

/m If an OS loader GUID is provided, this option merges the
given loader object with the system template to produce a
bootable entry. Otherwise, only global objects are merged.

/d Specifies that the existing default windows boot entry
should be preserved.

/f Used with the /s command, specifies the firmware type of the
target system partition. Options for <firmware> are 'UEFI',
'BIOS', or 'ALL'.

/addlast Specifies that the windows boot manager firmware entry
should be added last. The default behavior is to add it
first.

Examples: bcdboot c:\windows /l en-us
bcdboot c:\windows /s h:
bcdboot c:\windows /s h: /f UEFI
bcdboot c:\windows /m {d58d10c6-df53-11dc-878f-00064f4f4e08}
bcdboot c:\windows /d /addlast]

So it appears the version bundled with 10 omits the /f option entirely.
 
Back
Top