Windows 8: Clone it and run it from an USB drive

Diese Seite beschreibt, wie Sie Windows 7/8 von einer internen Festplatte auf einen USB-Datenträger klonen und von dort starten können. Die deutsche Version finden Sie hier.

I hope that the quality of the information of this page will compensate for my German English.

 

Contents

Contents

1     What’s the matter (and what not)?

2     For whom?

3     Why?

4     Sources

5     How to do

6     What does not work?

7     Comments

8     Denial of Liability

9     Legal Notice

 

 

1     What’s the matter (and what not)?

This manual explains, how you can copy an existing Windows 8 system onto an USB drive and how to run the clone from that external drive. Mostly, this clone will start properly only on that computer from which you took the clone, as many drivers and system programs are specific for this computer and are adjusted to this computer during an installation of Windows, which is not done here.

 

This manual is only for using an external USB drive. I have tested it with an external USB HDD. However, it should work with USB sticks, too. Using external SATA drives should be even easier, as there won’t be the troubles with the USB drivers. But I didn’t test this. Also, it should be possible to clone the Windows onto another partition of the internal drive. In this case the changes for the USB drivers would not be needed.

 

This manual is for Windows 8. The differences for Windows 7 are very small. For Vista and XP the differences are bigger, as the boot manager of those systems is located within the system partition itself, whilst Windows 7 and 8 use a separate partition for this.

 

If you run the clone on the same computer, there should not be a problem with licenses, as those are sold for a computer, mostly. However, I cannot guarantee the correctness of this and you must ensure yourself not to use any program illegally by this method.

 

This is not a manual for a new installation of Windows onto an USB drive! For this you can find a lot of manuals in the internet.

2     For whom?

This manual is for computer experts. There are some dangerous modifications of the computer system, that may destroy (not only) your Windows installation and data, if you make an error.

3     Why?

What’s the purpose of such an external Windows installation?

 

  1. For a programmer – as myself – this is very useful, as I can test my programs on a system that may be damaged without causing real harm. If that clone is destroyed, just delete it and make a new one. Such tests can be performed on virtual computers too, but those must be installed first. And even, when this is done, many programs will be missing, as Word, Excel, Visual Studio and many helpers. And all this stuff is already included within the clone.
  2. Surfing in the internet is a bit dangerous, as there are pages which try to install malware in your computer. If this happens in a cloned system, delete it and make a new clone (without spending hours and days on removing viruses etc.). For this internet surfing, however, a virtual computer might be even more advantageous, as this can run parallel to your normal Windows installation, whilst the clone needs the computer for it alone. Also, the access to the original Windows installation is forbidden for the virtual computer, if you didn’t change this. The clone has access to the internal drive by default. If you don’t like this, you must change it yourself. Windows 8 contains a virtualization manager (HyperV), but only for the PRO version and Enterprise. Private users may use VMWare which is free for them and is suitable for all Windows versions.  

 

4     Sources

 

 

5     How to do

The table shows the required actions on the left and explanations on the right side.

 

 

What to do

Explanations

1

Prepare the USB drive

For this manual you need 2 partitions on your USB drive. The first is the boot partition and should have a size of minimum 350 MB. You must mark it as the active partition. (If you do not like to install the external boot manager, you will not need this partition.)

The second partition is for the Windows system and should be big enough for the clone.

 

If you use an unused drive, you may create the partitions using the Windows tools. But this is not secure handling and changing partitions on used drives. For this case I would prefer GParted.

 

Consider to make backups of your external drive as well as of the internal one before starting!

2

Clone the system

Use any of the many clone programs to copy the partition with the original Windows installation onto the new partition of the USB drive.

DriveImage XML is free for private users and can do this job during the original Windows is running.

I use Clonezilla, which runs from a CD (using Ubuntu). This requires to shutdown Windows, the advantage is, that this is a well defined system state.

3

Registry changes for USB

 

Step 1: Start the original Windows and connect the USB drive with the cloned Windows. Start regedit.exe (or regedit32).


Step 2: Click onto „Hkey_Locale_Machine“. Go to menu  File, Load Structure“. In the file open dialog navigate to the folder „\Windows\System32\config“ of the USB-drive with the clone and select the file SYSTEM. Click „Open“ and type the lower case letter z for the name of the key. Click „OK“. Now you have mounted the registry part Hkey_Locale_Machine\System of the cloned Windows as Hkey_Locale_Machine\z and you can modify the cloned registry in this way. Do not forget to unload the structure at the end!

Step 3: Go to „Hkey_Locale_Machine\z\ControlSet001\Services“ and select the key „usbccgp“. DoubleclickGroup“, and change the value into System Bus Extender. DoubleclickStart“ and change the value into 0. Go to key „usbhub“ and do the same changes.

Step 4:  Similarly to step 3, change the values of „usbehci“, „usbohci“ and „usbuhci“ (Should any of these keys be missing, you may ignore it.) into the following values:

For „Group“ enter Boot Bus Extender as value and for Start value 0.

 

Step 5: Go to key „USBSTOR“. In Windows 7 you must create a value with the name Group and set the value to SCSI miniport In Windows 8 Group already exists and you just have to change the value to SCSI miniport . For „Start“ change the value into 0, again.

Step 6: Repeat  steps 3 to 5 for the keys of „Hkey_Locale_Machine\z\ControlSet002\Services“. (This is only needed for Windows 7, as ControlSet002 does not exist in Windows 8.)

 

For all the actions here it may be helpful to login as an administrator when you start Windows.

 

Windows is not designed to boot from USB drives. (Only Windows 8 Enterprise has this feature Windows To Go.) One of the problems is that the USB drivers are loaded too late. If you start the cloned Windows via USB it will start loading, but crash, if you do not change the registry as described on the left side.

 

This part of the manual is mainly a translation of http://www.pcwelt.de/ratgeber/Windows-auf-dem-USB-Stick-Schritt-6-bis-7-5938120.html

But this page was made for Windows 7, the changes for Windows 8 I have added.

 

 

Step 7 of that manual I shifted downwards, as it is more convenient to change the drive letters before step 7.

 

 

You might think to do these registry changes in the original Windows installation. Then you would not have to repeat this for each clone. Whether this would work or if you would get any troubles, I do not know. If anybody has experience with this, please let me know.

 

Here is a VBS script to do the registry changes automatically. It may help you to do the changes without typing errors. The script is for experts who are able to check it before running it. As usual such scripts could contain malware!

4

Registry changes for the drive letters

 


Step 6a: (not contained in the page of PC-WELT)

·  Go to HKEY_LOCAL_MACHINE\ z\ MountedDevices.  Be sure that you are working in the registry of the Windows clone. If you perform these actions in the original system, this would no longer work well!

·  Look for the entry with the drive letter, which you want to change. For drive C: the entry would be "\DOS Devices\C:"

·  Right click this entry and select Rename.

