Booting Windows 2000 off of a non-C: drive

andres9606t

Weaksauce
Joined
Oct 1, 2002
Messages
110
I have a bit of a problem. I just replaced a hard drive in a system that already contains a somewhat older backup drive. I formatted the new drive, installed Windows 2000, and during the install, Windows 2000 detected the backup drive as C: (it's the primary master), and the new drive as D: (secondary master). Since I'm a Linux guy, I figured that drive letters had no impact on bootup, and that Windows 2000 would install everything to D:, as I specified. It did install the OS to the D:, but it put the boot files on the C: (the old back up drive). I didn't notice this until now, and a lot of work has gone into restoring this machine, so formatting and starting over really isn't an option. I tried disabling the backup drive, figuring that Windows 2000 MUST have put some sort of bootup ability on the OS drive, but it was a no go. I booted into the recovery console, ran fixmbr and fixboot on both drives, and tried again. Still couldn't boot off of the new drive. The system works fine, but I'm worried that if the old backup drive fails, it will prevent the machine from booting, even though the OS is all on the new drive. So my question is, how do I make the new drive bootable?
 
You have ntldr, NTDETECT.COM & and boot.ini on your W2K drive? Edit: and BIOS set to boot from primary slave? Oops, I mean secondary master as you said in your post. Another edit: and D: is active ?
 
rhy7s said:
You have ntldr, NTDETECT.COM & and boot.ini on your W2K drive? Edit: and BIOS set to boot from primary slave? Oops, I mean secondary master as you said in your post. Another edit: and D: is active ?

I did everything you specified except set D: as active, which it seems the Windows 2000 diskpart utility can't do. I'm pretty sure this is what I need to do to fix it though. Any ideas?
 
I found out how to mark the partition as active, but that resulted in it being the 'C:' upon boot, so it couldn't find any of the OS files. I ended up just formatting the stupid thing. Crap like this is why I use Linux... :mad:
 
assign [[letter=l]/[mount=path]] [noerr]

In the diskpart documentation linked.

(right under "active")
 
rhy7s said:
assign [[letter=l]/[mount=path]] [noerr]

In the diskpart documentation linked.

(right under "active")

That only applies for Windows XP, not 2000. I wouldn't have missed something that obvious. ;)
 
And then you edit the mounted devices registry key, to point to the new correct path, however it should have kept the old path, unless this key was wiped.

HKLM\System\MountedDevices <-- Key used for drive letter mappings.

Linux wouldn't boot of the disk either if the partition wasn't marked active.
 
Ranma_Sao said:
And then you edit the mounted devices registry key, to point to the new correct path, however it should have kept the old path, unless this key was wiped.

HKLM\System\MountedDevices <-- Key used for drive letter mappings.

Linux wouldn't boot of the disk either if the partition wasn't marked active.

I did mark it active, using the disk management console, and it was able to boot, and read the boot.ini. However, Windows 2000 automatically assigns "C:" to the boot drive (idiocy), regardless of what the letter the drive was before. This fubared the install.
 
The only way the drive letter would magically become C is if somehow your MountedDevices key was found to be wrong by MountMgr.sys. If so, it is an easy fix, just changing one character in two reg keys... ;)
 
Back
Top