Removing x2 Windows XP Dual Boot

nater

Diamond Member
Jun 18, 2001
3,135
0
0
So recently my C: drive with my main Windows XP install started failing, so I installed another copy of XP onto my D: drive so I could rescue some of the files from the failing hard drive. I am getting an RMA for the C: drive, so that drive will be removed. What do I need to do to save my D: installation? I've seen some other threads and web pages but they haven't been too clear. Change the boot.ini? Run Fixmbr in the recovery console?
 

VirtualLarry

No Lifer
Aug 25, 2001
56,574
10,211
126
Well, first of all, is the D: drive (I assume a completely seperate physical drive here, not just a partition) an NTFS volume or FAT32? Primary or extended partition?

If it were FAT32, on a primary paritition, then you can simply copy the bootloader files to the root of the drive, and edit the BOOT.INI file appropriately. You also need to boot off of the OS CD, enter the recovery console, and do a FIXMBR to re-write the drive's MBR with boot code that will call the bootloader, and perhaps a FIXBOOT too. (reference here) You would also have to use FDISK off of a bootable DOS/Win9x boot floppy, to change the currently "active" partition to that primary partition, if it is not already set that way.
 

Navid

Diamond Member
Jul 26, 2004
5,053
0
0
The best thing to do is to remove the failing drive from the PC and install XP on the new drive. Delete the old D drive during install (backup any data that you may need onto a CD or DVD). Then, after the installation is complete, the new XP will be on C drive. Then, you can hook up the old drive and copy any files from it.
When you hook up the old drive, make sure to set the new drive to be master. Otherwise, it will boot back to the old C on the failing drive!
 

nater

Diamond Member
Jun 18, 2001
3,135
0
0
Originally posted by: VirtualLarry
Well, first of all, is the D: drive (I assume a completely seperate physical drive here, not just a partition) an NTFS volume or FAT32? Primary or extended partition?

If it were FAT32, on a primary paritition, then you can simply copy the bootloader files to the root of the drive, and edit the BOOT.INI file appropriately. You also need to boot off of the OS CD, enter the recovery console, and do a FIXMBR to re-write the drive's MBR with boot code that will call the bootloader, and perhaps a FIXBOOT too. (reference here) You would also have to use FDISK off of a bootable DOS/Win9x boot floppy, to change the currently "active" partition to that primary partition, if it is not already set that way.


C: and D: are separate physical drives. They are both primary partitions with NTFS file formatting.
 

KF

Golden Member
Dec 3, 1999
1,371
0
0
Besides getting the correct stuff for booting (As VirtualLarry described) onto the second drive, another problem is that your installation on D: is "hard wired" to the letter D (in the registry), and without a C drive, it will be re-lettered to C by XP as it boots, and ether won't boot correctly, or will have mixed up lettering for all installed programs.(Actually there are cases where it does keep the D letter. You may be lucky. More likely no. Too hard to explain.) You can reinstall XP "over itself" to fix the booting problem, but it won't fix the letters for installed programs. If that's not OK, then you go to another level of complication

If you have a working old small HD in your junk box, I would put that in the place of the defective drive. It doesn't have to have anything on it but a primary partition and the stuff VirtualLarry described. If you want only one drive, it is more complicated.

To get another partition (for C) in front of D on one drive, you could shink and move the partition you have on the D drive to make room, and put a second primary partition before the one now on D. (XP puts all primary partiitions on the same controller before extended partitions.) As to whether XP can then boot to the second primary partition, I don't know. You might be able to convert the second primary partition to "extended," and that does work.

BootItNG can do the partition work. Its advantage is all it needs is the boot CD or floppy, nothing from the HD, needs no operating system at all, and it's under 2 Mbytes . link The capabilties of this little program are amazing. It has a full working free trial.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
If the RMA is going to take a bit and they won't do a cross-ship I would recommend just popping out the old drive, setting bios to boot to your remaining drive, and reinstalling Windows on the new drive. Choose NOT to format the disk during setup so your data remains intact. When the new drive arrives, simply add it as a secondary.

If that sounds like a hassle, wait till you hear the alternative:

What is required to boot:

A drive formatted by an NT based OS so that it has the proper boot sector.
NTLDR
Boot.ini with the appropriate arc path
NTDETECT.COM

Right now your bootsector and the above files are on C: and this in turn transfers to your OS (\windows folder) on D:.

Remove and replace...
If they cross ship, you can remove and replace the drive, kick off windows setup long enough to partiton and format the new drive with NTFS, then drop the above mentioned files on and you'll be good to go.

If they don't cross ship and you gotta take C: out for a while...
If you simply remove your C: drive, you can get booting again by dropping the above files on the D: drive and editing your boot.ini. I'm *guessing* you'll need to go from:
multi(0)disk(0)rdisk(1)partition(1) (First partition on 2nd disk)
to:
multi(0)disk(0)rdisk(0)partition(1) (First partition on 1st disk)

Now this will get you booting again but you'll have a rather serious problem. Your drive letter will have shifted. Everything that was previously running on D: is now shifted down to C:. You will first notice this because when you try to logon it will drop back to the logon screen again. Winlogon is trying to start D:\windows\system32\userinit.exe but it is now loaded on the C:\ drive. If you have another computer on your lan you can fix this by editing your registry remotely while it's at the logon screen. If not, you're gonna need to fix this beforehand. Remove the path from the userinit value located in the following key so that you are just left with "userinit.exe,":
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

You can now logon but sh1t will be all frankensteiny (tm) because every other reference to D:\ in the registry is wrong. You're gonna need this for starters:
http://support.microsoft.com/default.aspx?scid=kb;en-us;223188

Fix all that crap, or limp along until the replacement drive arrives and then follow the "remove and replace" instructions above.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
KF had a REALLY good idea up there.

If you have ANY extra drive you can slap in and drop your boot files on it will preserve all your drive letters and make things smooth as silk until you can get your replacement back.
 

nater

Diamond Member
Jun 18, 2001
3,135
0
0
Originally posted by: Smilin
KF had a REALLY good idea up there.

If you have ANY extra drive you can slap in and drop your boot files on it will preserve all your drive letters and make things smooth as silk until you can get your replacement back.

the C: drive that is failing is still connected and working--I don't plan on taking it out until the replacement comes. When the new drive arrives, I can format it and copy these files over:
NTLDR
Boot.ini with the appropriate arc path
NTDETECT.COM

then just replace the old drive with the new one, and I'll be golden? By the way, thanks for all the help
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: nater
Originally posted by: Smilin
KF had a REALLY good idea up there.

If you have ANY extra drive you can slap in and drop your boot files on it will preserve all your drive letters and make things smooth as silk until you can get your replacement back.

the C: drive that is failing is still connected and working--I don't plan on taking it out until the replacement comes. When the new drive arrives, I can format it and copy these files over:
NTLDR
Boot.ini with the appropriate arc path
NTDETECT.COM

then just replace the old drive with the new one, and I'll be golden? By the way, thanks for all the help


Yep, You'll be good to go. There's a bajillion ways to accomplish the above but here's one:

Take these steps now:
1. Run gpedit.msc
2. Under Computer Policy\Windows Settings\Security Settings\Local Plicies\Security Options, set "Recovery Console: Allow floppy copy and access to all drives and folders" to "Enabled"
3. Copy those files above from your current C: drive to your D: drive.

When the drive arrives, add it to your system and boot to recovery console.
Use DiskPart and Format to prepare the new drive.
Copy those files over.
Power off, remove your old C:
Power up, set bios to boot to the new drive
Reboot, enjoy!