Timothy said:
If you intend to boot up the clone while the "parent" OS
still exists on the 1st partition, use something to hide the 1st
partition when the clone is booted for the 1st time. And if
you do that, mark the 2nd partition "active" before you do
that so that the boot files on the 2nd partition will be used.
If the 1st partition is hidden, the cloned boot.ini file on the
2nd partition *should* work without modification because
"rdisk(0)" will refer to the 2nd partition (i.e. the 1st one visible
in the partition table. If it doesn't, please let us know.
*TimDaniels*
Well I did try my little test and things pretty went as I expected them
to, here are the results.
I did my tests by simply mounting the test disk to another Windows
installation and I used xcopy to copy the contents of the dormant
installation to the second partition, then I returned the disk to the
test machine and did some tests. I then deleted the second partition
and used Disk Director to copy the first partition to a new primary
partition that Disk Director created from the unallocated space that the
previous partition had occupied and I repeated the tests.
Keep in mind that the test installation was just a basic Windows 2000
installation with no user software installed. This is what happened,
the results were the same regardless of the copy method used to make the
second partition:
I did not use a boot manager and I did not bother hiding partitions. I
simply added an extra line pointing to the second partition to the
boot.ini files and tried different booting scenarios, I simply booted to
partition 1 or 2 from the Boot.ini file and tried it with either
partition set as active. The first partition was labeled as C:\ and the
second, copied one G:\.
Booting with the first (original) partition as the system partition I
could successfully boot to both installations without any problems, the
installation on the second partition booted to the desktop without any
problems. I then changed the active flag to the second partition and
once again I could successfully boot either partition to the desktop.
However, even if the second installation successfully booted with either
partition marked as active, the process was still deeply flawed. To an
unexperienced user everything would have probably appeared to be fine
but to the trained eye the expected drive letter problem was easy to spot.
When booting to the first (original) Windows installation, regardless of
the system partition used, the installation (boot volume) maintained its
drive letter assignments, it booted to and used the C:\ drive letter,
where it was originally installed. There would be no problem using this
setup.
Booting to the second (cloned) installation, at boot time, as expected,
the I/O Manager respected the drive letter assignments previously made
by the Mount Manager and assigned drive letters based on the Mount
Manager's MountedDevices database. The cloned installation was booting
to and using the G:\ drive for its boot volume. Although the cloned
installation successfully booted the results were fatally flawed and
eventually this scenario would blow up in the user's face. The
installation is a clone of an installation done on drive C:\, everything
in the registry points to C:\, yet the installation was using the WINNT
and System32 folders on G:\. You don't need to be an expert to know
where that would eventually lead! Also, the installation was using the
UserProfile on G:\ yet, once again, everything in the registry points
the UserProfiles as being on C:\. Another ticking time bomb! Clearly,
even if the installation booted successfully, this was not a viable setup.
To rectify the boot volume drive letter problem with the clone I simply
went to the clone's registry and deleted *all* the entries in the
MountedDevices key. At boot time this caused the I/O Manager's
IoAssignDriveLetters function to use a predetermined and established set
of rules to assign drive letters and it assigned the now available drive
letter C:\ to the boot volume, (it assigned drive letter E:\ to the
first partition). Regardless of the active partition used, when the
MountedDevices key contained no entries the I/O Manager assigned C:\ to
the boot volume of the clone and it repopulated the MountedDevices key
with this new information. Upon subsequent reboots, using either active
partitions, the cloned installation used and retained the assigned drive
letter C:\ for its boot volume, this installation would now be viable.
Of course, due to the persistent nature of the Mount Manager's drive
letter assignments, when booting the first installation none of the
drive letters were affected, it continued to use C:\ for its boot
volume and it kept the G:\ letter assignment for the second partition.
Part of the reason why the cloned installation booted without problems
on boot volume letter G:\ is that the Session Manager did not try to
create a pagefile on the second partition, instead, following the
instructions in the registry the Session Manager created the pagefile on
C:\. Had the first partition (C:\) been hidden, or had its drive letter
been changed in the MountedDevices key the cloned installation may not
have successfully booted. I may try this test again and instead of
deleting the MountedDevices key I may use a boot manager to hide
partitions and see how the installations boot and how drive letters are
handed out by the I/O Manager. I think or suspect that because both
partitions are on the same disk and because the disk signature will
still be valid that the ID of the partitions, hidden or not, won't
change and that the drive letters will, or may be handed out according
to the MountedDevices assignments, I will have to test to know for sure.
So, booting with an exact partition clone on the same hard disk is not
all that difficult, it can be done fairly easily without the use of
third party boot managers. I may try this test again later but do it
with 2 different hard disks instead of different partitions on the same
disk. Other than the possible reboot loop on the clone I expect the
results to be much the same but I would still like to see the results
first hand.
John