Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a home file server which was previously running on an Athlon XP cpu (Socket A). The operating system on it is Ubuntu 10.04 (LTS), 32-bit, server-flavor. I believe the motherboard has died and am looking for something fairly modern as a replacement, like a Core i3 or Athlon II. If I get 64-bit hardware, will I be able to just plug in the new mobo, cpu, and ram into the machine and boot it up? Would there be other problems with such a large jump in motherboard technology?

If it is possible, I realize that I won't be able to use any of the 64-bit advantages without installing a 64-bit OS. It would just be nice to go in and save configuration files and properly prep for an OS upgrade, since this is an unscheduled hardware upgrade.

share|improve this question
Why not just backup all the stuff BEFORE the hardware upgrade, and then just install the new OS? – Simon Sheehan Oct 10 '11 at 21:48
It doesn't boot as is. I CAN deal with not being able to boot it first, but it'll be a big pain to use my other computer to get information out and I'm not sure how effective it'll be. TBH, I'm looking to see if the obvious easy way out is valid or not (before buying hardware or fiddling with the other computer). – Jay Sheridan Oct 10 '11 at 21:54
Which version of Ubuntu did you actually use? It could be old enough not to work at all on a new computer... – AndrejaKo Oct 10 '11 at 22:02
At the very least, you are looking at a new kernel since they use different ACPI. – surfasb Oct 10 '11 at 22:05
@surfasb, how is the Linux kernel dependent on "different ACPI"? – grawity Oct 10 '11 at 22:34
up vote 5 down vote accepted

The answer is "it depends". Provided your LTS was kept up to date, it is possible the kernel will work and has all the necessary modules to boot up the new hardware. That is is 64bit isn't all that important.

You may as well give it a try. Consider that if it doesn't work, it is the same outcome as not trying - you'll need to install a new OS, and rebuild the services from the data you have on the disk. Depending on what disk setup you have, I would install the new OS on a new disk so you can keep everything intact and migrate the configuration files over as needed.

share|improve this answer
In my case, it did boot right back up. For the benefit of others reading this: I moved up to an Athlon II X2. The new 8G ram was recognized. All drives worked. However, It didn't recognize the network port, so there may be other underlying problems I haven't found yet. – Jay Sheridan Oct 16 '11 at 19:14

I have done this once, on Debian; my experience ought to apply to Ubuntu too. Unlike you, I had a planned upgrade, so always had the option to go back to the old hardware if necessary.

Short answer: yes, you'll be able to boot, assuming that you have something like a stock kernel on the disk, and sufficient drivers built-in (or in an initrd) to be able to mount the disk. In practice, that means the appropriate SATA or SCSI drivers must be included.

Once you're up and running, you should be able to use dpkg --add-architecture to tell your system you want amd64 packages as well as i386 ones, and a subsequent apt-get update (or aptitude update) will offer both i386 and amd64 versions of packages. Install a 64-bit kernel and nothing else.

Reboot into the new kernel. Verify (using uname -m) that you're actually running the new kernel. If it boots but fails to start userland, it may well be that you didn't compile in support for 32-bit ELF objects - you'll need that until you're fully transitioned. (You didn't uninstall the existing 32-bit kernel, did you?)

This system should happily run your existing 32-bit binaries. You can now install the 64-bit build of dpkg; this will now make amd64 be your default architecture.

Then upgrade, a few packages at a time (unless you're foolhardybrave enough to risk an all-at-once upgrade), and you'll have a fully 64-bit system.

It was a bit tougher when I made the switch, before multiarch - I had to take the big hit due to library dependencies, and it went badly wrong part-way through. You may want to move to a more recent Ubuntu (perhaps 14.04 LTS) while still running 32-bit everything, and then migrate. That's more likely to be successful than the opposite.

share|improve this answer

What's your time worth?

Buy a new hard drive. Clone the disk from the old server. Keep the original drive as a backup.

Buy a duplicate of your old dead mobo off of ebay, and install it and the new drive. Boot it. Tweak what isn't quite right (minimal as it's identical hardware). Once the new mobo is stable, use the old hard drive as an external drive.

Then at your leisure extract the info (maybe onto the external drive from the above step), do the hardware upgrade (the new mobo you were talking about), install the new OS on yet another new drive, then put the data back.

Using the above procedure you have minimal downtime now, and an at-your-leisure upgrade path later.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .