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.
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.
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.
What’s the
purpose of such an external Windows installation?
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).
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.
|
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
· 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! |
|
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.
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!):
This manual may contain
errors and I am not responsible for any harm that is caused by following this
manual.
Responsible for this page:
Bernhard Abmayr, www.edv-abmayr.de. Last Change: June 11th,
2013