How do I upgrade from x86 to x64 without losing settings?
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:
- Before installing the x86-64 version, dump a list of your currently installed packages by running
dpkg --get-selections > ~/installed-software
in a terminal. - After installing, restore the list of installed packages by running
sudo dpkg --set-selections < ~/installed-software
followed bysudo 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.
- 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) - Run
dpkg --get-selections > installed-software
to save the list of installed software, backup the fileinstalled-software
. - Install the x64 version, create the same users.
- Restore the
/etc and
/homefolders and the
installed-software` file. - Run
dpkg --set-selections < installed-software
then rundselect
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.
Related videos on Youtube
Anon790528
Updated on September 17, 2022Comments
-
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 over 8 yearsThis 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 over 13 yearsClarify the final sentence please.
-
Nathan Osman over 13 yearsWell, you'll want to backup more than
/etc
and/home
if you are using Apache. -
Extender over 13 yearsDid you try it yourself?
-
RAOF over 13 yearsI have not tried installing an amd64 release over an i386 release, no. I have installed over an existing install without reformatting; that works.
-
JanC over 13 yearsIn 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 over 13 yearsYeah. 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 over 9 yearsIf your going to Ubuntu 14.04 dpkg is broken Bug 1232661
-
Jesse the Wind Wanderer over 9 yearsYou 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 over 7 yearsI 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