inspiron 630m bios shrinks new larger hard drive

I`m trying to resolve a problem with an inspiron 630m laptop (also listed as XPS M140, model 0HC416).

The laptop has an 80GB PATA hard drive that is almost full, so i cloned it to a new 320GB hard drive, and popped it back into the laptop.

Two things can happen:

  • Since the original hard drive configuration has 3 partitions: dell service 39MB fat16, windows (ntfs) and a 3GB fat32 partition. I used gparted to move the 3GB unknown partition to the end and then extended the windows partition to fill the remaining space. When i pop the drive into the laptop, it posts fine, but after the windows loading screen, a blue screen is reported.
  • If i don`t manipulate the partitions, windows loads fine, but the bios writes the drive size down to 80GB. (I can use seatools for dos (bootable CD) to readjust the hard drive size to the full 320GB).
the laptop bios is the A04 3/13/2006, and it`s running win xp x86 sp3.
intel i915gms/i910gml northbridge
 82801FBM (ich6-m) southbridge
0 Kudos
1 Reply

Re: inspiron 630m bios shrinks new larger hard drive

After much searching on the web for many unhelpful answers, I finally discovered what the actual issue is, so then I was able to fix it. I will be posting this in as many places as possible so that future people having this issue won't have to struggle with it for hours like I did.

First of all, as much as I love Samsung drives, avoid them for this model. There is some sort of "brain-dead incompatibility" (as one guy put it) that prevents them from working correctly. Western Digital costs more and is slower,  but it at least will work correctly in this unit.

The size issue is not the BIOS at all. I discovered this by accident. The issue is that Dell's software engineers are stupid......or at least were. Dell customized the boot loader in the MBR, which gives the www.dell.com bar upon bootup. The issue is that this is not the only thing this weird bit of code does. Programmed into this odd bit of code is the size of the original hard drive. Upon executing, this boot code then sets the hard drive HPA to that size. For people unfamiliar with HPA, it tells the hard drive what size it should report itself to be. If you had put the hard drive in the machine blank, you'd see that the BIOS correctly reported its size. However, once you clone the old hard drive onto it and boot it, that funky MBR writes an HPA to the drive, telling it to report the old size, which it dutifully does.

The solution is as follows:

1. Remove the HPA with a utility like MHDD (Maysoft's Hard Disk Utility), which can be downloaded as a bootable CD. Other utilities provide this functionality, but I am most familiar with MHDD's implementation. Once you boot MHDD and select the drive, type "hpa" to launch the HPA utility. It will show you the native maximum addressable LBA, which you will then tell it to apply persistently (1), type in the native address, and confirm with y. It will say "done."

2. Reboot, but this time boot from the Windows XP CD. DO press a key to boot from the CD, when prompted. After it loads the text-mode Windows, select "R" to repair with the recovery console. Select your preferred keyboard layout if it isn't US, and select the Windows partition to log onto by number. You will need to know the Administrator password for the Windows installation. On many of these units there is none; simply press enter when prompted on these machines. If you don't know what it is, NTPASSWD is a great utility to clear them--do your own research on that one. Once you are logged in, type "fixmbr" then "fixboot" to replace Dell's weird bootloader with the standard Microsoft one. You will get a warning that the computer has a non-standard or invalid MBR......which we already knew, so tell it to go ahead and fix it. In spite of its dire predictions, I have never had fixmbr lose partitions, no matter how non-standard the MBR may be.

3. If you adjusted the partition smaller to make Windows boot, you can now expand it to fill the hard drive. Windows will boot normally, without that Dell bar or a BSOD.

0 Kudos