How do I upgrade from x86 to x64 without losing settings?

29,943

Solution 1

You can just perform an x86-64 install over the top of your existing i386 install. There's no need to reformat or repartition - the Ubuntu installer has supported keeping the contents of /home and (most of) /etc (and other data directories) for a couple of releases now.

That will get you most of the way there; you'll keep all your configuration, but you won't have the same software installed.

To do that, the guide from this answer should work:

  1. Before installing the x86-64 version, dump a list of your currently installed packages by running dpkg --get-selections > ~/installed-software in a terminal.
  2. After installing, restore the list of installed packages by running sudo dpkg --set-selections < ~/installed-software followed by sudo apt-get -f install. There will probably be some packages that can't be installed, as there are some i386 packages without x86-64 counterparts - libc6-686, the 686-optimised libc is the common example.

Solution 2

No. Well... Not in a way that's worth it.

There are some guides that offer a disclaimer-ridden murky pathway from 32bit to 64bit but believe me when I say I've been tinkering with Linux for years I just wouldn't want to take it on. It's a giant hack that intentionally breaks things to fool the 32bit system into taking on 64bit packages. Get one thing wrong and you break the install... And it looks like it would take a long time.

The truth is it's just so much easier to back up the things you can't replace (/etc/, /home/, parts of /var) to another drive, pop in the 64bit live CD/USB and reinstall. Installation to my SSD from USB took 12 minutes last time I did it.

When it's reinstalled, make a new user and copy whatever bits of your profile you want back in. You can either dump it all back in or spend a little bit of time and have a good old-fashioned clean out.

Solution 3

Should be simple.

  1. Backup your /etc and /home folders (I have /home as its own partition, you may need more folders if you have any custom folders... or /var/www if you have apache, maybe backup databases if you had any)
  2. Run dpkg --get-selections > installed-software to save the list of installed software, backup the file installed-software.
  3. Install the x64 version, create the same users.
  4. Restore the /etc and/homefolders and theinstalled-software` file.
  5. Run dpkg --set-selections < installed-software then run dselect to install the previously installed software.

Solution 4

I don't believe you can just upgrade to a 64 bit version of Ubuntu, you would have to reformat the partition and install the 64 bit version from the x64 Live CD.

Share:
29,943

Related videos on Youtube

Anon790528
Author by

Anon790528

Updated on September 17, 2022

Comments

  • Anon790528
    Anon790528 over 1 year

    Is there an easy way to upgrade the system to x64 from x86 without losing settings and having to repartition etc?

    • David Fraser
      David Fraser over 8 years
      This guide actually worked for me, though it takes a lot of fiddling on the way and you really need to be an Ubuntu/Debian expert. Lots of packages break and you have to manually figure out how to fix them. Not for the faint of heart, and for most people (as others recommended here), you should just do a clean install and restore your config
  • Oli
    Oli over 13 years
    Clarify the final sentence please.
  • Nathan Osman
    Nathan Osman over 13 years
    Well, you'll want to backup more than /etc and /home if you are using Apache.
  • Extender
    Extender over 13 years
    Did you try it yourself?
  • RAOF
    RAOF over 13 years
    I have not tried installing an amd64 release over an i386 release, no. I have installed over an existing install without reformatting; that works.
  • JanC
    JanC over 13 years
    In theory there also might be programs that store data/caches/config differently when they are on 32-bit vs. 64-bit, but I think most programs should be safe...
  • RAOF
    RAOF over 13 years
    Yeah. Windows programs have a tendency to just dump the contents of memory to disc, which causes this problem. Linux programs are generally written with more portability in mind.
  • Jesse the Wind Wanderer
    Jesse the Wind Wanderer over 9 years
    If your going to Ubuntu 14.04 dpkg is broken Bug 1232661
  • Jesse the Wind Wanderer
    Jesse the Wind Wanderer over 9 years
    You can use aptitude to do the same thing and also exclude packages that were installed automatically as dependencies. (you might want to let them be selected automatically again ;-) aptitude search "?and(?installed,?not(?automatic))" -F %p > ~/installed-software Then on the new system install them with sudo aptitude install $(cat ~/installed-software)
  • philcolbourn
    philcolbourn over 7 years
    I recently switched to 64b manually. dpkg --get-selections > installed-software did not work for me due to :i386 architecture on some package names. Instead I ran this script: cat installed-software | cut -f1 | sed 's/:i386//g' | while read P; do sudo apt-get install $P; done