I just completed shuffling some hardware around on some computers. It's interesting (at least to me) to note the problems encountered with Linux and Windows on the machines. Hardware details are given for the curious.
The hardware, at the start:
"Sam"= K6-2 350 MHz, Tyan S1590 AT motherboard, 1 MB cache, Award BIOS, 64 MB PC100 RAM, Western Digital 6.4 G EIDE, Mitsumi 4x ATAPI CDROM, Soundblaster 16, Diamond 16 MB Banshee-based 3d AGP, 10 Mb/s ISA RealTek network interface card, MAG DX15 digital monitor, mouse on COM 1.
"Imp"= P166MMX, Biostar 8500TVD motherboard, 512 K cache, AMI BIOS, 64 MB EDO RAM, WD 4.0 G + WD 3.2 G EIDE, Asus 40x ATAPI CDROM, SB 16, ATI All-In-Wonder Pro 4 MB PCI, 10 Mb/s RealTek NIC, Pixie (?) 15" digital monitor, mouse on COM 1.
"Amy"= K5 75, unknown motherboard, 512 K cache, Award BIOS, 32 MB EDO RAM, WD 8.4 G + WD 4.3 G EIDE, Ricoh 6200 SCSI CDRW, Mitsumi 4x ATAPI CDROM, PE Logic ISA SCSI controller, SB 16, Cirrus Logic 2 MB PCI video, 10 Mb/s RealTek NIC, external 56K Zoom modem (COM 2), Epson Perfection 600 SCSI flatbed scanner, Epson Stylus 600 inkjet printer, Star NX2420 Rainbow dot matrix printer, Princeton Graphics E050 15" digital monitor, mouse on COM 1.
"Paq"=P166, Compaq motherboard (?), 512 K cache, Compaq BIOS, 32 MB EDO RAM, IBM 20.2 G EIDE, Hitachi 8x CDROM, Mitsumi 4x CDROM, Cirrus Logic 2 MB onboard video, 10 Mb/s RealTek NIC, onboard Compaq Nettelligent 10 Mb/s NIC, internal USR 33.6K voice/fax/modem (COM 1), internal USR 28.8K fax/modem (COM 2), KDS 15" digital monitor. PS/2 mouse & keyboard.
Software: each has Windows 95 patched to various levels (and it irritates me that I paid for it, full retail for 1 and hidden cost in the others, and only received a CD with two of them), Sam and Paq have Linux Mandrake 7.0, Amy has Linux Mandrake 6.1, Imp has SuSE Linux 6.3. Amy also has MSDOS 6.22 installed. Lilo is used in each case for multi-booting.
New stuff: 1 K6-2 500 MHz processor, 1 Tyan S1590 AT motherboard (ver. 1.2) with 1 MB cache, 2 PC133 64 MB RAM, 1 Creative Labs 52x ATAPI CDROM, 1 Enlight dual-fan midtower case.
The shuffle: The new motherboard is hard-jumpered for an AT power supply while the new case has an ATX power supply. That knocks out the easy route of putting the new case and new motherboard together. Sam's older version of the S1590 can accept either AT or ATX power connectors. So...
1. Sam is gutted and moved to the new case. The 64 MB PC100 DIMM is removed and replaced with the 2 64MB PC133 DIMMs. (Maximum FSB is 100 MHz on this motherboard, but the price of PC100s was more than PC133s at the time!) The 52x CDROM replaces the 4x. The pop-out metal panels with holes for keyboard, mouse and other I/O connectors is made for ATX positions. A replacement is made to accomodate the AT motherboard's keyboard connector.
Linux boots normally. Windows95 boots, detects new CDROM, installs software, requires reboot, then seems happy. Half-Life can't find the CD. A few reboots later, it's happy (I don't know how or when it discovered the CD was in the same drive letter as before; it just happened).
2. Imp undergoes radical changes. The new motherboard, cpu, 64 MB PC100 DIMM and Sam's old case (also dual-fan Enlight Midtower) receive the hard drives, CDROM drive, and cards.
Linux boots normally. Windows 95 chokes. Oops, forgot the MS Knowledge Base article about the DLL file with bad math. The amdk6upd.exe must be installed for K6 processors over 300 MHz. The patchfile is on Amy. Can't get Windows to boot "Safe Mode with Networking". Amy's floppy drive is dead. So, boot Linux, ftp from Amy, move the file to the Windows partition on Imp. But, Windows has changed the IRQ of the NIC while it was detecting all that new (and not so new) hardware. I'll fix the init stuff later, for now I'll just ifconfig the "new" NIC and give a route (glad Linux doesn't require a reboot for every little network change). Transfer the file, reboot to Windows, oops, won't reboot, do safe mode command line only, oops "this program cannot be run in DOS mode." AARRGGHH! Brilliant, MS. Put out a patch to allow Windows to boot with a K6 cpu over 300 MHz, but make the patch require booting to Windows to install. Past experience: if you catch Windows in a good reboot mood, it will sometimes boot Safe Mode without the patch. "Ok, kid, you just *gotta* have Windows for your Paint Shop Pro and 1st Page, so you sit and do the rebootathon until it smiles on you." Unfortunately, bedtime comes for the hapless child before boot does. I'm determined not to go through that frustration, so I boot Linux again. Hmm. Check the contents of the patch on Amy, back up the files affected in case it bombs, install the patch on Amy (which doesn't need it), then use ftp from Linux to transfer them to the proper directories on the Windows partition on Imp. Reboot to Windows, all kinds of stuff "detected". (I wonder how Windows can install the "necessary" new software for "unknown hardware" it detects? That never has quite made sense to me). Re-run the patch, just in case, reboot. Now to see about those drivers on the CD that came with the motherboard. Oops, somehow, besides screwing the resolution, refresh rate and desktop arrangement, Windows has also managed to lose the CD drive. Oh, well, start with getting the display straightened out. "Unknown monitor". Hmph. It knew it yesterday. Refresh rate = 60 Hz. Perfect for syncing with the fluorescent light. About a day of wading through the forest of little yellow triangles and exclamation points (none would exist if that Wizard hadn't messed with the NIC's IRQ), and Windows finally seems happy. Good thing I printed out the "properties" from Device Manager before starting.
3. Amy gets Imp's old Biostar motherboard, P166MMX, 64 MB EDO RAM, and case. Everything else stays the same.
Linux boots normally. Windows --- well, it boots. But claims there's no mouse, the sound card has a conflict, and COM 2 just doesn't exist. I'm still working on it while using the mouse that doesn't exist.
4. Now the easy one. Paq gets the 32 MB EDO RAM from old Amy.
Linux boots normally. Windows -- who cares? It's just on here for the command line to boot when I run DOSemu in Linux. The time comes up in UTC instead of local, but that's a DOSemu problem, not Windows-related.
Conclusions: Moving a hard drive from one similar PC to another doesn't seem to bother Linux a great deal. The worst problem I encountered was the changed IRQ on the network interface card. That took less than a half hour to fix, with most of that time being spent refreshing my memory of where to edit for the change. Windows does not like change. It will punish you for disturbing its nest. If you are inconsiderate to the point of changing the motherboard or cpu, you will pay. The height of rudeness to Windows is to change hard drives, particularly "C:", but I didn't stir those hornets this time.
Someday, I may figure out why the external modem I've used on COM 2 for so long now must reside on COM 4, while COM 2 simply doesn't exist. The BIOS and Windows just refuse to allow 0x2F8/IRQ 3 but are happy with 0x2E8/IRQ 3. Ah, the wonders of Plug N Play!