Ubuntu 20.04 LTS (Focal Fossa) has been a reliable and solid operating system for many users. However, as we move toward the end-of-life (EOL) for Ubuntu 20.04 LTS, it’s time to think about upgrading to the next Long-Term Support (LTS) release. Ubuntu 20.04 LTS will no longer receive standard updates after May 31, 2025.
Luckily, Ubuntu 24.04 LTS (Noble Numbat) has already been released and is ready for users to upgrade to. But here’s the catch: upgrades between Ubuntu versions are sequential, which means you cannot directly upgrade from Ubuntu 20.04 LTS to Ubuntu 24.04 LTS. Instead, you need to go through Ubuntu 22.04 LTS first.
This guide will take you through the entire process step-by-step, explaining each step in detail, so even beginners can easily follow along.
Why Upgrade?
Before we dive into the upgrade steps, it’s important to understand why upgrading your system is necessary:
- End of Life (EOL) for Ubuntu 20.04 LTS: After May 31, 2025, Ubuntu 20.04 LTS will no longer receive official updates, bug fixes, or security patches, which can leave your system vulnerable to security risks and bugs.
- New Features and Improvements: Ubuntu 24.04 LTS comes with new features, better performance, and enhanced security, ensuring your system remains fast, secure, and up-to-date with the latest software.
- Long-Term Support: Ubuntu 24.04 LTS will be supported until April 2029, meaning you get 5 more years of updates, security patches, and bug fixes.
Important Note: Upgrade Process is Sequential
As mentioned earlier, Ubuntu upgrades are sequential, which means:
- You must first upgrade from Ubuntu 20.04 LTS to Ubuntu 22.04 LTS.
- Once you’re on Ubuntu 22.04 LTS, you can then upgrade to Ubuntu 24.04 LTS.
You cannot directly skip to Ubuntu 24.04 without going through Ubuntu 22.04. While it may seem like an extra step, the process is smooth and easy to follow if done in order.
Before You Start: Pre-Upgrade Checklist
Upgrading Ubuntu is a straightforward process, but it’s always best to take some important steps before you begin the upgrade:
1. Backup Your Important Files
Upgrades usually go smoothly, but it’s always wise to have a backup of your important files in case something goes wrong.
There are multiple ways to back up your files:
- Deja Dup (the built-in Ubuntu backup tool).
- Cloud storage services like Google Drive, Dropbox, or OneDrive.
- External hard drives or USB drives.
This way, you can ensure that your documents, pictures, and other essential files are safe before proceeding with the upgrade.
2. Ensure Your System Is Up-to-Date
Before starting the upgrade process, it’s essential to update your current system to ensure everything is patched and up to date. Open a terminal and run the following commands:
sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt autoremove -y

Once the updates are complete, reboot your system to apply the changes, which ensures your system is ready for the upgrade.
sudo reboot
3. Preparing System for Upgrade
The Update Manager is the tool that helps you upgrade your system.
sudo apt install update-manager-core
Next, you need to set your system to look for LTS releases by editing the configuration file.
sudo nano /etc/update-manager/release-upgrades
Look for the line that reads:
Prompt=normal
Change it to:
Prompt=lts

Upgrading from Ubuntu 20.04 LTS to 22.04 LTS
Now that your system is prepared, let’s start the upgrade process. Since Ubuntu 20.04 LTS doesn’t directly upgrade to 24.04 LTS, you’ll need to go through Ubuntu 22.04 LTS first.
sudo do-release-upgrade
The upgrade may take some time, depending on your system’s speed and your internet connection. During this process, your system will download the necessary packages and make updates to your operating system, which can take anywhere from 30 minutes to 90 minutes, so be patient.
Important: Do not interrupt the process or power off your computer while it’s upgrading.

Once the upgrade is complete, you will be prompted to reboot your system to finish the upgrade.
sudo reboot
Once your system reboots, you can confirm that you are now running Ubuntu 22.04 LTS by typing:
lsb_release -a

