Windows 2008 Conundrum: Changing a motherboard or storage controller out from under Vista and Windows Server 2008Posted: January 23, 2008
I’ve owned a personal SBS box for about five years. I started in 2002 with an eval copy of SBS 2000 on an old, old Pentium II 300 MHz, Intel 440BX. I got an old copy of SBS 4.5 (!!!), which we once used at SATV until 2001. That was very brief; I moved to SBS 2003 shortly thereafter in 2004 or so.
During that time I’ve had to change hardware out from under SBS many, many times. My box is a quasi-test machine so I have looser standards for software trials than in a real production systems, essentially "run a backup and then run SETUP.EXE and see what happens." Mostly nothing happens. Other times…
The big issue for Windows in general and servers in particular: Storage controller drivers. Nothing brings you to tears faster than to see "0x0000007B INACCESSIBLE_BOOT_DEVICE" on your very-necessary SBS box after moving it to a new controller.
The usual resolution involves a repair install where you can insert the Windows media, hit F6 and provide the storage drivers you need. This is usually the only driver you really need to provide; after that point, it’s a matter of installing drivers in Windows as usual. Vista and Windows Server 2008 let you provide drivers via a USB stick or other removable media. This is excellent.
Unfortunately, the boot technology is changed from XP/2003. There is no longer a repair install option. The bootloader can scan the disk and detect Windows partitions, fixing the MBR if it’s inconsistent, but it does not give an option to load a new driver.
I realize that Windows has never, ever had this option in a normal boot, but then again in "old" Windows (pre-NT), one could always open the hard disk with a boot floppy. There was only one kind of IDE driver! (But, sadly, a million kinds of CDROM drivers…)
NT and NTFS happened (a good thing, mind!) and you couldn’t use your boot floppy for much of anything besides installing drivers though the option exists in Vista to this day.
Tim Anderson has a few ideas in his blog, "Changing the motherboard or storage controller underneath Windows XP and Vista", that involve booting into a recovery CD like BartPE or WinPE and manually loading the correct driver, and the correct registry entries.
This is a little scary to do by hand, but it’s necessary. Many times, one needs to recover a system that hasn’t been backed up, but which is completely intact except that its storage drivers don’t match the ones on the motherboard. This is the situation I have most often faced as an SBS administrator.
I would boot the Windows install media, insert a floppy with the drivers and then do a repair install from the Windows media, and then run Windows Update to roll the updates forward to bring the machine back to normal and be done. Works fine even on a server and even on the uber-complex SBS.
Now, with Vista and 2008, what do I do?
I’ve been fortunate not to have disk controller problems in Vista, but SBS 2008 is not far away and I still have no procedure for recovering from a changed disk controller.
What do I do?
I’m thinking this will involve WinPE. More later.