I recently tried to upgrade a machine from Ubuntu 14 to 18 via dist-upgrade. The update appeared to proceed without problems. However, after rebooting and choosing 'ubuntu' from grub the splash screen loads with the dots underneath but gets stuck (no progress or keyboard / mouse input) after each dot has flashed once.

I have tried pressing ESC to display the text interface while booting. This works sometimes if I press it quick enough but the text is often a little jumbled, although sometimes not. I have also tried turning off the splash from grub by pressing e and editing the options. This however just gave a blank screen. I also tried selecting the 14.04 option which is still in grub. This boots fine. Re-running dist-upgrade from 14.04 didn't work. I also tried boot-repair from 14.04 to see it if would help but it just renamed and reordered the grub entries to make the 14.04 option 'Ubuntu' and the Ubuntu 18 option 'Ubuntu 18.04'.

When the text interface does work it appears to get stuck either at the part where it is waiting for entropy or just after these lines:

[ OK ] Started Network Manager Script Dispatcher Service.
[ OK ] Started GNOME Display Manager.

Any ideas how to sort out this mess and get the 18.04 upgrade to boot?

  • 3
    Ubuntu 14.04 LTS should be upgraded to 16.04 LTS (via do-release-upgrade which ensures packages are upgraded in the correct order), then a reboot to get 16.04 LTS running, then a second upgrade to go to 18.04 LTS via a second do-release-upgrade. This is the tested path. If you skipped 16.04 LTS, and used debian's dist-upgrade after manually adjusting your sources - I'd recommend a re-install (without format, use something else & don't format your partitions. the last part of the install will try and restore you packages so your programs are installed). Otherwise it's manual checks.. – guiverc Sep 7 '18 at 11:16
  • I didn't do any manual adjustment of sources. Just dist-upgrade which went straight to 18.04 all on by itself. I'd be happy to remove the failed 18.04 and try the other method but I do not know how to do this. Do I just remove a partition? – John P Sep 7 '18 at 11:21
  • sudo apt-get dist-upgrade (or sudo apt full-upgrade) will not move you from one release (14.04 LTS) to another, it will just do an upgrade of more packages than sudo apt-get upgrade allows. The only way dist-upgrade can change from one release (14.04 LTS) to any other releases is via a sources change (performed via do-release-upgrade). Something doesn't add up in my books (or I don't understand anyway). No you don't remove a partition; nor would I re-install, as if you only sudo apt dist-upgrade you'll be on 14.04 LTS. Boot with a '1 nomodeset` (removing quiet splash) and lsb_r.. – guiverc Sep 7 '18 at 11:27
  • It appears as if it it has upgraded packages and added a grub entry in /userdata replacing the home directory. Hmm maybe I’ll just have to wipe the machine and fresh install. – John P Sep 7 '18 at 11:33
  • Ok. Just managed to find all of the old home directory files. The paths have just been messed up so no data lost. Will back up everything again just to make sure and clean install. – John P Sep 7 '18 at 11:36

I am answering my own question in case others searching for a similar answer find this helpful.

I accidentally used the Debian dist-upgrade command instead of Ubuntu's do-release-upgrade. This upgraded packages beyond what apt-get upgrade allows and also moved my home folder from where it was on a separate drive to the drive with the OS. It also replaced the old home directory with grub boot files. No data was lost. If anyone else makes this mistake, your files may have just moved. You may be able to boot using a different grub entry and recover them or use a live CD.

My solution was ultimately to ensure I have a backup of everything and perform a clean install.

TLDR: Don't use dist-upgrade, use do-release-upgrade.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.