Grub-probe: error: cannot find a GRUB drive


(Huepf) #1

Running Ubuntu in LXD. Today an update for the package ‘friendly-recovery’ came in. The installation failed with the error /usr/sbin/grub-probe: error: cannot find a GRUB drive for /dev/sdc1. Check your device.map.

A downgrade doesn’t work as I get the same error. Uninstalling -> same error.

/dev/sdc1 on the LXD host constains the storage that contains my container.

Thanks for your help!


(Stéphane Graber) #2

So that’s odd, you have packages that probably shouldn’t be in a container. grub and friendly-recovery are meaningless in containers and not installed by default. I’d suggest just removing all grub packages as well as friendly-recovery itself, that should do the trick.


(Huepf) #3

I removed grub-common and all dependencies (including friendly-recovery) which raised my heart rate a bit when it came to the next reboot but everything is still working as it should be.
Thanks.

By the way the ubuntu image I use is the default image from the tutorials. Maybe they need to be checked for unnecessary grub packages. Not sure…


(Stéphane Graber) #4
stgraber@castiana:~$ lxc launch ubuntu:16.04 c1
Creating c1
Starting c1
stgraber@castiana:~$ lxc launch images:ubuntu/xenial c2
Creating c2
Starting c2                                   
stgraber@castiana:~$ lxc exec c1 -- dpkg -l | grep grub
stgraber@castiana:~$ lxc exec c2 -- dpkg -l | grep grub

So neither of the Ubuntu 16.04 images we have contains grub. I suspect grub was pulled in through some other package that got installed into your container.


(Huepf) #5

You are right.
I checked the apt history logs. Grub came in with linux-image-extra-virtual…


(Stéphane Graber) #6

Ah, you wouldn’t need the linux-image-* packages either as containers can’t have kernels :slight_smile: