Booted a Windows 7 clone on USB

385 views
Skip to first unread message

DES

unread,
Dec 5, 2011, 10:57:57 AM12/5/11
to The Xxclone Forum
It can be done! I just booted a clone of the system drive containing
Windows 7 Home Premium, on a 320 GB 5,400 RPM SATA drive. The clone
\copy resides on another 320 GB SATA drive (7,200 RPM) in a USB
connected external enclosure. Point to all this is Windows 7 ran from
a USB connected device. And the computer it's self doesn't have USB
boot capability. That I know of... there's no direct USB boot listing
in the boot order, but there is a "removable" category I haven't
explored well yet.

The Asus laptops have a boot manager of sorts allowing starting on the
DVD drive by holding down the Escape key on start. The Plop Boot
Manager on CD then allows starting from USB. Round a bout but usable.

I'm not sure it's worth the trouble as the first start from USB was
painfully slow. Any first start of a clone is bad enough as Windows
is so dynamic tons of stuff isn't, and can't be, initially
configured. But it is a way to Test Boot the thing without physically
swapping drives. And it can be done!

As per this: http://reboot.pro/9196/

I don't grasp why he does things in the order he does? But he's
creating a version of Windows to copy to and then run on a USB device
as a portable Windows. I'm creating a copy of a running system to
actually replace or upgrade the original. Two different things. And
I'm guessing he actually doesn't realize he can edit the registry of a
non running copy? Avoiding some of the gyrations of that
usbbootfix.bat? He's way ahead of me on NT command line programing.
I can barely follow usbbootfix.bat, just went after the mods.
StorageBootStart.bat is academic here as I'm staying on the same
hardware.

But ignoring the order of things and just reaching out and touching
the destination registry with all changes in usbbootfix.bat, plus the
separate disabling of the page file (another reason running from USB
is so damn slow). First it's necessary, to me, to be able to reverse,
or undo the changes, without saving & updating the entire registry.
So SATABoot.reg represents what's there before modifying anything.
And remembering there's actually no such thing as a
CurrentControlSet. That's created dynamically when Windows boots,
from the normal boot set ControlSet001, or the Last Known Good,
ControlSet002:

SATABoot.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\Control\Session Manager
\Memory Management]
"DisablePagingExecutive"=dword:00000000

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\intelide]
"Start"=dword:00000003

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbehci]
"Start"=dword:00000003
"Group"="Base"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbhub]
"Start"=dword:00000003
"Group"="Base"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbohci]
"Start"=dword:00000003
"Group"="Base"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\USBSTOR]
"Start"=dword:00000003
"Group"=-

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbuhci]
"Start"=dword:00000003
"Group"="Base"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\viaide]
"Start"=dword:00000003

No need for me to mess with pciide & msahci, they already had a start
value of 0. So then reflecting the changes to boot from USB:

USBBoot.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\Control\Session Manager
\Memory Management]
"DisablePagingExecutive"=dword:00000001

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\intelide]
"Start"=dword:00000000

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbehci]
"Start"=dword:00000000
"Group"="Boot Bus Extender"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbhub]
"Start"=dword:00000000
"Group"="System Bus Extender"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbohci]
"Start"=dword:00000000
"Group"="Boot Bus Extender"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\USBSTOR]
"Start"=dword:00000000
"Group"="SCSI miniport"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\usbuhci]
"Start"=dword:00000000
"Group"="Boot Bus Extender"

[HKEY_LOCAL_MACHINE\Loaded Dat\ControlSet001\services\viaide]
"Start"=dword:00000000

These 2 files reflect the False Key method of editing off line
registries. The System file from the clone (D:\Windows\System32\config
\system) is loaded into the running registry under HKLM as Loaded
Dat. Then the appropriate .reg file above Imported in the Registry
Editor, or Merged from Windows. The doctored False Key, Loaded Dat,
is then Unloaded writing it back to where it came from.

Since xxclone already swaps Drive Letter & Volume Label assignments
between Source & Destination (I assume?) for test boot purposes, then
here's what it takes to boot Windows 7 from USB.

Now if I just understood those services well enough to diddle them
like karyonix. All I'm doing is blindly following. But I'm listening
for any further instructions?

DES

Reply all
Reply to author
Forward
0 new messages