

I had my Windows Bootloader in partition 1 and grub2 in another EFI partition ( 8 )( didn't want to mess up Windows Bootloader ), so every time I wanted to use my Kubuntu ( daily ) or Mint OS I had to press F11, wait, select USB ( don't ask me why ), select Ubuntu, then wait again for Grub and then select my Linux based OS. I don't use Linux based OS's that long ( 7 or 8 months now ), and if I have to write everything down to use in the command-line, it not only takes a long time ( mostly the writing down ), but I can make errors that way.

I know some of you don't like this program, but in some cases it comes in very handy ( renaming Ubuntu in Kubuntu ( don't have to do that in 'etc/grub.d/10_Linux_Proxy' ), add a theme, or in this case. I guess /sys/firmware/efi/efivars does not exist in chroot or maybe it's read only. The zfs-fuse error seems not to matter but for Efivars I had to add one more mount : mount -bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars Grub-install: warning: read_file: could not read from file: Input/output error. Please make sure that the zfs-fuse daemon is runningĪnd grub-install: warning: Cannot read EFI Boot* variables. (Anybody knows what is exactly the difference between -bind and -rbind / -make-rslave btw ?)īut today I got two errors in chroot from grub2, I never experienced before : connect: No such file or directory In gentoo I used to create mounts from a live-system like this: mount -t proc /proc /mnt/proc Instead of a mount -bind they use mount -rbind followed by mount -make-rslave for sys and dev and proc gets simply mounted again.

It is similar to the approach in the gentoo-guide. I can't comment (not enough reputation), but Pereira's answer is the way to go in an EFi or multiboot situation. If you created a new EFI partition, you may have to add it to /etc/fstab to have update-grub working correctly. You may have to tell your BIOS which drive to use, or which EFI partition to use, or which EFI binary to use. Sudo grub-install -target=x86_64-efi /dev/sda -efi-directory=/media/efi -boot-directory=/media/root/boot Sudo mkdir /media/efi & sudo mount /dev/sda1 /media/efi Sudo mkdir /media/root & sudo mount /dev/sda2 /media/root # now assuming that the Ubuntu partition is `/dev/sda2` and the (possibly new) EFI partition is `/dev/sda1` # - set the flag esp on this partition (the flag boot will also be selected)
#FIX GRUB ON USB FREE#
# creating the EFI partition at the end of the free space). # move or resize some paritions, anticipate that (for instance by # (in general the one that host the Ubuntu partition). # - create a FAT 32 partition of around 100 MB on the disk of your choice # if you have currently no EFI partition (maybe it was deleted, # boot on a live Ubuntu, I used 18.04 but more recent should work This is how I did it on a standard x86_amd64 EFI desktop, without chrooting, assuming you have a partition containing Ubuntu on your hard drive and possibly an EFI partition where GRUB should be installed.
