Sonntag, 25. März 2007

HOWTO_ Swap Motherboard under Windows

Taken from

I've seen a few of these recently. "Help me! How do I swap out a board and not have to reinstall Windows?"

So here's your illustrated (Screenshots taken in WindowsXP) answer.

The first thing to do is ensure Windows is in a state where it can work on the new system. In the case of 2000 and XP, this just means that it has to be able to access the hard drives.

To do this, replace the Bus Master drivers with standard generic drivers, as seen below. The drivers you need to be working on are found in Device Manager under "IDE ATA/ATAPI controllers". Ignore the Primary and Secondary, go for the other one. nForce users will only see one entry per controller.

If you're changing chipset (think in terms of drivers - Drivers for the VIA KT133 work fine with a KT400, but drivers for i815 won't work at all with an AMD760MPX), then you'll want to knock out the AGP drivers too to avoid video problems after the switch. Either uninstall them from the Control Panel, Add/Remove Programs or, in the case of VIA's 4in1, from the driver installation program. If you have neither (ie. SiS, ALi) or just can't be bothered, then observe the illustration below.

The standard PCI to PCI bridge disables everything AGP, but also makes sure that old AGP drivers aren't around to screw your system up.

You should be good to go now, but it's worth it to do some more cleaning up. Remove both USB controllers (don't do this if you have a USB keyboard/mouse, duh) and uninstall your display drivers. Also uninstall any other non-critical drivers from the Add/Remove Programs in the Control Panel, or any other option your driver installer has. They'll need to be reinstalled anyway, since Windows has to reinstall devices if they change INT# lines and they will.

Finished all that rebooting? You're half way there.

Do your build and power it up. Windows will boot up and complain about drivers. Don't install any of them, just cancel every time. It'll do some automatically, these are probably the ones you don't have any drivers for anyway and you're quite happy to let Windows use the internal drivers.

Open a command line (Start>Run>cmd.exe) and take a look below...

With the devmgr_show_nonpresent_devices set to 1, and "Show Hidden Devices" enabled, you can see the trash left from your previous machine. Notice also the BDA deframers and filters and, off the bottom of the window, some Microsoft filters. Don't get rid of the filters, just the actual hardware that used to be in your system (or still is, you're reinstalling all the drivers). Just kill anything that's ghosted and not something you shouldn't kill like the filters and deframers mentioned above. You may be surprised by how much crap you find. Don't touch anything under Non-PnP Drivers or anything you recognise as a USB device. USB devices are 'reinstalled' on a per-root basis, as their location has changed, so you may see many duplicates, which is normal.

Next, let's get going. Install your chipset drivers first. Then the display drivers. It sucks to work in 640x480x16, doesn't it? Now go nuts. Install the drivers for everything and we're done. Remember to reboot every time you're prompted. Nothing screws up a driver install worse than the drivers not knowing what they need to know about the system. We now have a clean system that doesn't even know you've changed the board.

I've done some really drastic changes like this. In one, I just tore the HD out of the machine (An old PPro200 and slapped it in a Duron).


What happens if I don't do the IDE drivers step? One of two things. 1. The system will give INACCESSIBLE_BOOT_DEVICE and won't even boot up. 2. It'll work if you're upgrading between compatible chipsets (ie. i845 to i850 or KT133A to KT333)

What happens if I don't clean up in Device Manager? You end up with a whole heap of ghost devices. These can cause problems if you install compatible hardware later on. For example, if I didn't clean out those Crystal CX4624 drivers and I then installed a Santa Cruz (CX4630), I'd have hell trying to get Turtle Beach's drivers on there.

What about the other branded drivers in System (Device Manager)? You'd worry about these in 98, ASD would kick in probably. 2k and XP are smart enough to replace them with the right ones. The old ones are removed during the clean up phase of this procedure.

Do I need to change the PC Type (ie. ACPI Uniproc to Standard PC)? You can change freely between ACPI types, but not from ACPI to Standard or back again. So you can go from ACPI Uniproc to ACPI Multiproc (even on a uniproc system) and expect no problems.

Can I do something like this to move my HD from an onboard controller to a RAID or PCI controller, or vice versa? No. The onboard controller has a standard 'location' where standard drivers will always be able to work with it. PCI and RAID controllers have no such standard, you'll just get INACCESSIBLE_BOOT_DEVICE. You may also get this error if your boot drive is on a PCI controller and you change the slot it's in. This can be worked around on systems with APICs by changing the INT# mapping to match the old INT# to the new location. Other systems can't do this.

I just swapped as-is between incompatible chipsets and it all worked! Lucky you. You probably didn't have busmaster ATA drivers installed, or you were using a chipset that Windows has full drivers for.

What is the tech explanation behind all this? Windows enumerates all devices on boot. DriverGuru explained this on page two of the thread, so I won't repeat it. However, it doesn't remap where the boot drive is if it has changed location or changed controller hardware. If the driver it used last time won't work this time, you get a 0x7B. The standard driver will work every time, where every is as far as we're discussing the standard ATA controller. Those who boot from SATA or SCSI are on their own. In terms of AGP, different manufacturers' implementations vary. Some use helper services, which must be removed. Uninstalling the drivers sometimes removes them, but always deactivates them. Same with video cards, all major vendors use helper services which must be removed. Thankfully, NVIDIA and ATI have uninstallation programs (Add/Remove Programs) which do a thorough job.

What is a 'helper service'? It's something that works in tandem with a device driver. Sometimes they're session drivers (DScaler, Sandra and many other programs which need hardware access use session drivers) and other times they're just normal services running as LOCAL SYSTEM. ATI and NVIDIA use helper services for HYDRAVISION and nView, respectively.

I want to clean up my system, where do I find old services that old drivers may have installed? HKLM>SYSTEM>CurrentControlSet>Services Device drivers are just a special case of a system service under Windows. You can safely delete the entire key for services you no longer have the hardware for, and which aren't removed by the uninstallation of the associated driver. Common culprits are viaagp1 and nv4disp, though they're harmless anyway.

You're a moron! It didn't work! It should work on any 2k or XP system, regardless of hardware. First off, you probably made a mistake somewhere. If that's not the case (are you sure?), then a driver probably hasn't been uninstalled correctly.



Informationstechnische Howtos, Hinweise und Merkwürdiges

Batchlib v1.0 2008-03-29

Aktuelle Beiträge

HOWTO_ O2 DSL Surf &...
Der O2 DSL Surf & Phone-Router ist für die...
cypressor - 12. Feb, 19:57
Uptweak Windows XP Home...
There are a lot of annoying limitations in Windows...
cypressor - 9. Okt, 19:30
BATCHLIB_ Batchlib package...
Download Batchlib package v1.0 (5 KB zip file) What...
cypressor - 29. Mrz, 19:10
BATCHLIB_ Batchlib library...
The batchlib library string.cmd is part of the batchlib...
cypressor - 29. Mrz, 18:10

Homepage Ticker



Online seit 4418 Tagen
Zuletzt aktualisiert: 28. Jun, 11:32
RSS XML 1.0 Button-Get-Firefox

Weblog abonnieren