Ubuntu Mate 18.10 doesn't boot after update

I installed Ubuntu Mate 18.10 with LVM for managing the disk.
The first time with luks (cryptsetup) in order to keep the disk encrypted.
After installation, it is suggested to update the system and this update affectes update-initramfs.
If I update then I cannot boot any more and I get the following message :

BusyBox v1.27.2 (Ubuntu 1:1.27.2.Z-Zubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

If I hit exit (one of the commands), I get the following error :

Gave up waiting for root file  system device. Common problems:
- Boot args (cat /proc/cmdline)
   - Check rootdelay = (did the system wait long enough)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/ubuntu--mate--vg--root does not exist. Dropping to a shell!

And again it prompts me for shell input.

I searched the topic on the internet, the first answer I found was this one :


The second answer seemed to be my case, so I followed the steps (which were not enough because you need to add other things to make it even possible, the comment made by icio here :
https://gist.github.com/dragon788/e777ba64d373210e4f6306ad40ee0e80 was helpful
I changed the file (I don’t use EFI and my drive isn’t a NVMe) , after iterative changes, update-initramfs worked, however, this didn’t make any progess as I was getting the same message over and over after reboot.

I then reinstalled Ubuntu Mate 18.10, but this time with no disk encryption and only LVM.
I still got the same problem.

Now I’ll try to install Ubuntu Mate 18.04, but in the mean time if anyone has a beginning of a solution to the problem I’ll be glad to take it.

i used a previous kernel version - 4.18.0-10-generic - which is allowing me to use my computer again. i did this by pressing the escape key during boot to bring up a grub menu. you will have to time this right as pressing the escape key too many times gets you a command line. hopefully 4.18.0-12-generic is fixed soon.

a more permanent solution might be to NOT USE lvm - which is what i’ll be doing when i find time and motivation to nuke and reinstall.

4.18.0-13-generic has been released!

i’m going to reboot to see if it works :crossed_fingers:

I too have been struggling with this problem: an update (apparently) broke LVM. This is a fresh install of 18.10 onto a non-critical laptop, choosing the full-disk encryption because the 'encrypt /home' option is no longer available at the time of installation (big mistake IMHO).

4.18.0-10 is the only kernel that works. I've tried the -13, -14, and now the new -15 this morning with the identical same problem. I edited grub to freeze at the opening screen to let me choose the -10 each time I boot.

Ubuntu-mate is my absolute favorite, using 18.04 on all my other machines (5), and decided to experiment with 18.10 hoping another annoying and obvious bug introduced by an update would be fixed (off-topic) but it isn't.

1

In initramfs , type:

#/sbin/lvm vgchange -a y
#vgchange -a y
#exit

If you're unable to solve the issue, type this:

ls /dev/mapper

Now, you should have found root (like /dev/vgname/lvname ).

reboot

And then select a kernel on the screen and select e to edit and paste a root value (like /dev/vgname/lvname ) at:

/boot/vmlinuxxxxx root=uuid/dev/xxx.

Then, finally, press Ctrl+X to boot.

If problem repeats when reboot the server

go to

  #/boot/grub/grub.cfg

at /vm/vmlinuz root=write your full lv path

if problem not fixed try fix initramfs as below

1.Go to server terminal

      # sudo rmmod floppy

       #echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklis-floppy.conf
 #dpkg-reconfigure initramfs-tools
 #update-initramfs -u
 #update-grub
 #reboot
  1. Execute this
 #/etc/initramfs-tools/scripts/local-top/forcelvm

with the following contents:

 #!/bin/sh
  PREREQ=""
 prereqs()
  {
echo "$PREREQ"
 }
case $1 in
prereqs)
prereqs
exit 0
;;
 esac
  . /scripts/functions
   lvm vgchange -ay

Then do

       # chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`
       # update-initramfs -u -k all
  1. take backup of lvm2
        #apt-get install lvm2
        #cp /usr/share/initramfs-tools/scripts/local-top/lvm2  /tmp

Edit lvm2

          #vi /usr/share/initramfs-tools/scripts/local-top/lvm2

write Between modprobe -q dm-mod and activate_vg "$ROOT" add this line to initialize your lvm:

lvm vgchange -ayactivate_vg "$ROOT" if you not find this line

write below two line at the end of the file above exit 0

           #lvm vgchange -ayactivate_vg "$ROOT"
           #activate_vg="$ROOT"
save the file

then

            #update-initramfs -u
            #update-grub
            #reboot