• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Helping Windows Survive a Motherboard Upgrade (and other odds and ends)

Modus

Platinum Member
Howdy all.

<boringintroduction>

As you probably haven't noticed, I've been AWOL for the past half-year. No, I didn't perish in 9/11 and yes, I still spread the winmodem gospel. I'm taking a super intensive two-year Software Engineering program at the BC Institute of Technology in Vancouver. It covers programming methods in the major languages, database design, system architecture, OS, the whole shabang. The workload is breathtaking -- easily twice as bad as my undergrad at UBC -- but the material is current and highly practical.

I wanted something that would allow me to branch away from my PC consulting and sales business, and give me the clout to earn a higher salary in a more secure position. I love building and selling fast, stable systems for people, but the profit margin stinks and the only real money comes from network consulting and repair service, which can fluctuate. At least I know that as long as people are still building computers, they'll need somebody to build the software.

That's why you haven't been seeing marathon threads on winmodems, partitioning, SCSI vs IDE, AMD vs Intel, and all the rest of it. But I'm on spring break this week so I thought I'd give AnandTech another whirl for old times' sake. I like the evolution of the forums and I hope everybody appreciates Anand's sincere effort to keep this as open a place as possible. Given its user base and lucrative trading boards, he could have easily slapped a mandatory subscription on us and cashed in. I'm sure the thought occurred to him when banner ad revenues took a nose dive. So let's remember what a great place this is -- the only PC computing forum on the planet that faithfully balances newbie tolerance and geekish enthusiasm.

Here the post might begin to interest you. It's my collected wisdom on helping Windows survive a motherboard upgrade.

</boringintroduction>

Upgradability in PC hardware has become a virtual oxymoron. During the last three generations of CPU design, clock speeds and architecture improved so quickly that, by the time a PC truly needed a processor upgrade, it also needed a new motherboard to run that processor. (And that new motherboard usually necessitated a new type of RAM, perhaps a new power supply, and certainly a new hard drive and video card to ease the new bottlenecks created by the faster processor.)

Motherboards are undoubtedly the most difficult component to upgrade. In the rush to ensure CPU, RAM, and front-side bus compatibility, many users forget the most difficult part of the job: the Windows part. Anyone who's booted up a Windows box for the first time after a motherboard swap knows the pain and tedium it entails -- a long and arduous procession of cheery "Add New Hardware" dialogs for hardware that rarely gets added, a steady stream of blue screens from baffled VXD drivers, and a My Computer that seems to be content to show just your C drive, nothing else. Even though most of your add-in cards remain the same, the new motherboard is bound to assign them slightly different resources (IRQ's, DMA's, etc.) which will confuse Windows and trick it into detecting a bazillion different devices you already had.

A clean wipe of the hard drive and full OS installation with fresh drivers and patches is undoubtedly the best solution. In fact, most competent IT professionals recommend such a procedure at least once a year regardless of upgrades, simply because of the malformed stubs that accumulate in the Windows Registry and the annoying TSR programs that pile up from unintended downloads. But there are times when a complete wipe is not feasible, due to large amounts of sensitive data or lack of original program CD's. In these cases we're made hostage to Windows' atrocious plug and play code.

The holy grail of preparing Windows for a motherboard swap is to expunge any and all information about the PC's current hardware. That means uninstalling drivers, pruning registry entries, unloading VXD's, deleting INF's, and stopping TSR's. You want as close to a clean slate as possible the first time Windows boots and detects the new hardware. It's a big, messy job, and in my experience, it's rarely done without a hitch.

Here are some steps you can take to minimize the madness:

Abstractly, the procedure is:

1) Download (but don't install) the very latest drivers from the manufacturers of your new hardware; prepare the Windows CD.

2) Uninstall your current drivers.

3) Delete registry references to hardware or drivers.

4) Delete remaining driver files.

5) Examine all startup programs (software that loads when Windows loads) and eliminate those related to current hardware.

6) Install the new hardware, reboot, and pray.

Now let's get into the details on each step:

