Windows NT - Changing hardware without reinstalling

As part of my ongoing exploration and mastery of the Windows command-line, here’s a tip on how to change motherboards without having to reinstall or repair Windows. This article is for advanced users only, and will render your computer unbootable if you do it wrong. You get one shot at this. The fate of the free world depends on it. No pressure or anything. If there are corrections to this or addenda / hints and tips from other Windows experts please do post them in the comment section.

Change the Disk Controller Windows boots from

This one’s easy. To do this, just install the drivers for the controller in question and restart the computer with the disk on that controller. Works well if all aspects of a new motherboard are the same except for the SATA/SCSI controller. If you’re using an IDE disk and changing IDE controller types, this is a bit less simple. Create mergeide.reg from this knowledgebase article and add it to the registry (by double clicking it - if you didn’t know that, don’t read this article, leave it to the professionals or you’ll lose data).

Changing From a Single Processor to a Multi-Processor/Multi-Core System

There are Microsoft knowledge base articles on how to do this graphically, but doing this from the command line is actually much quicker and can be added into mass-deployment scripts. Provided by Microsoft is a command-line version of the Device Manager, found here.**

Enable APIC:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_up !acpipic_up

devcon update c:\windows\inf\hal.inf acpiapic_up

Disable APIC:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpipic_up !acpiapic_up

devcon update c:\windows\inf\hal.inf acpipic_u

Enable SMP:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up

devcon update c:\windows\inf\hal.inf acpiapic_mp

Disable SMP:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_up !acpiapic_mp

devcon update c:\windows\inf\hal.inf acpiapic_up

Enable APIC:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_up !acpipic_up

devcon update c:\windows\inf\hal.inf acpiapic_up

Disable APIC:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpipic_up !acpiapic_up devcon update c:\windows\inf\hal.inf acpipic_u

Enable SMP:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up devcon update c:\windows\inf\hal.inf acpiapic_mp

Disable SMP:

**devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_up !acpiapic_mp devcon update c:\windows\inf\hal.inf acpiapic_up