Ubuntu 16:10 was released a few days ago. This release upgrades the Kernal to Linux 4.8.0.22. Some of you might have been hit by a bug in the upgrade that stops system boot with a Kernal panic. I use Kubuntu. I was hit by the bug when I upgraded from 16:04 to 16:10. The fix is easy to apply.
The Error
When the computer boots the boot loader reports it cannot mount the root file system. The full error looks like this:
end Kernal panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
The Fix
Use the following steps to fix a broken Ubuntu OS if Ubuntu crashed during the distribution upgrade and/or when the OS fails to load because of a boot error after a Kernal upgrade or after a software update.
- Restart the computer
- Keep tapping the Tab key as the computer starts. Tap continuously until GRUB Start-up Menu displays.
- Select Advanced options for Ubuntu in the GRUB menu.
- Select the last known good Kernal version used by your OS. Choose the recovery mode version of it. For example Ubuntu with Linux 4.4.0.43-generic (recovery).
- In the next menu, use your cursor keys to highlight in order:
- Update grub bootloader. Press Enter.
- Enable networking. Press Enter.
- Drop to root shell prompt. Press Enter.
- Continue the software upgrade when the shell prompt is ready. Enter the command:
- dpkg –configure -a
- Restart the computer by pressing the keys Ctrl+Alt+Del if the system halts while dpkg is installing software. Restart the computer by typing sudo reboot into the command line if dpkg completes software installation properly and exits to the command prompt.
- Try to load Ubuntu with a normal boot. That is, when the computer begins to reload let it load to the desktop login screen.
Next Steps
Finish Software Updates
Ensure the computer software is fully up-to-date. As soon as you log back into your Ubuntu desktop:
- Open a terminal window by pressing Ctrl+Alt+F1. Login with your regular desktop login and password.
- Enter the upgrade commands
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
- Go back to your desktop by pressing Ctrl+Alt+F7
- Restart the computer.
Re-enable custom repositories
When Ubuntu upgrades to a new version any user added PPA repositories are disabled. For example, if you installed Google Chrome then the Google Chrome repository will be disabled so Chrome will no longer receive updates.
The easy way to update and re-enable the repositories is to use Y PPA Manager:
- Install Y PPA Manager from webupd8
- Open Y PPA and select Advanced.
- Run the following advanced tools:
- Update release name in working PPAs
- Re-enable working PPAs after Ubuntu Upgrade
- Close Y PPA.
The repositories can be re-enabled manually. I prefer to do it manually:
- Open a terminal.
- Run the following commands:
sudo apt-get install nano cd /etc/apt sudo nano sources.list
- Re-enable disabled repositories by uncommenting them. Check the distribution name in the repo lines is yakkety and not something else like xenial.
- Save the file by pressing Ctrl+X and typing Y then pressing Enter.
- Run the command:
cd sources.list.d ; sudo nano *.list
- This will load all source files in the directory sources.list.d. Re-enable repositories (remember to correct the distribution name) and save each file individually (Nano will cycle through the files automatically).
Finish the Software Updates
Now user added repositories are re-enabled you need to fetch the repository lists and update software.
- Open a terminal and run:
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
- Reboot the computer.
When the computer loads successfully you can remove redundant software by running the following command in a terminal: sudo apt-get autoremove