1) Don't even think about physically installing your new stuff until you've downloaded the drivers to your hard drive. In all cases, you should favor the "reference drivers" from the maker of the component's chip-set, as opposed to the custom (read: outdated and buggy) drivers from the manufacturer. This applies to everything: motherboards, video cards, even winmodems (especially winmodems 😉). And please, don't ever, ever, use the drivers that came on the CD. They were outdated before the glue dried on the label.

2) Many major driver packages have a user-friendly uninstallation program, accessible through either a group on the Start Menu, or the Add/Remove Programs section of Control Panel. Uninstall anything related to AGP, IDE, video, sound, or other hardware. Whenever possible, do NOT reboot between uninstallation of each driver. This can cause Windows to redetect and install them again, putting you back where you started.

3) The Windows Registry maintains a putrid, disorganized record of nearly every hardware component currently or formerly installed in your PC. (Studying the Registry leads to one of two logical conclusions: either the Windows programmers were dumber than snot, or Microsoft deliberately complicated the Registry to dissuade competition.)

Your first peek into the Registry's hardware information is through good old Device Manager. This is best used when Windows is booted in Safe Mode (consult the manual on how to do that in your particular version of Windows.) Basically, you want to remove as many devices as possible before the computer hangs up or forces you to reboot. If you are given the option to reboot, never do so until all the devices are removed.

If Windows was a robust operating system, clearing the devices in Device Manager would actually. . . clear the devices! Alas, there is more to do. The Registry keeps your hardware information in a few different places. Luckily, Windows is usually smart enough to rebuild these parts of the Registry if they are removed or corrupted. That is our objective. When Windows rebuilds these sections, it will have a much cleaner slate to detect the new hardware.

The following information is by no means exhaustive or even completely accurate. Microsoft, in their infinite wisdom, publishes no formal documentation of the Registry. What little we know about this tome is gleaned from long hours sifting through its pedantic lines of jumbled spaghetti. If anyone is aware of other "pressure points" in the Registry, please email me, as I'd love to discuss them.

Note: A "key" is registry terminology for a folder that can contain values and other keys. A "value" is a little piece of information in the registry that is given a name and a bit of data.

Start > Run, "regedit", OK.

In Windows 2000/XP:

Change the following values:

In HKEY_LOCAL_MACHINE\SYSTEM\Select, set Current, Default, and LastKnownGood to 1. Set Failed to 0. This tells Windows to only be interested in your #1 control set.

Delete all keys and values UNDERNEATH these keys:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002 . . . HKEY_LOCAL_MACHINE\SYSTEM\ControlSet999 (if there). Don't delete ControlSet001.
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FACS
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\RSDT
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\Hardware Abstraction Layer\ACPI Compatible Eisa/Isa HAL
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\PnP Manager\PnpManager
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Arbiters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Biosinfo
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{CC474C34-503B-400C-B93F-A606B5170ABB}\Connection\PnpInstanceID (set value to zero)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Arbiters
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Biosinfo
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{CC474C34-503B-400C-B93F-A606B5170ABB}\Connection\PnpInstanceID (set value to zero)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum

In Windows 95/98/ME:

The procedure is similar, but the registry keys are found in different places, and may be consolidated together. Delete all keys and values UNDERNEATH these keys:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD
HKEY_LOCAL_MACHINE\Enum

4) Even after removing devices from Device Manager and a thorough hatchet job on the Registry, driver files will remain. Don't worry too much about this as these files are largely disassociated from the operating system now, and they amount to little in terms of storage. There are some, however, that can still haunt you from beyond the grave. These are the files found in the INF folder under your Windows folder.

INF files are like the table of contents for a driver package. They tell Windows what files will be installed, where to reference them in the registry, and what the default device settings should be. They also contain specific PnP vendor ID's that identify exactly which hardware they're intended for. When Windows is "building a driver information database", all it's doing is reading through every INF file in the INF folder. Then, if it detects a PnP device that matches with a known vendor ID in one of the INF's, it installs whatever driver files the INF tells it to.

When you install a new device, its driver's INF file is copied to the INF folder. You want to purge these. Some of the INF's, however, are part of Windows' default device support, and shouldn't be removed.

