Linux screenshot fails with a "No bootable medium" error message

Follow

Scope

This article explains the cause and solution for a "No bootable medium" error message on screenshot verification or when trying to virtualize a Linux recovery point.

Cause

This is caused by a Linux kernel bug documented here: https://bugzilla.redhat.com/show_bug.cgi?id=1250717

This bug causes the ext4 filesystem driver to mount an ext2 partition. When this happens, freezing and unfreezing the filesystem causes the blkid to lose the ext2 volume. Since the Datto Linux driver freezes each filesystem when taking a backup snapshot, this kernel bug is triggered.

Failure to fix the ext2 partition before rebooting can make the machine unbootable. So if you run into this situation, be sure to unmount and remount the partition before rebooting.

Solution

If you're having this problem with a Ubuntu 14.04 install, you can upgrade to 14.04.5, which has a 4.4.0 kernel that has the fix in it.

Alternatively, update your /boot volume (or whatever volume is formatted to ext2) to ext3. By adding the journal ext3 provides, the bug is avoided. Here's the procedure to do that:

1) List the mounted devices and filesytem types: df -hT

You'll see something like this:

Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  990M     0  990M   0% /dev
tmpfs          tmpfs     201M  4.9M  196M   3% /run
/dev/sda3      ext4       27G  3.8G   22G  15% /
tmpfs          tmpfs    1001M   80K 1001M   1% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs    1001M     0 1001M   0% /sys/fs/cgroup
cgmfs          tmpfs     100K     0  100K   0% /run/cgmanager/fs
tmpfs          tmpfs     201M   44K  201M   1% /run/user/1000
/dev/sda1      ext2      2.7G   43M  2.6G   2% /boot

Take note of the device name (/dev/sda1) and the mountpoint (/boot) for the ext2 volume, that's the one we need to fix.

2) Unmount the ext2 partition, in my example, /boot
umount /boot

If you can not unmount it because it's in use and can't be freed, you must perform this procedure from a live boot disk.

3) Add the journal to the ext2 filesystem, making it ext3 compatible:
tune2fs -j /dev/sda1

4) Edit /etc/fstab change the mount instructions to use ext3. Look for the ext2 reference in /etc/fstab and change it to ext3.

5) Remount the updated filesystem:
mount /boot

At this point you should see the filesystem mounted as ext3.

6) Run df -hT again:

Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  990M     0  990M   0% /dev
tmpfs          tmpfs     201M  4.9M  196M   3% /run
/dev/sda3      ext4       27G  3.8G   22G  15% /
tmpfs          tmpfs    1001M   80K 1001M   1% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs    1001M     0 1001M   0% /sys/fs/cgroup
cgmfs          tmpfs     100K     0  100K   0% /run/cgmanager/fs
tmpfs          tmpfs     201M   44K  201M   1% /run/user/1000
/dev/sda1      ext3      2.7G   43M  2.6G   2% /boot

You can see /boot is now mounted as ext3.

You should have no more problems backing up this volume.


Was this article helpful?

0 out of 0 found this helpful

You must sign in before voting on this article.

Want to talk about it? Head on over to our Community Forum!