Comment 4 for bug 1282375

Revision history for this message
medb (medb) wrote :

I had the same problem because the /boot/efi partition was formatted in HFS+ file system. But grub-install doesn't allow this, even if it mounted as read-write.

Previously the /usr/sbin/grub-install file was a script and I have commented this check. Now it's binary file so I can't do this.
Example of disabling efi partition check if /usr/sbin/grub-install file is script:

    if test -n "$efidir"; then
        efi_fs=`"$grub_probe" --target=fs "--device-map=${device_map}" "${e$
# if test "x$efi_fs" = xfat; then :; else
# gettext_printf "%s doesn't look like an EFI partition.\n" "${ef$
# efidir=
# fi
    fi

So I have come up with the next hack:
1. Backup all files from /boot/efi partition
2. Format /boot/efi partition to FAT file system and mount it to the /boot/efi path
3. Copy all files backed up from the original /boot/efi partition to the new one
4. Run `sudo grub-install` and `sudo dpkg --configure grub-efi-amd64`. Should complete successfully.
5. Backup all files from the /boot/efi partition after successful grub upgrade/install
6. Format /boot/efi partition to HFS+ file system and mount it to the /boot/efi path
7. Copy all files backed up from the /boot/efi partition after grub upgrade/install to the new one
8. Update /etc/fstab to mount the /boot/efi partition during boot