G
Guest
Okay, I finally figured out how to get a copy XP to multiboot with
another copy of XP. Why? If two tech savvy people sharing just one
computer want to administrate their own xp operating system (such as my
wife and I), but don't want to mess up the other person's copy of xp.
Also, one xp partition could be for testing and development, while the
other could be for production.
I've heard this goes against the Microsoft EULA, but I don't see what
the beef is since you are allowed to make backup copies, and what's to
keep you from storing your backup copies on your own computer? The
technique here only allows booting into one copy of xp at a time, so I
hereby designate the other xp partitions non-infringing backups.
IANAL.
Unlike multiboot compliant OSes such as Linux, XP is quite tricky, and
it took me a couple of weeks of tinkering before finally settling down
on a successful methodology that should work for just about any x86
computer, but I've only tested it on my own.
First, my computer did not come with XP cds. It was an OEM XP
installation that had a Recovery Partition and a single XP partition.
Installing from the OEM disks just reformats my drive! So, I had no
option of choosing a parition while installing XP from cd, like you
might have if you actually own a non-oem copy of xp.
(1) backup everything, okay?
(2) defrag the original XP parition.
(3) resize original XP partition
I was not successful using qtparted or ntfsresize from Knoppix, but the
installation of Mandrakelinux 10.1 has an awesome utility that resizes
your NTFS XP partition, but automatically installs a Mandrakelinux
partition for the entire remainder of the empty space. After step (3),
I reinstalled mandrake on a smaller partition.
(4) create the parition layout you want
Use fdisk to create the partition layout you want. For some reason,
linux fdisk was giving me a maximum of only 16 partitions, (one of
which has to be the extended partition). My goal is to create the
ultimate multiboot machine, and part of that is to have more than one
bootable XP parition-- and I was disapppointed to be limited to only 15
usable partitions. Anyway, I installed my second xp on a primary
partition, but I read it should work on a logical partition as well.
Note that I made my original xp partition the only active partition.
(5) remove all entries from the MountedDevices key in the source XP
parition's registry.
This is so your second xp will be able to assign a drive letter to its
own system drive.
(6) copy from resized parition to a destination partition so smaller
than the source partition.
Best tool seemed to be linux's dd. ntfsresize choked because I had
some badblocks on my source ntfspartition. dd has an option to
continue even with badblocks
(7) configure your linux bootloader to point to your first xp
partition. for some reason fedora core 3's grub wasn't booting xp at
all, and mandrakelinux 10.1's lilo wouldn't boot from my second xp
partition, maybe something to do with the active partition, I dunno.
(8) set up boot.ini from first xp partition to display a multiboot menu
between your two xp partitions and your recovery console.
(9) edit entries in the mountedDevices registry key on both first and
second xp partition to get consistant drive letters. For both copies
of XP, I made my first xp partition C: and my second xp partition D:,
and my recovery partition E:.
(10) on second xp partition used RegReplace (shareware) to change all
instances of C: to D: in registry. Of course this is not a foolproof
method, and stupid programs might store paths in stupid places, maybe
even encrypted, but so far I've noticed no problems. And since my C
drive is so similar to my D drive, even if there is still a stray
reference to C somewhere, it's not show stopper. At least not until I
uninstall xp from that C drive. If you really want to be safe, you can
make your second xp parition think that its system drive letter is C.
But the inconsistent drive letters are very confusing for humans.
Good luck!
--Benjamin
another copy of XP. Why? If two tech savvy people sharing just one
computer want to administrate their own xp operating system (such as my
wife and I), but don't want to mess up the other person's copy of xp.
Also, one xp partition could be for testing and development, while the
other could be for production.
I've heard this goes against the Microsoft EULA, but I don't see what
the beef is since you are allowed to make backup copies, and what's to
keep you from storing your backup copies on your own computer? The
technique here only allows booting into one copy of xp at a time, so I
hereby designate the other xp partitions non-infringing backups.
IANAL.
Unlike multiboot compliant OSes such as Linux, XP is quite tricky, and
it took me a couple of weeks of tinkering before finally settling down
on a successful methodology that should work for just about any x86
computer, but I've only tested it on my own.
First, my computer did not come with XP cds. It was an OEM XP
installation that had a Recovery Partition and a single XP partition.
Installing from the OEM disks just reformats my drive! So, I had no
option of choosing a parition while installing XP from cd, like you
might have if you actually own a non-oem copy of xp.
(1) backup everything, okay?
(2) defrag the original XP parition.
(3) resize original XP partition
I was not successful using qtparted or ntfsresize from Knoppix, but the
installation of Mandrakelinux 10.1 has an awesome utility that resizes
your NTFS XP partition, but automatically installs a Mandrakelinux
partition for the entire remainder of the empty space. After step (3),
I reinstalled mandrake on a smaller partition.
(4) create the parition layout you want
Use fdisk to create the partition layout you want. For some reason,
linux fdisk was giving me a maximum of only 16 partitions, (one of
which has to be the extended partition). My goal is to create the
ultimate multiboot machine, and part of that is to have more than one
bootable XP parition-- and I was disapppointed to be limited to only 15
usable partitions. Anyway, I installed my second xp on a primary
partition, but I read it should work on a logical partition as well.
Note that I made my original xp partition the only active partition.
(5) remove all entries from the MountedDevices key in the source XP
parition's registry.
This is so your second xp will be able to assign a drive letter to its
own system drive.
(6) copy from resized parition to a destination partition so smaller
than the source partition.
Best tool seemed to be linux's dd. ntfsresize choked because I had
some badblocks on my source ntfspartition. dd has an option to
continue even with badblocks
(7) configure your linux bootloader to point to your first xp
partition. for some reason fedora core 3's grub wasn't booting xp at
all, and mandrakelinux 10.1's lilo wouldn't boot from my second xp
partition, maybe something to do with the active partition, I dunno.
(8) set up boot.ini from first xp partition to display a multiboot menu
between your two xp partitions and your recovery console.
(9) edit entries in the mountedDevices registry key on both first and
second xp partition to get consistant drive letters. For both copies
of XP, I made my first xp partition C: and my second xp partition D:,
and my recovery partition E:.
(10) on second xp partition used RegReplace (shareware) to change all
instances of C: to D: in registry. Of course this is not a foolproof
method, and stupid programs might store paths in stupid places, maybe
even encrypted, but so far I've noticed no problems. And since my C
drive is so similar to my D drive, even if there is still a stray
reference to C somewhere, it's not show stopper. At least not until I
uninstall xp from that C drive. If you really want to be safe, you can
make your second xp parition think that its system drive letter is C.
But the inconsistent drive letters are very confusing for humans.
Good luck!
--Benjamin