In Windows 2000/XP, view a list of the INF files sorted by Modified date. The vast majority will have the same date (7-12-1999 or 14-12-2001 for Service Pack 2). Those that do not match these dates are most likely new driver files and therefore safe to delete. Also, everything in the INF\CATALOG folder should die.

In Windows 95/98/ME, it's easy: kill everything in the INF\OTHER. That's where new INF's get dumped.

5) Many drivers install "helpful" applications like status monitors and toolbars that start up along with Windows. Besides being grossly annoying in general, they can also cause problems during a motherboard swap. You should turn off any startup programs related to your current hardware.

In Windows 2000/XP: Start > Run, "regedit", OK. The following keys contain references to startup programs:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run (and any other users under HK_USERS)

Delete any value that looks related to any of your hardware devices. Look for manufacturer names like ATi, VIA, etc.

In Windows 95/98/ME: Start > Run, "msconfig", OK. Click the Startup tab, and un-check any hardware-related startup programs.

6) When first booting after installing your new hardware, the best advice is to "go with the flow". Just sit back and let Windows detect what it wants. You'll get really bored of hitting "Next >" but after about fifteen minutes and three reboots, most of your devices should be detected.

Now it's time to install any drivers Windows missed. The most important are motherboard chipset packages like VIA's 4-in-1, Intel's INF Updater, SiS's AGP drivers, etc. Then video, network, sound, and others, in that general order. Obviously Internet access is an immediate priority for tech support in the event of a problem 😉

Misc. Notes:

- There are rumors of a "sysprep" program from either Microsoft or a third party that is intended to automate some, but not all, of these tasks. I have not been able to locate a copy.

- Reportedly, Windows 2000 Setup can be tricked into doing this stuff for you. The idea is to run Windows Setup from the CD and select "upgrade current version of Windows". Then, wait for the first reboot and turn off the computer. Install your new motherboard and power up. Windows 2000 reportedly detects your hardware from a clean slate. I have not attempted this.

Remember, Windows stinks. And it's all Microsoft's fault. A more robust OS could easily divorce itself from its PC's hardware, and respond maturely to a motherboard swap. Even with all your best efforts, you may be forced to simply give up, back up your data, and wipe your hard drive to start from scratch. Don't see this as a failure, just a learning experience. Keep close watch on your time. If you spend more than three or four hours struggling with Windows, it's time to wipe.

Modus
 
Excellent article, Modus. Great to see you back.

You've got the jump on me, because I was only half way through mine. If you don't mind, I would like to put this one up as an FAQ.

Give me a PM.
 


<< - Reportedly, Windows 2000 Setup can be tricked into doing this stuff for you. The idea is to run Windows Setup from the CD and select "upgrade current version of Windows". Then, wait for the first reboot and turn off the computer. Install your new motherboard and power up. Windows 2000 reportedly detects your hardware from a clean slate. I have not attempted this >>




Would this apply to XP as well.


Good read just copy and pasted to file





Most of the time when changing motherbards I just do a reformat but I have done it a couple of times without and it went off without a hitch so I must have gotten lucky.😎
 


<< Remember, Windows stinks. And it's all Microsoft's fault. A more robust OS could easily divorce itself from its PC's hardware, and respond maturely to a motherboard swap. Even with all your best efforts, you may be forced to simply give up, back up your data, and wipe your hard drive to start from scratch. Don't see this as a failure, just a learning experience. Keep close watch on your time. If you spend more than three or four hours struggling with Windows, it's time to wipe. >>



Windows XP fixes this problem. It's called product activation! 😉

Good article. I usually do the big "F" when changing hardware though. Nothing like having the system clean as a whistle. Just like there's no substitute for a good ole fashioned external serial hardware modem 🙂

Welcome back!

Cheers!

EDIT: One thing I will mention about 2000/XP since they are NT based...

A lot of people are booting off RAID controllers. Switching to a mobo that has a different RAID controller can be a nightmare with any OS since you ususally have to rebuild. [the array] If you ghost your installation (like you should!) you can delete the array and re create on the new controller, then reboot and all seems well when you see that bar loading until you get the dreaded INACESSIBLE BOOT DEVICE stop!

