Dec 22nd : 3:21 PM


Home
Site info
AvantGo
Community
My.AnandTech
News
FAQs
Ratings
Check Prices
  Site News

Off to Dallas

more Site News  




  News

New ATI CATALYST 3.0 Drivers

IBM plans open-source storage strategy

Concern about Intel Springdale licensing rising among Taiwan chipset designers

Studios Sue Maker of DVD Copy Software

Trade Groups Appeal Microsoft Settlement

CMS Reduces Pricing By 23 Percent for Hard Drive Upgrade Solutions


more News  








AnandTech FAQ Section



AnandTech - FAQs





Helping Windows Survive a Motherboard Upgrade
Date: March 24th, 2002
Category: Operating Systems
Author(s): Modus

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 or WDM 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' sometimes uncooperative 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 record of all hardware ever installed in your PC that can sometimes be very difficult to make sense of.


  4. 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 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.

    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

  5. 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.

  6. 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 98/98SE/ME: Start > Run, "msconfig", OK. Click the Startup tab, and un-check any hardware-related startup programs.

  7. 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:

- Reportedly, Windows 2000 and XP can be tricked into doing this stuff for you. The procedure is this: Shut down, install your new hardware, power on, and enter your system BIOS. Make sure your First Boot Device is set to CDROM. Insert the Windows 2000/XP setup CD and boot from this disk. (You may have to "press a key to boot from CD" as the prompt says.) Skip the initial prompt asking to repair your existing installation. Then proceed to the screen where you select a partition, and choose your existing Windows partition. Setup will detect your existing installation and ask you to repair. Say yes. When Windows Setup is complete, you should have a fully working installation with all your old user and application profiles. Everything should be intact, except your hardware and driver settings, leaving it fresh for your new motherboard.

- Sysprep, a Microsoft tool for preparing a Windows 2000 system for disk cloning, is useful when changing motherboards. Among other things, Sysprep removes all references to the local machine's hardware devices. You could run Sysprep, install your new hardware, and reboot. However, the procedure is more complicated than the Windows Setup CD repair method described immediately above. Sysprep is best suited to disk image deployment. You can find Sysprep binaries and documentation at

http://www.microsoft.com/windows2000/techinfo/planning/incremental/sysprep11.asp.

For more information on changing hardware on a Windows 2000/XP system, see these two Microsoft Knowledge Base articles:

How to Move a Windows XP Installation to Different Hardware (Q314070)

How to Move a Windows 2000 Installation to Different Hardware (Q249694)

Remember, not everything can go according to plan. Windows has never been entirely robust with its hardware management. Even with all your best efforts, you may be forced to 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.

Back to AnandTech FAQs



Have a suggestion on how to improve AnandTech?








  Sections


CPU


Motherboards


Chipsets


Video


Mobile


Cooling


IT Computing


Audio


Storage


Guides


other Articles





ADD TO FAVORITES

TEAM ANANDTECH

MAKE HOME PAGE


ANANDTECH TO GO



  Newsletter

 
 Go




  Polls

PDA Preferences Poll New!

Sounds Good to Me

Fall Video Upgrades

Socket-A Chipsets

Rambus vs. DDR: 1 Year later

ATI's Radeon 8500: SMARTmove?

Shade those pixels

Cheap MP


more Polls  







Copyright © 1997-2001 AnandTech, Inc. All rights reserved. Terms, Conditions and privacy information.
Site Design by Anders Hammervald

Click Here for Advertising Information