Trying to reinstall GRUB 2, cannot find a device for /boot (is /dev mounted?)

I was trying to install a new Ubuntu 12.04 installation next to my old 10.10 installation, and I've run into a problem. My computer seems to have a finicky BIOS, and wants a boot partition less than 40 GB in size. So, when I installed 10.10, I split the system into /boot on /dev/sda1 and / on /dev/sda6.

When I installed 12.04 LTS, I totally forgot about it, and now I need to reinstall GRUB. But, I seem to be getting an error.

mint@mint ~ $ sudo grub-install --root-directory=/mnt /dev/sda
grub-probe: error: cannot find a device for /boot (is /dev mounted?).
Installation finished. No error reported.

I'm running this from a Linux Mint live USB device that I had lying around, the GRUB version is the same as the one Ubuntu 12.04 uses, I think.

So, is there something I'm missing, or would it be a better idea to just restart the Ubuntu installation?


I encountered the cannot find a device for /boot (is /dev mounted?) error message in a VM I was working on. I have no idea if my solution will apply to you, or to anyone else.

My VM was failing to boot. Therefore, I booted into a rescue environment. The rescue environment was probably running on read-only media that was mounted on /. As you can see below, I mounted the disk containing my broken desired host installation on /mnt.

I surmised that grub-install expects to run inside the host OS filesystem, and, furthermore, grub-install expects to be able to see the mount of the root filesystem for that host.

So the trick was to first chroot into the host OS, and then re-mount the host OS on /.

I did the following (which I am typing from memory, so it is possible there are errors).

# mount /dev/sdaN /mnt
# mount --rbind /dev  /mnt/dev
# mount --rbind /proc /mnt/proc
# mount --rbind /sys  /mnt/sys
# chroot /mnt bash
# mount /dev/sdaN /
# grub-install /dev/sda

I was then able to reboot the VM successfully. My host OS was Ubuntu 18.04, and the rescue environment was a version of Debian with a 4.x kernel.