Sign in with
Sign up | Sign in
Your question

NTLDR error & BIOS no longer recognises correct HD capacity

Last response: in Storage
a b G Storage
November 9, 2009 5:16:17 PM


My PC has been working fine for many months, until last Friday when I turned it on and had the following error:

NTLDR is missing - Press CTRL + ALT + DEL to restart

I have:

a Windows XP Home OS
a Western Digital WD2500JB-00REA0 Hard Drive (250Gb)
Pheonix AwardBIOS BIOS

I've downloaded the Western Digital hard disk diagnostic program, which says the disk is working fine/no problems
I've used the Win XP install/Boot disk and gone to the Repair Console and tried the following:

copying over the Boot.ini, NTDETECT.COM and NTLDR files from the boot disk, as suggested

none of which have made any difference

I've also tried using the WinXP install/boot disk to "reinstall", but used the REPAIR option instead of the install option.

When using the WinXP install/boot disk, I noticed the status bar/footer recognises the correct size of the hard disk, and using the Repair Console, the partitions are correctly recognised...

I'm assuming the IDE cable is working ok because the WD diagnostic software reports the hard drive is functioning ok (and presumably wouldn't if the cable was faulty)...

The only other thing I can see that might have something to do with the reason why windows won't boot/comes up the the NTLDR error is because for some unknown reason, when I select "auto detect" in the BIOS, it shows a 139Gb hard drive, rather than the correct size of the hard drive (250Gb)... I understand older BIOS' had a max setting of 139Gb, but that makes no sense here, because this drive has been functioning for months - in fact around a year or so...

Any help would be greatly appreciated...

Oh, and if anyone knows the Repair Console admin password, that would be of use (as my admin password isn't accepted, and just pressing "Enter" gets into the Repair Console, but locks out all directories apart from the root of drive c:, the Windows directory and the System32 directory...

Thanks in advance,

November 9, 2009 5:52:33 PM

if it's only showing 136or 139gb than you need to enable LBA. Do a google search for the hard disk size you're getting. This is something you do from inside windows using the registry editor...

can you boot into safe mode? If it's telling you ntldr is missing, doing a repair installation should fix everything up.
a c 348 G Storage
November 10, 2009 1:37:09 PM

You say, "when I select "auto detect" in the BIOS, it shows a 139Gb hard drive, rather than the correct size of the hard drive (250Gb)". What exactly shows you 139 GB? Is it the BIOS POST sequence messages, or a Windows message? This is all tied into how to define a GB and the two different versions of LBA.

Hard disk makers define a GB as 1,000,000,000 bytes, but Microsoft says it is 1024 x 1024 x 1024 bytes. So a HDD's "137 GB" becomes 128 GB in Windows' way of counting. I am not sure which way your BIOS would do it.

The original LBA system used 28 binary bits in the address to specify a hard disk location, and that, combined with a fixed size of 512 bytes per sector, comes out to
137,438,953,472 bytes. ANY HDD over about 8 GB uses this method of accessing the disk. But by 2000 or so designer realized just how big HDD's were headed and revised the LBA specs to go to "48-bit LBA" which has to be implemented in the hard drive's on-board control PCB, in the mobo's hard drive controller hardware, and in the OS. In the late 1990's this meant some mobo BIOS's and controllers did not have this extra-large version of LBA support and could be updated with BIOS updates, but some could not. Since about 2000, though, all mobo BIOS's have "48-bit LBA Support". Note that ALL SATA systems have it. Obviously any hard drive larger than 137 GB has it. On the OS side, Win XP original did NOT have 48-bit LBA Support, but it was added in Service Pack 1 and all versions since.

NOTE that "LBA Support" has been in Windows since back in Win 98 at least; the change is in 48-bit versus 28-bit, and there is no place I know of in Windows' menus to specify that setting. It depends on which Service Pack (of XP) or which version of Windows (XP, Vista, 7) you have.

I am struck by your statement I quoted. Leaving aside for the moment the fact that 139 GB is not 137 GB, you appear to say that the BIOS itself detects the drive at a size very similar to one that has only older 28-bit LBA support. Since the drive clearly is not that, three possibilities come to mind. One is that there is a problem in signal lines - poor data cable, poor connector contact, something like that - that is interfering. A second is that the HDD somehow has been told to limit its own abilities. I know that Seagate has this sort of feature available on its units. Using their Seatools for DOS utility you can set one of their drives to pretend to the world that it has less than its real capacity (and this setting can be undone later). But I do not know whether WD has any similar feature. Nor do I understand how it could just suddenly get set on a drive that already was working at full capacity. The third possibility, following itadakimasu's post above, is one I don't know about, but may exist anyway. It is possible that Windows has a registry setting that would force it to limit itself to 28-bit LBA mode. HOWEVER, if that were the source of your trouble, I would have expected two things: (a) the report of disk size would be a Windows message, not from BIOS; and (b) the size reported could not be larger than 128 GB, because that is how Windows counts sizes.

Try re-running the diagnostics from WD, and have it run an extensive set of tests over the entire disk. Pay special attention to what it tells you the disk size really is. If that software can find and access all of the disk, then the hardware (disk, its PCB board, cables, and the mobo's controller and BIOS) all are working properly. But if it gets the wrong size, or finds errors in the upper end of the disk, you probably have a hardware problem in those areas, and this would be consistent with a BIOS report of small size.
a b G Storage
November 20, 2009 10:38:38 AM


Thanks for your detailed and informative reply...

First of all, apologies, I entered a typo, it should read 136Gb, not 139Gb!

I've since taken my PC in to be examined and have the data extracted, reformatted all hard disks and have since rebuilt and put back the data...

Apparently there is no problem with the BIOS, or the harddrives and the guy in the shop simply stated that "he'd seen it before with laptops, where it would appear that there was no operating system (hence NTLDR error msg), but its all there, intact, with no harddisk failure, no cable issues, no power supply issues, etc"...

With regards to the BIOS showing 136Gb (as in "go into the BIOS setting, and Auto-Detect hard drives - nothing to do with Windows) - its apparently irrelevant as to whether the BIOS reads the correct size as Windows does read the correct size, hence no problem there. Incidentally, with the PC working again, it still only shows 136Gb in the BIOS, but the full capacity in XP - so its just an old BIOS I guess...

Only solution I am working with now is that I've installed one extra harddrive and am backing everything up systematically as I go... The only thing I can think of that might have caused the problem is writing a 150Mb file using Audacity - this is what I was doing the last time my hard drive crashed (different hard drive) over a year ago... I think in future I'll be writing to flash drives and then copying over the resultant file!

Many thanks for your time and effort,