Solving Windows OS Problems When Upgrading Your Processor

Several years ago I used to rebuild computers all the time. It was normal to take several broken computers and make a couple working computers out of them. So when my Pentium III 500MHz became too slow for modern software, it was time to upgrade. I had two choices: 1) simply buy a brand new computer, or 2) get a new motherboard, processor, and memory and use the existing parts. I chose the second option, and therein lies the tale.

To make a long story short, you can no longer just slap a bunch of parts together and make something work. Specifically, if you are running Windows and you change the type of processor, you'd be better go ahead and install a new hard drive at the same time. If you are lucky you might be able to get one of your old hard drives to work, but probably not. The reason is that the processor adds code to the harddrive that informs the OS of the processor type. This code is not overwritten by reformatting the drive, even if you change the file format. Some people seem to think you can do it by deleting the original Windows partition, by adding a new Windows partition, by reconfiguring the boot.ini file, by rebuilding the Master Boot Record, or by using the manufacturer's install disk and performing a medium level format. In some instances any of these solutions may work, but it took me nearly a week to accomplish all these tasks before I finally gave up, bought a new hard drive, and got my computer working again.

Can you believe that was the short version? I thought it was important to quickly list the recommended solutions. But for those of you with a more technical bent, here is what happened. I had a Pentium III, Slot 1, 500MHz processor and motherboard with 384 Mb of RAM. I replaced it with a Shuttle AN51R motherboard, an AMD Athlon 64 3000, and 2 Gb of PC3200 RAM. I chose a motherboard with an Nvidia NForce3 chipset that supported AGP 8x since I already had a spare AGP 8x video card. I also didn't want to use a Via chipset because they can be a bit flaky when operating at the margins. While it is possible to buy the motherboard and processor separately and install them yourself, I chose to purchase a motherboard bundle and have the vendor install everything. That way I know it was working before they ship it out, and it might make the return process easier if something doesn't work.

I had an Western Digital 120Gb drive as the Master. I'd just installed an Hitachi Deskstar 250Gb drive as the slave. 32 bit Windows doesn't handle drives larger than 137Gb, so to get the drive working at full capacity you have to have Windows XP with SP1 installed, and the drive install program has to load an additional program that enables the drive to work. To read drives larger than 137 Gb, the OS has to be able to handle 48 bit addressing.

Once I installed the new motherboard with the new processor and memory, and once I'd hooked up everything else, I turned on the computer and got the "Missing NTLDR" error message. I did a Google search for solutions and did everything it said, including checking the BIOS and copying new versions of the NTLDR and NTDETECT files, but nothing helped.

At this point I thought I'd try something. I downloaded the latest version of Knoppix, burned it to disk, and used it to verify the operation of the computer. Knoppix, if you don't know, is a version of Linux that you can run from a CD. It works pretty well, in some ways better than Windows. For example, it automatically connected to my home network, and I was able to surf the Internet; Windows had no native drivers for my Gb Ethernet interface, and I couldn't use the Internet until I ran the motherboard install CD. Using Knoppix, I was also able to see my 120Gb drive and copy files to my floppy drive. That meant the drive was good, that the drive was connected properly, that the IDE interface was good, that the processor was good, that the memory was good---in short, that nothing was wrong with the hardware.

As an aside, Knoppix is nowhere as easy to use as people make it out to be. Supposedly there are utilities available that will help you do almost everything, but Linux help files leave much to be desired. Writing good documentation is boring, which is why people need to be paid to do it. No normal person would write a comprehensive help manual for free. On a technical note, Knoppix couldn't mount my Hitachi Deskstar 250Gb drive, perhaps because it doesn't support 48 bit addressing. It couldn't burn CDs to my old HP drive. It wouldn't create a persistent disk image, as my hard drive was NTFS, and while Linux can read NTFS, it natively uses FAT32 instead. Knoppix was nice to use as a tool to make sure the hardware was all working, but I couldn't use it for much else.

I tried to repair the operating system, but that didn't help either. I didn't want to reformat this drive, as it had all my data on it. I installed an old 20Gb drive at this point for further troubleshooting. Once again, Knoppix saw and could read the drive. I tried repairing the operating system, then I tried reinstalling the operating system. Finally I booted into DOS using an old Win98 boot disk and performed an "fdisk". Then I reformatted the drive. Finally I reinstalled the operating system. When this didn't work I tried booting using the Windows XP CD. From the Recovery Console I reformatted the partition from FAT32 to NTFS, then reinstalled the operating system. When that failed I even tried resetting the CMOS.

When I say nothing worked, I mean everything would work fine until the boot sequence read "Verifying DMI Pool Data", at which time I got one of two errors. The first error was "Error Loading Operating System"; the second error was "Missing Operating System." If you Google those problems you will usually find the recommended solutions are to use FDISK to repartition the drive, then reformat the drive and do a clean install of the operating system. But that will only work if you are using the same motherboard and chip family.

One possible solution that I didn't try, since I wanted to save the data on my 120Gb drive, is posted by Bill Mead at http://www.annoyances.org/exec/forum/winxp/t1045549931. "If you sysprep the machine with a pnp switch, it will strip the machine of the drivers installed for peripherals and reinstall them upon configuration. Interestingly enough, prior to the sysprep, you need to have the required drivers installed on the system (available for the OS to see in the %sysroot%."

Other suggestions were to use the Recovery Console option that comes up when you boot from the Windows XP CD. This gives you access to a wide range of options. I found, however, that these options didn't really help, either, but in the interest of completeness you can find them here, or cut and paste the following into your browser: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/recovery_console_cmds.mspx. The suggestion bandied about on a number of forums is that the problem was in the boot.ini file. They suggested going to the Recovery Console and doing a bootcfg /list, and possibly a bootcfg /rebuild. Suggested solutions also included rewriting the boot startup sector using Fixboot, or rebuilding the Master Boot Record using Fixmbr. None of this worked.

Here is what is really going on. Each processor family puts a unique ID code deep onto the hard drive where it can't be overwritten or modified by the operating system. When you change the chip, the hard drive contains the wrong ID code for the new chip. People will tell you to do a Low Level Format, but that is the wrong answer. The low level format (LLF) is done by the manufacturer only for any modern drive. A low level format finds any errors on the drive and writes them to a table so the errors are skipped over. What people really mean when they recommend a LLF is a medium-level format, (MLF,) which is basically writing zeroes across the entire surface of the hard drive, returning it to its original state. People say this can be done by using the setup disk that comes with the drive, but I've found that not to be the case. Modern setup disks basically do a high level format, (HLF,) not much different that that performed by the operating system. Some hard drive manufacturers offer a utility that will perform the medium level format, but this is not generally available. These take several hours to perform, and are designed to rid a drive of nasty boot sector viruses. If you have both time and patience this might work, but simply finding getting the utility from customer support would be an ordeal in itself.

After all that, we are back to this. If you are changing chip families when you upgrade, (from an Intel Pentium III to an Intel Pentium IV, or to an AMD Sempron, or perhaps to an AMD Athlon 64,) do yourself a favor and get a brand new hard drive at the same time. You'll save yourself lots of time and trouble.

Last updated on December 31, 2005