Is there any EASY way around this?
 
Challenger,

<< Would this [Windows 2000 Setup trick] apply to XP as well. >>

I have no idea. I would assume so, but I haven't even confirmed this trick under 2K. Windows Setup tends to be unpredictable. Ideally, when reinstalling Windows with formatting first, it would leave any Registry settings related to your applications intact, and just rebuild the Registry keys related to your hardware devices and your OS settings. But it rarely it works this way. Often, reinstalling Windows also renders your programs inoperable. In this case, the solution is a stone's throw from a full format, so you usually end up biting the bullet.

Andy Hui,

Hey, good to see you. CYPM.

Sharkeeper,

<< A lot of people are booting off RAID controllers. Switching to a mobo that has a different RAID controller can be a nightmare with any OS since you ususally have to rebuild. [the array] If you ghost your installation (like you should!) you can delete the array and re create on the new controller, then reboot and all seems well when you see that bar loading until you get the dreaded INACESSIBLE BOOT DEVICE stop! >>

I haven't played much with RAID, but I can't see Windows surviving the move to a different RAID controller. There has to be continuity. If at any time Windows tries to boot up on a RAID volume without proper controller drivers, it will probably bomb. Like you said, you'll probably end up just going back to a standard volume, doing the upgrade, and then rebuilding the array on the new controller.

Modus
 


<< I haven't played much with RAID, but I can't see Windows surviving the move to a different RAID controller. >>

Actually, you can't even AFAIK transfer a RAID Array from one RAID Controller to another. When you want to switch Controllers, you must delete the array and recreate it on the new mobo
 


<< Actually, you can't even AFAIK transfer a RAID Array from one RAID Controller to another. When you want to switch Controllers, you must delete the array and recreate it on the new mobo >>



That's correct. If you have a ghost image [burned to CD or another independant disk] of your OS you can even load it back to the new array. Problem is there won't be a driver for the new RAID controller and windows will stop. Works ok with 9x since drives will still work under MS DOS compatibility mode. Even switching from a Promise RAID based mobo to a Highpoint (using XP which natively supports the HPT370) fails with a BSOD upon rebooting.

Just another reason to continue using ANSI standard SCSI. 🙂

Cheers!
 
Modus,

I just recently went through this. My old system had an Asus P2B-LS with a 800Mhz PIII on it. I was running Windows XP and Win98SE in dual boot. Lately, I had only been using XP and had almost forgotten about 98. When I upgraded to an Asus P4s333 with 2.0Ghz Northwood, I wiped the windows XP folder (on my I drive) and reinstalled. All went well.

A few weeks later, I needed to run some software that only ran on 98, so I booted up 98, not thinking about the fact that I had not reinstalled Win98 for the new MB. When it started installing all the new hardware features as it booted, I KNEW I was totally screwed! Except it finished installing the new devices (and removing the old ones) and rebooted. After that, 98 opened up just like it always did. The only thing I had to do was install new drivers for my network card and modem, and I was done. Needless to say, I was pleasantly surprised by the experience.

And just for the record, I am VERY happy with both my new MB and my new CPU and DDR2700 memory. It was a nice upgrade.
 
http://search.microsoft.com/gomsuri.asp?n=1&c=rp_Results&target=http://support.microsoft.com/support/kb/articles/q314/0/70.asp
http://search.microsoft.com/gomsuri.asp?n=2&c=rp_Results&target=http://support.microsoft.com/support/kb/articles/q249/6/94.asp
Nice article Modus 🙂
Before any of you guys go and try doing a mobo change i would highly recommend reading the above two MS KB articles and digesting what theyre saying.
Ive found that you do not need to do anything apart from shut PC down, rip out old mobo, pop in new.
Then reboot off XP/2K CD and skip the first reapir prompt. When it gets to just before the partitioning mullarky it will examine your disks for current OS's.
Here it will see your old install and ask you if you want to repair 🙂
Select YES and sit back and relax.
When its finished you have a fresh install just like doing from a format, but all your existing settings, programs, user profiles/passwords etc will be intact.
Just chuck drivers at it and your good to go.
The above MS KB articles point out that if you do as i have stated above all the old pnp and system stuff is wiped and installed a new. The only thing that is kept is the HAL which must be the same, though im thinking if you were to press F5 during the CD boot you may be able to change this too, for example - Uniprocessor ACPI HAL to SMP ACPI HAL.

