adding a drive
March 9, 2006 4:49 AM   Subscribe

Why does adding a third drive to my WinXP system cause the error "NTLDR is missing" upon subsequent boot? In the past it's worked fine like this.

The goal is one drive on primary master, one on primary slave, and one on a controller card. The system boots fine with the first two. Adding the third causes the error. Take away the third, error remains. Take away primary slave, system boots fine. Add primary slave, system boots fine. Add third drive, "NTLDR is missing."

Tried putting third drive on usb instead of controller card. Tried reformatting third drive. Same result.
posted by stupidsexyFlanders to Computers & Internet (11 answers total)
 
Well it's trying to boot from the new drive by the sounds of it. Can you set the boot order in the BIOS to look at the drive with you Windows installation on it first?
posted by ed\26h at 5:08 AM on March 9, 2006


Your boot.ini should look something like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
What might be happening is your bios is being confused by the third disk (or the controller) and telling your boot loader that the third disk is disk(0). Check your bios to see if you can control which HD is being booted from. Also you can try adding these lines:
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional Disk 1" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(2)partition(1)\WINDOWS="Microsoft Windows XP Professional Disk 2" /noexecute=optin /fastdetect
to the end of your booti.ini. This would allow you to choose which disk to attempt to boot from. One you figure it out just delete the other two lines and edit the default line to match. Windows will then automatically boot from that disk.
posted by Mitheral at 5:17 AM on March 9, 2006


Yeah, that controller card is appearing first in line. NTLDR is the Windows boot loader, the very next step in the boot process after the BIOS test.
posted by intermod at 5:19 AM on March 9, 2006


Second checking BIOS settings.

As well as boot order, some BIOSes have a feature that lets you control the order in which they present drives to the OS; if the drives attached to your controller card are getting mapped before the ones connected via the mobo, that could do what you describe.

If you can't find anything in the BIOS, try booting a Linux live CD (Damn Small Linux is OK), type

dmesg | more

at a command prompt, and search through the resulting mess looking for the manufacturer name and model number of your drives. That will at least tell you which order they're presenting themselves in. /dev/hda is usually the onboard primary master, /dev/hdb the onboard primary slave, /dev/hdc the onboard secondary master, /dev/hdd the onboard secondary slave and so on.

If the drive make and model of your third drive show up associated with /dev/hda, and you can't find BIOS settings that change that, just put your first two drives on the controller and attach your third one to the mobo.
posted by flabdablet at 5:21 AM on March 9, 2006


Should have previewed.

Go carefully messing with boot.ini. Although most Windows registry settings that refer to drives do so using their drive letters, there are a few that point directly to partitions on physical devices, and these will be wrong if you do manage to get Windows to boot from a different drive configuration than existed when you installed it.

It's safer to make Windows "see" the same drive setup you always had, plus one extra. Some combination of fiddling with BIOS settings and recabling the drives should get you there without needing to touch boot.ini.
posted by flabdablet at 5:27 AM on March 9, 2006


I'd suggest checking the jumper settings on your third drive. Setting those incorrectly can make your computer treat that new drive as the boot drive, with the results you've got.
posted by RelentlesslyOptimistic at 8:33 AM on March 9, 2006


In response to mail from the OP saying that the BIOS boot order was indeed set funny, but that changes made to it in the BIOS setup screens don't stick:

Because not all BIOSes have boot order menu support, your controller card might well be overriding the boot order set via the BIOS menus. If it's capable of doing that, it will probably also have its own setup screen. These are usually got at by hitting some key during the boot sequence. Are you seeing prompts to press odd keys during boot? If not, do you have a user's manual for your controller card?
posted by flabdablet at 6:47 PM on March 9, 2006


Response by poster: Hi, thanks for all your suggestions. I went in to the bios and sure enough the boot sequence indeed was pointing to the controller card first. I changed it to Primary Master, Primary Slave, and then Controller Card. But the changes won't stick! I change the sequence, I reboot, get the same problem, look at the bios, and the order is changed back to the incorrect setting. What could cause the bios to not retain the changes I'm making?
posted by stupidsexyFlanders at 6:52 PM on March 9, 2006


Response by poster: should have previewed, whoops. There's no setup associated with the controller card. I"m going to use BartPE to go in and edit boot.ini.
posted by stupidsexyFlanders at 7:13 PM on March 9, 2006


Response by poster: I tried editing boot.ini, making the default line look at rdisk(0), rdisk(1), and rdisk(2), each in turn, and none had any effect.

One interesting thing is that using BartPE (a bootable xp environment) I can browse the disks, and the disk on primary slave is labeled c: and the drive on primary master (with the os) is labeled d:. So the bios is definitely switching them. I'm going to concede and put the OS disk on the slave connector and see what happens.

later

OK, that fixed it. Everything boots fine, I just had to concede that the BIOS was looking at primary slave first for some reason, and so I put the disk with the OS on that connector. Mysterious are the ways of the PC.
posted by stupidsexyFlanders at 7:40 PM on March 9, 2006


"...so I put the disk with the OS on that connector..."

Aha! Cable Select strikes again!

I'm guessing that the way your drives were jumpered and cabled before you added the third drive has resulted in a temporary "two masters" (or, less likely, "two slaves") condition on your mobo-attached IDE cable, which your drives have been resolving by beating each other up until one of them figures out something's wrong and changes its configuration; and that the addition of the third drive has changed the timing around that little fight enough to make it shake out the other way around.

Cable Select is a cute idea, but I don't trust it; there are too many easy ways to make it fail. I've never seen hard-jumpering fail.

I'll bet you a dollar that if you jumper your OS drive to be a Master, jumper your second mobo-connected drive to be a Slave, jumper your new third drive to be a Master and attach it to the end connector on its cable, your system will stop acting weird.
posted by flabdablet at 7:29 PM on March 10, 2006


« Older how to set up an online store?   |   How to entertain oneself in London? Newer »
This thread is closed to new comments.