·  Change the letter in such a way that C becomes free. E.g. rename it into B: "\DOS Devices\B:" (Now the internal  Windows drive will be available as B: if you boot the Windows clone.

·  Now search for the proper C drive, which contains the Windows system of the clone. In my test it was "\DOS Devices\R:" This is to be renamed into "\DOS Devices\C:"

 

 

Step 7: Click onto „Hkey_Locale_Machine\z“ and use the menu „File, Remove structure“.

This step is missing in the manual of PC-WELT (which is a German computer magazine).

For me it seems to be very important:

Before I changed the drive letter, the clone started well, but when I checked with the task manager, I saw that the system programs run from drive R: of the clone, but all other applications run from the internal drive C:, even the system variables as PATH, used C: This mixture works well as long the systems are very similar, but later it might become critical. Also, this was not the separation of the systems for which I was looking for.

 

Changing drive letters in running Windows systems is a bit critical, especially if you want to change that for the start partition. Therefore I would suggest to do this change when the clone is not running via the mounted registry.

5

Adjust the internal boot manager

Install EasyBCD in your original Windows 8 and start this program. It will load the boot menu of the internal drive on startup. If you never changed your boot menu there will be only 1 entry (the default entry is not an own entry). Now click the button Add New Entry and select the tab Windows in the right upper side. Select type Windows Vista / 7 / 8. Now enter any name that will appear later in the boot menu.

For Drive select the drive letter of the partition which contains the Windows clone. (Here you must use the drive letter that is known by the original Windows system, in my example this was R:) Now click Add Entry and check in View Settings, whether the entry was generated properly. You may use Edit Boot Menu to select the default boot system that will be started by the boot manager after the timeout, which you may modify, too.

 

 

To start the external Windows clone you must tell the boot manager about its existence. If there is only 1 entry in the boot menu, you will not get any notice of it, as this entry is started automatically. But if you have more than 1 entry you will get a menu to select the system you want to boot.

 

You have 2 possibilities: First you add an entry to the existing boot menu of the internal drive (see left side). Second you may install an own boot manager on the external drive, as described in the next step. You may do both, too.

 

Changing the boot manager is not necessary, if you have done this already earlier and you just generated a new clone onto the same partition.

 

The name of the entry in the boot menu is free. It makes sense to specify not only the type of the operating system and the partition, but also which boot manager actually is running. This may avoid confusions if you have multiple boot managers.

 

ATTENTION: Windows 8 boots in a different way compared to the older Windows versions. Shutting down Windows 8 does not finish it completely, but it saves some system files to accelerate booting the next time. If you want to boot another operating system this advantage converts into its opposite: If you select the clone in the boot menu, the system will first shutdown again (but this time completely) and then start the clone. To avoid this, you can shutdown Windows 8 completely using the command

shutdown –s –f

6

Install an external boot manager (optional)

Format the boot partition (Windows prefers NTFS) which you have created before and mark it as active.

Now execute the following command in the original Windows to create a complete boot environment for the clone on the external drive:

bcdboot.exe R:\windows /s O: /f ALL

R: is the partition of the external drive which contains the clone. O: is the drive letter of the boot partition of the external drive. Usually this drive does not have a drive letter. In this case it is needed and you must assign a drive letter to this partition, for e.g. using the Windows disk drive management: Right click the boot partition and select Change drive letter.

 

Adjust the external boot menu

Now, the external boot menu contains a single entry. You may add more (e.g. the original Windows system) using EasyBCD as described above. If you start EasyBCD in the original Windows, you must first load the external boot menu by selecting menu Select BCD Store and opening the BCD file of the external boot menu, which is O:\boot\BCD in the sample above.

 

Adjust BIOS or UEFI

The external boot manager will start only if the BIOS (new computers might have UEFI) is set properly. Open BIOS (mostly via F2) and (1) enable the possibility to boot external devices and (2) change the boot order in such a way that the external drives are checked before the internal ones. (The BIOS of old computers does not support USB.)

First I tried this using EasyBCD (Version 2.2, BCD-Deployment). This did not work, nor the cloning of the boot partition of the internal drive. (Both was possible in Windows 7.)

The method with bcdboot worked well.

 

You may install various operating systems by this method and add it to the boot menu. But it is important, that you use bcdboot of the most modern Windows system in order to ensure that the boot manager will support all Windows versions.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Now, if the external drive is connected during booting, the external boot manager will start. Else the internal one will start. In both cases you should ensure that no other USB drive is connected. Therefore, in many cases it will be better only to use the internal boot manager.

 

 

7

Start the system

Boot the computer and start the external Windows clone. It does not matter, whether you do this using the internal or external boot manager. If it works well, login to Windows using the same password as for your original Windows.

For the first attempt, it might be helpful to use an USB port of type 2.0. Even if your computer has one of type 3.0, it is not sure, that this works well during booting, or if it needs a proper Windows driver, which is not available during booting.

Also, do not use an USB hub for the first attempt. If everything works well, you may test USB 3.0 and hub later.

8

Make the registry changes permanent

 

The registry changes for the USB drivers will be reset to the default values whenever Windows sets up a new USB device. To avoid this, do the following:

 

Download USB-Bootfix.zip and start Usbbootfix.bat and StorageBootStart.bat within the Windows clone. This activates all HDD drivers of the registry and should enable a startup even with different hardware.

Translated from http://www.pcwelt.de/ratgeber/Windows-auf-dem-USB-Stick-Schritt-6-bis-7-5938120.html.

 

The zip file is from PC-WELT (a well known German computer magazine) and should not harm. However, it always makes sense to check downloaded batch files for any harmful code.

 

And now enjoy your „new“ Windows!

 

 

 

6     What does not work?

I removed the internal HDD and tried to boot from the USB drive. This failed with the message No operating system found. (A DVD was booted well in this state.) Such a possibility would be nice, if the internal drive becomes defect. If anybody knows, how to do it, please write me.

 

7     Comments

It took me some hours, to find this method. This manual should help you to reduce your number of failing attempts. Of course, such a manual is never complete, as there is too many different hard- and software. Who will find an error, may contact EDV Abmayr. Suggestions for other improvements are welcome, too.

 

USB sticks have some disadvantages

I have installed a virtual Windows 8 (for HyperV) onto an USB stick (USB 3.0 with high transfer rates). Sometimes this Windows starts very quickly, sometimes it seems to stop working for minutes, as the data carrier is too busy. (The task manager shows an usage of 100% and low transfer rates.) I wrote this problem to the support of Transcend and got the following answer, which I translated into English:

Unfortunately, this problem is quite normal for USB sticks, as they are not designed for an operating system with multiple processes, but for data handling of other types …Also, writing many small files results in a low velocity.

 

What to do, if you need or like to have a virtual Windows on an USB stick? You may improve the velocity by (note the side effects!):

 

8     Denial of Liability

This manual may contain errors and I am not responsible for any harm that is caused by following this manual.

 

9     Legal Notice

 

Responsible for this page: Bernhard Abmayr,  www.edv-abmayr.de. Last Change: June 11th, 2013