If any of you guys have a go at what ive mentioned above be nice to get some feedback on the changing HAL bit as this is the only thing i have not tried yet.

My current XP installs on all my PC's have gone through numerous Via/Intel/Sis repairs as above and the end result has been faultless every time.

Hope this is of some help,

rockhard =)
 
PipBoy,

Yeah, I've seen that one. I don't think it's meant for swapping motherboards, rather for deploying Windows images across networks. On the other hand, an organization that wanted to deploy a Windows image would likely have different hardware configurations on some of the target machines, which would have to be taken care of. One day I'll download that Sysprep tool and play with it.

Rockhard,

Thanks for the links. I'm skeptical of that strategy because it hasn't worked in past versions of Windows. Very often you end up with weird driver conflicts later on. But if 2000 and XP's Repair feature is more robust than a simple reinstallation, it's definitely worth a look. Next time I have to do a swap, I'll try your method.

If my post gets put into the FAQ list, I'll definitely add your information to the article.

Modus
 


<< I'm skeptical of that strategy because it hasn't worked in past versions of Windows >>

I've done numerous Motherboards Swaps with Win XP where the Motherboard has a different Chipset than the prior Motherboard and the method MS and Rockhard recomend has worked flawlessly. It takes about 45 minutes for a reinstall and like Rockhard said, it's like getting a fresh install just like doing from a format, but all your existing settings, programs, user profiles/passwords etc will be intact.

Of course it is always a good idea to back up your important data.
 
Modus - Glad my post could add something of use to your thread 🙂
Sounds like you still havent recovered from the nightmares of Win9x and doing this?
When i first discovered this with Win2K it was enough to banish Win9x from all my rigs as i used to avoid reinstalls like the plague 🙁
Now i do it all the time with total confidence that everything will be fine. Heh, im even cocky enough not to bother backing up my data im that confident with it.
From watching the way the repair goes it seems that it erases all your hardware registry entries and starts a total fresh detecting all your system components and pnp just like when you do a clean install so you will never get any registry conflicts.

Ive got a new mobo coming Wednesday/Thursday (Asus A7V333) to replace my Gigabyte GA8IRXP.
Like Red Dawn said - 45 mins and 15 mins installing the 4in1's, 4.10 AGP VXD, PCI latency patch and drivers i'll be up and running fully sorted within the hour.
This will be my fifth mobo change with this XP install 🙂
Every time it feels no different to a fresh install which is great.
 


<< Howdy all. >>


Howdy yourself and welcom back.



<< Remember, Windows stinks. And it's all Microsoft's fault. A more robust OS could easily divorce itself from its PC's hardware, and respond maturely to a motherboard swap. Even with all your best efforts, you may be forced to simply give up, back up your data, and wipe your hard drive to start from scratch. Don't see this as a failure, just a learning experience. Keep close watch on your time. If you spend more than three or four hours struggling with Windows, it's time to wipe.

Modus
>>



Do I see OS X (running on a iBook) in modus's prosperous future?

As you said an experianced techiee would do a clean install where feasable and in reading this; feasable = every single cotton pickin' time IMO.
 


<< As you said an experianced techiee would do a clean install where feasable and in reading this; feasable = every single cotton pickin' time IMO. >>

Actually an experienced tech wouldn't have to struggle to get his system up and running smoothly if they just follow the procedure MS recommends. A clean reinstall is only necessary if one wants to purge their system of crap they have accumulated over an extended period of time.

Edit: Of course if you happen to have a POS IBM GXP model Drive you better make an Image of it too. I think I just lost a 40 gigger with all my tagged MP3 files. Thankfully I read about all the problems people where having with them here in this Forum so I did make an Image. Thanks guys🙂
 
Back
Top