I wrote a not-so-little wrapper for efibootmgr to pretend grub-install isn't broken:
# cd /bin # mv efibootmgr efibootmgr.real # ln -s efibootmgr.sh efibootmgr efibootmgr.sh --- #!/bin/sh die() { echo "$*" >&2 exit 1 } run_device() { local devdir="$1" label= label_set= local devname= dev= partition= shift if [ "x$1" = "x-L" ]; then label_set=true label="$2" shift 2 fi devdir="$(cd "$devdir" && pwd -P)" if [ -s "$devdir/partition" ]; then read partition < "$devdir/partition" devname="${devdir##*/}" devdir="${devdir%/*}" fi dev="/dev/${devdir##*/}" if [ -n "$label_set" -a -z "$label" ]; then label=$devname else [ -n "$label" ] || label="$(lsb_release -si)" label="$label ($devname)" fi set -x "${0%.sh}.real" "$@" -L "$label" -d "$dev" ${partition:+-p $partition} } run_raid() { local x= argv= local label= label_set= label_next= local device= devdir= local md_level= md_disks= # extract label for x; do if [ "$x" = "-L" ]; then label_next=true label_set= label= elif [ -n "$label_next" ]; then label_next= label_set=true label="$x" else x=$(echo -n "$x" | sed -e 's|"|\\"|g') argv="$argv \"$x\"" fi done if [ -n "$label_set" ]; then x=$(echo -n "$label" | sed -e 's|"|\\"|g') argv="-L \"$x\" $argv" fi device="$(grep ' /boot/efi ' /proc/mounts | cut -d' ' -f1)" [ -b "$device" ] || die "ESP not mounted" device="$(readlink -f "$device")" devdir=/sys/class/block/${device##*/} if read md_level < $devdir/md/level 2> /dev/null; then if [ "$md_level" = raid1 ]; then read md_disks < $devdir/md/raid_disks for i in `seq $md_disks`; do set +x eval "run_device '$devdir/md/rd$(($i - 1))/block' $argv" done else die "RAID $md_level not supported" fi else # not RAID set -x eval "run_device '$devdir' $argv" fi exit 0 } run_normal() { exec "${0%.sh}.real" "$@" } set -eu argv= i=1 for x; do if [ "$x" = "-d" -a $i -eq $# ]; then # /boot/efi is /dev/md and grub-install can't handle it yet eval "run_raid $argv" die "never reached" fi : $((i = i+1)) x=$(echo -n "$x" | sed -e 's|"|\\"|g') argv="$argv \"$x\"" done set -x eval "run_normal $argv" --- -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1466150 Title: grub-install breaks when ESP is on raid To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1466150/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs