dual boot xp with xp, multibooting with xp

  • Thread starter Thread starter Guest
  • Start date Start date
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
 
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

What you have achieved can be done much more simply by
using a third-party boot loader, e.g. XOSL. It lets you load
just about any number of any OS, each in its own partition.
Each OS will be visible on its own drive C:, and there is no
need to perform any tweaking of the registry. Note that XOSL
is free.
 
Okay, I'll have to look at that project more carefully. Correct me if
I'm wrong but it looks like XOSL hides the other windows partitions
that you aren't currently booting from (maybe that's configurable).
The method I've outlined above, allows you to have full read and write
access to the other XP drives. Maybe that's bad from a security
standpoint, but definitely convenient.

In step 10 I tried to explain that we could set the currently booting
xp partition to call its system drive letter C, and that would require
much less registry tweaking. But that means the C drive according to
one XP will be different from the C drive of another xp partition.
That's what I find confusing, and to me it seems worth it to tweak the
registry.

Anyway, I definitely have to explore more about bootloaders in general.
I really wanted to get grub to work, but it has trouble booting to any
of my windows partitions. I get an Error 21, drive not found, which I
read may be caused by BIOS settings, and may require trial and error to
fix. No thanks.

Lilo at least boots to my first xp partition, but not the second.
That's why I have to use a secondary menu, the bootloader on my first
xp partition, to choose which windows to boot.

Maybe XOSL will do better. Personally, I'm rooting for the Grub2
project, but that might be years down the road.

--Benjamin
 
To have each operating system consider itself as being of partition C:, you
have to install each operating system in a primary DOS partition. You also
need a bootloader that enables you to hide all primary DOS partitions on the
system except for the one you boot into. I have 4 versions of Windows on my
computer and each one boots up as drive C:. A virus/trojan on one operating
system will not affect the other operating systems. Great for security.

--
Regards,

Richard Urban

aka Crusty (-: Old B@stard :-)

If you knew half as much as you think you know,
You would realize that you don't know what you thought you knew!
 
Richard said:
To have each operating system consider itself as being of partition C:, you
have to install each operating system in a primary DOS partition. You also
need a bootloader that enables you to hide all primary DOS partitions on the
system except for the one you boot into. I have 4 versions of Windows on my
computer and each one boots up as drive C:. A virus/trojan on one operating
system will not affect the other operating systems. Great for security.

OK, but the bootloader is still a single point of failure. SCSI gives
you the functionality without the bootloader - beats me why BIOSes for
other disk interfaces don't do it too.

Sunny
 
Hiding partitions is optional with XOSL but is highly recommended
in order to make each OC completely modular. What I mean is
this: If you have two instances of WinXP, one on drive C: and
the other on drive D:, then the one on drive D: is dependent on
the existence of drive C:. You cannot run it on its own, and you
can never run it on a drive other than D:.

Contrary to what Richard Urban suggests, XOSL lets you run
multiple operating systems not only in primary but also in logical
partitions. This means that you can have up to 24 or so OSs
if you are so inclined . . .
 
Sunny said:
OK, but the bootloader is still a single point of failure. SCSI gives
you the functionality without the bootloader - beats me why BIOSes for
other disk interfaces don't do it too.

Sunny

Some boot loaders can be reloaded with a minimum of fuss -
in five minutes, with all previous settings. Furthermore, they
do not modify the various OSs. If you activate a given
partition and make it visible then its OS will boot without
the boot loader.
 
Pegasus (MVP) said:
[snip] If you have two instances of WinXP, one on drive C: and
the other on drive D:, then the one on drive D: is dependent on
the existence of drive C:. You cannot run it on its own, and you
can never run it on a drive other than D:.


What makes the drive D: WinXP dependent on drive C:'s
WinXP?


#That's Him! - Richard Cramer!#
 
Richard Cramer said:
[snip] If you have two instances of WinXP, one on drive C: and
the other on drive D:, then the one on drive D: is dependent on
the existence of drive C:. You cannot run it on its own, and you
can never run it on a drive other than D:.


What makes the drive D: WinXP dependent on drive C:'s
WinXP?


#That's Him! - Richard Cramer!#

There are two issues here:
a) The WinXP boot files reside on drive C:. If drive C: is removed
then the installation on drive D: won't boot.
b) The installation on drive D: has numerous references in its
registry that point to drive D:. If drive C: is removed then drive
D: becomes drive C: but the registry references still point to
drive D: and are therefore wrong.
 
Actually thats not true. If you create a bootable floppy disk with all the
correct files you can do it that way. to boot from the D drive you will have
to put the floppy in also. you could also use a CD to do this.
Richard Cramer said:
[snip] If you have two instances of WinXP, one on drive C: and
the other on drive D:, then the one on drive D: is dependent on
the existence of drive C:. You cannot run it on its own, and you
can never run it on a drive other than D:.


What makes the drive D: WinXP dependent on drive C:'s
WinXP?


#That's Him! - Richard Cramer!#
 
Can you be a little more specific? There are too many
unspecified "this" and "that" in your post.


Mark Barrett said:
Actually thats not true. If you create a bootable floppy disk with all the
correct files you can do it that way. to boot from the D drive you will have
to put the floppy in also. you could also use a CD to do this.
Richard Cramer said:
[snip] If you have two instances of WinXP, one on drive C: and
the other on drive D:, then the one on drive D: is dependent on
the existence of drive C:. You cannot run it on its own, and you
can never run it on a drive other than D:.


What makes the drive D: WinXP dependent on drive C:'s
WinXP?


#That's Him! - Richard Cramer!#
 
Back
Top