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.
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 – 2010-09-02T18:27:58.347
1Uh... 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 – 2010-09-29T04:14:08.557