Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a home server running Ubuntu 10.04. I want to replace the motherboard and CPU without reinstalling the OS. I read a long time ago that this would sort of work on Windows XP, but with stability issues. However, I have a hunch that on a modern Linux there shouldn't be any problems.

Am I right?

share|improve this question
    
Don't know about the linux, but that is NOT true for XP. The hangup with XP would be all the onboard device drivers. I have tried this and unless you are extremely lucky, you wont be able to boot. You can sometimes boot into safe mode and then manually install the drivers if you have removable media like a floppy drive, but it wasn't worth it. –  JNK Sep 2 '10 at 18:27
    
Uh... I've done this recently XP AND linux (Xubuntu in this case) with few issues. The autoconfig systems on both are competent enough to handle the hardware changing without too many issues. –  Fake Name Sep 29 '10 at 4:14

5 Answers 5

up vote 7 down vote accepted

This should work fine overall for most modern Linux setups. Until last week's rebuild of my home server (moving from Debian/Lenny to Ubuntu/10.04 and installing a set of shiny new drives to rebuild onto) it was on it's third CPU+mobo combination and both switches of CPU+mobo worked fine. Also, when a work file server died a while ago we just transplanted the drives in another completely different box and everything worked just fine (all relevant hardware was detected, the software RAID arrays assembled fine, and so on) aside from the network device numbering issue I'm about to mention.

It is not unlikely that there will be some reconfiguration work to do due to differences in device enumeration. The motherboard's on-board LAN controller will most likely become eth1 if the previous board's was eth0 for instance, and in this case you will need to make some changes to either configure eth1 and any firewall/routing rules accordingly or reconfigure udev to remove the reservation for eth0 from the old NIC and set the new one to have that name (the file to change for this appears to be /etc/udev/rules.d/70-persistent-net.rules under Ubuntu's default arrangement).

There may be similar issues with drives getting named/numbered differently especially if you have several, but Ubuntu identifies partitions by UUID by default, as do the kernel's LVM and RAID support for identifying their volumes, so this should not be an issue in most cases.

I would not expect any problems that would simply stop booting completely (you will be running a pretty new kernel with 10.04, so shouldn't need to worry about the new board having hardware too new for the kernel to properly recognise), and if there were any such problems they could probably be fixed with a little jiggery-pokery after first boot or from a LiveCD, but I would recommend taking fresh backups of important data/configuration anyway, just-in-case.

In the above I'm assuming you are using one of the stock Ubuntu kernels. If you are running a custom kernel+modules more care is needed, as you may have left out things needed by the new board but not the old, but if you have installed a custom kernel then you'll be aware of the relevant things to be aware of here!

Windows XP or later can often survive a motherboard switch-over (after many reboots and perhaps a visit or two to SafeModeLand to sort out drivers) as it isn't nearly as pernickety as it was in the NT days in this regard as long as you are using the standard windows drivers for your I/O controller rather than something specific to the motherboard, but it is a much less safe bet than with Linux. A big enough jump in CPU/mobo tech (from single core single CPU to SMP and/or multi-core perhaps) which mean a different HAL being needed (or just a different one being optimal) will either cause Windows to fail to boot or fail to make proper use of the new hardware.

With any OS, if you are using your current motherboard's RAID controller (which will be a "fake-RAID" arrangement) for RAID instead of having it operate as a bog standard PATA and/or SATA controller then all bets are off and you will most likely need to reinstall. As Bob suggests, moving down from 64-bit to 32-bit would require a reinstall too. And also for any OS, having a second machine available is a useful safety net in case you need to get online to grab revised drivers or research some other problem that takes your main box temporarily out of action.

share|improve this answer

This should work fine with Ubuntu. All your hardware is detected on boot, and the appropriate "drivers" (kernel modules) loaded. This is, of course, assuming you aren't doing anything silly like putting a 32bit CPU into a box running 64-bit Ubuntu or anything.

share|improve this answer
    
I'm currently running 32-bit. The new CPU is a gift. I don't know exactly what it is, but it should be loads better than what I currently have, so it might be 64-bit. I presume that won't be a problem, since there is backwards-compatibility? Any overhead added there should be dwarfed by the new CPU's betterness. –  Bart van Heukelom Sep 2 '10 at 18:51
    
@Bart If the CPU is AMD64 (most new ones are, including new Intel chips), then it will be fine, it will just run everything in 32-bit mode. If it's an Itanium (unlikely), that is running the IA-64 architecture, that will NOT run your existing 32-bit OS. –  Bob Sep 2 '10 at 18:55
    
32- vs 64-bit is arguably the least of your problems. Again, I'd strongly urge you to: a) reconcile yourself to "backup/restore" as the safest, most straightforward way to go b) test your backup/restore procedure ahead of time –  paulsm4 Sep 2 '10 at 19:43
    
If you go from 32-bit-only to 64-bit-capable and don;t reinstall Linux completely, you can install a 64-bit kernel but keep using the 32-bit userland (just run aptitude install linux-image-2.6-amd64 in Debian and it'll do the rest) meaning you can take some advantage of RAM above 4Gb (or above 3.25Gb depending on your chipset) without a reinstall. –  David Spillett Sep 2 '10 at 19:58
    
Anyone who has actually worked with Itanium boxes is almost certainly not hanging out on superuser.com. –  ThatGraemeGuy Sep 2 '10 at 19:59

I agree with JNK...this would NEVER work on pretty much any Windows machine. They are too finicky and you'd get BSOD pretty much right away. Linux is more forgivable however. I moved my HD to another machine, and booted from it once (while back!) and kudzu just detected everything as new hardware and installed drivers for it. My system ran fine, and was pretty stable. Of course, you should make a backup before trying anything like this, even though your data should be safe.

sean

share|improve this answer
    
+1 for agreeing with me ;) –  JNK Sep 2 '10 at 19:40
    
WRONG! Just finished doing a mobo swap between two of my computers. (One XP, one 7). I had to clear the CMOS on one, and find the driver CD to install the USB system drivers on the other (thumbdrives didn't work until they were installed), but it is completely doable. –  Fake Name Sep 29 '10 at 4:15

I would strongly suggest backup/install/restore is pretty much the "sure thing".

I would also strongly urge you to test the procedure on a VM before you actually swap in the new CPU and motherboard.

IMHO .. PSM

share|improve this answer

FWIW I've done this frequently with Windows XP and not had any significant problems. The only issue is that you would need to download fresh drivers, but XPs own drivers have always been enough to get it up and running.

I'm just about to try with Ubuntu.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.