How to boot Ubuntu Core in recovery mode in ubuntu 20.04

Understanding Recovery Mode

Ubuntu Core 20 is inherently robust. But if data-corruption issues do occur, either on boot or on data partitions, Ubuntu Core can still access recovery mode to help repair, restore or reinstall on an impaired device.

The following booting modes are currently available on boot:

  • Run mode: Normal boot mode
  • Recovery mode: reboot into recovery mode for maintenance or repairing the system
  • Reinstall mode: initialise the device from an onboard system image

These functions can be used with any of the following methods:

  • Recovery hidden menu on boot
  • Snap reboot command from console
  • Snapd REST API

After a clean Ubuntu Core installation, a first recovery system is created so that it is possible to recreate a clean factory system at any time with the Reinstall mode.

Run mode

When booting in run mode, the device attempts to boot normally, with no option to recover or reinstall the system.

Recovery mode

In recovery mode, the device boots to a temporary system and operates as it would from a pristine initial installation, including its snaps. This allows you to log in to the system using prior credentials to recover your data, either via SSH or locally after setting up a password for the user.

Modifications done to the system during recovery mode are temporary and are lost once the device is rebooted.

Reinstall mode

In reinstall mode, all existing user data on the device is removed and the device is initialised from the recovery system image.

The full process of installation and configuration is followed in a similar way to a first boot after Ubuntu Core installation.

Using recovery hidden boot menu

Accessing recovery hidden boot menu

If you prefer to recover the system when booting or if the system is no longer accessible via the network, you can use the recovery hidden menu:

  1. Start or reboot the device with the ‘1’ key held on a connected keyboard. In some systems or with some keyboards it is necessary to press the key repeatedly.

  2. After the initial boot process completes, a status screen appears to show “System mode selection triggered. Proceed to select one of the available systems and actions.”. Press OK.

  3. On the next screen, select with TAB or cursor keys the desired action and press ENTER.

  4. A message indicating the selected mode is displayed. Press CONFIRM to proceed.

If “Run normally” has been selected, the system boots in run mode.

If “Recover” has been selected, the system boots in recovery mode.

If “Reinstall” has been selected, the system boots in reinstall mode.


Using console

SSH in

First you have to log into your device using SSH. Run the ssh command which will be something like:

ssh <user>@<device_address>

And you should be welcome to Ubuntu Core:

Listing recovery points

Once you are in the device console, you can check the list of recovery systems that can be used for recovering.

snap recovery

Which should show a list of labels like this

Recovery mode from console

The snap reboot command allows you to boot in the different booting modes (run, recovery, install) from the console. The procedure is as simple as just typing the following command:

sudo snap reboot --recover 20210112

The system shows a message on the console indicating that it is going to reboot with the system indicated in the label.

This process takes some time. The device will be accessible via SSH but the snaps take some time to install and update.

You can check by running the command “snap list” until the full list of packages is up to date.

Next Post Previous Post
No Comment
Add Comment
comment url