Upgrading from Ubuntu 22.04 LTS to 24.04 LTS
Now that you’re on Ubuntu 22.04 LTS, it’s time to upgrade to Ubuntu 24.04 LTS by running the following commands, which will will make sure that all packages are up to date and that there are no leftover dependencies from the previous upgrade.
sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt autoremove -y sudo reboot
Now, you can run the upgrade command again:
sudo do-release-upgrade
Just like with the previous upgrade, the system will ask you to confirm the changes and whether you want to continue. Let the upgrade process complete, which may take some time to finish, so be patient.

Once the upgrade is finished, reboot your system:
sudo reboot
Finally, check that you’ve successfully upgraded to Ubuntu 24.04 LTS:
lsb_release -a

Once you’ve completed the upgrade, it’s a good idea to clean up unnecessary files that might have been left behind during the upgrade process.
sudo apt autoremove sudo apt clean
Conclusion
You’ve successfully upgraded from Ubuntu 20.04 LTS to Ubuntu 24.04 LTS. By upgrading to the latest version, your system is now secure, fast, and ready for the future.
Ubuntu 24.04 LTS will be supported until April 2029, so you can rest easy knowing your system will continue to receive regular updates and patches.
If you ran into any issues during the upgrade process, don’t hesitate to check out the Ubuntu forums for helpful troubleshooting tips.
It didn’t worked for me on my Ubuntu 14.04 system, when I run command.
Checking for a new Ubuntu release
No new release found
@Hippo
At this point in time, I don’t know if this upgrade is still being offered. Nevertheless, make sure that in /etc/update-manager/release-upgrades file, set
Prompt=lts
as in the screenshot in the article. Also, ensure that you have network connectivity to one of the official mirrors or to a locally accessible mirror. Then try once more, if it fails, the upgrade might have been disabled.Just rand into the same issue but removing
-d
seemed to do the trick for meCan I run the server upgrade steps to upgrade Ubuntu desktop version? I’m trying to upgrade the desktop version though command line only without using the GUI.
If I run do-release-upgrade on a 14.04 LTS system and have an older python 2.7 installed, will the upgrade wipe it out, and thus I’d have to manually reinstall?
I did it. IT WAS A GREAT MISTAKE! I GOT SLOW AND UNSTABLE SYSTEM.
@Yury
Oh really, try to find out why your system is slow and unstable.
kernel panic
@Anwar
Ooops.. Try to boot into old kernel; hold Shift down when starting up, to enter Grub menu, and choose kernel to boot in. If it fails, try reinstalling.
I am getting following error: You might want to run ‘apt-get -f install‘ to correct these.
The following packages have unmet dependencies:
linux-image-extra-3.13.0-107-generic : Depends: linux-image-3.13.0-107-generic but it is not installable
linux-image-extra-3.13.0-116-generic : Depends: linux-image-3.13.0-116-generic but it is not installable
linux-image-generic : Depends: linux-image-3.13.0-116-generic but it is not installable
E: Unmet dependencies. Try using -f.
@Ripen
An important tip here, i hope it worked for you. Many thanks for sharing this with us.
I getting the following error at the end of the upgrade.
Hit:1 http://us.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Fetched 306 kB in 1s (165 kB/s)
Reading package lists… Done
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages were automatically installed and are no longer required:
apt-xapian-index aptitude-common gcc-4.8-base gcc-4.9-base libapt-inst1.5
libarchive-extract-perl libbind9-90 libboost-iostreams1.54.0
libboost-iostreams1.58.0 libcgi-fast-perl libcgi-pm-perl libck-connector0
libclass-accessor-perl libcwidget3 libdns100 libencode-locale-perl
libept1.4.12 libfcgi-perl libgck-1-0 libgcr-3-common libgcr-base-3-1
libhtml-parser-perl libhtml-tagset-perl libhttp-date-perl
libhttp-message-perl libio-html-perl libio-string-perl libisc95 libisccc90
libisccfg90 libjson0 liblinear1 liblog-message-perl
liblog-message-simple-perl liblwp-mediatypes-perl liblwres90
libmodule-pluggable-perl libmodule-runtime-perl libparams-classify-perl
libparse-debianchangelog-perl libpod-latex-perl libprocps3
libsigc++-2.0-0c2a libsub-name-perl libsystemd-daemon0 libsystemd-login0
libterm-ui-perl libtext-soundex-perl libtimedate-perl liburi-perl
libxapian-1.3-5 libxapian22v5 libxtables10 linux-generic
linux-headers-3.13.0-83 linux-headers-3.13.0-83-generic
linux-headers-3.13.0-86 linux-headers-3.13.0-86-generic
linux-headers-3.13.0-93 linux-headers-3.13.0-93-generic
linux-headers-generic linux-image-3.13.0-86-generic
linux-image-3.13.0-93-generic linux-image-extra-3.13.0-86-generic
linux-image-extra-3.13.0-93-generic linux-image-generic
python-ndg-httpsclient python-requests python-urllib3 python-xapian
python3-xapian1.3 thermald watershed
Use ‘sudo apt autoremove’ to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up initramfs-tools (0.122ubuntu8.8) …
update-initramfs: deferring update (trigger activated)
Setting up linux-image-extra-4.4.0-59-generic (4.4.0-59.80) …
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-59-generic /b oot/vmlinuz-4.4.0-59-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-59-generic /bo ot/vmlinuz-4.4.0-59-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-59-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-59-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-59-generic (–configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-extra-4.4.0-59-generic; however:
Package linux-image-extra-4.4.0-59-generic is not configured yet.
dpkg: error processing package linux-image-generic (–configure):
dependency problems – leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 4.4.0.59.62); however:
Package linux-image-generic is not configured yet.
dpkg: error processing package linux-generic (–configure):
dependency problems – leaving unconfigured
Processing triggers for initramfs-tools (0.122ubuntu8.8) …
No apport report written because the error message indicates its a followup erro r from a previous failure.
No apport report written because the error message ind icates its a followup error from a previous failure.
update-initramfs: Generating /boot/initrd.img-4.4.0-59-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-59-generic with 1.
dpkg: error processing package initramfs-tools (–configure):
subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encoun tered while processing:
linux-image-extra-4.4.0-59-generic
linux-image-generic
linux-generic
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Instead of interweaving desktop and server upgrades and showing confusion, why couldn’t you have done the LOGICAL “click here for server, here for desktop instructions”?
I’ll now go elsewhere for more coherent advice!
What Is the difference from regular upgrade and server upgrade?
A very helpful article. I’d had enough of GUI frontend wrappers failing and never knowing what the error was so I used the CLI method you described to upgrade my Mythbuntu installation. It worked flawlessly, thanks to you!
@Sylvester Rac
You are welcome and thanks so much for the feedback, always remember to stay connected to Tecmint and access more of similar content in other areas of Linux.
A bit of scare after the whole upgrade finished the installation, prompts and messages I did not understand, left it alone without answering anything and waited for it complete. Restarted my server and working like a charm without any problems. Big relief.
@Nick Els
Could you please share the prompts and messages that you did not understand, they could prove useful to another user who may get similar output in the future.
Unfortunately, not being terribly IT savvy, it did not occur to me to make a note of the prompts. My server is still working without any problems. Next time, I promise.
@N JEls
Okay, no problem, next time you can take note of the prompts because another user some where might encounter similar prompts and you would be the one to help, by explaining to them that output.
Thank you, the post was very useful. I managed to upgrade server from 14.04 to 16.04 without any problem using this guide.
@Imani,
Thanks for finding this post useful and we’re glad that you upgraded your Ubuntu 14.04 to 16.04 without any trouble…
I tried updating my FOG server today, and lost the fog db. I ended up rolling back to a previous checkpoint.
Upgrades sometimes go wrong just as i mentioned, but being able to recover lost data always proves helpful.
Which ever route you go for you should backup first. So you could backup, upgrade and if it works great. If it doesn’t do a fresh install and restore your data from backup.
That is a good recommendation, always backup first.
From what I have read this is a bad bad idea. There are so many differences that upgrading from 1404 to 1604 is bound to be “very buggy” at best. The best option is a clean install, I am afraid.
“…many differences…”
Such as, LAMP-wise?
You can always choose what you think is best for you, direct upgrade is not always 100% good, sometimes when their is poor Internet connectivity, it may go wrong. I once broke my system when an upgrade failed due to poor Internet connectivity, so you have to decide what you think is safe for you.