Надо было наверно "unmount" написать, а не "umount".
Ошибки нет, правильно: umount.
Если на sda то это получается ты весь диск целиком указываешь?
Да, и это единственно правильное место установки.
куда ставится GRUB когда ты указываешь sda?
Я тебе уже говорил, повторяю еще:
sda - другими словами MBR, сюда устанавливается головная часть загрузчика.
--root-directory= - в этом параметре указывается раздел, куда установить остальные файлы загрузчика (каталог /boot/grub), если его не указать, то будут установлены в текуший раздел.
На Ubuntu 20.04 вроде ж GRUB2 стоит
Grub2 уже как минимум со времен 10.04.
Еще одна "шалость". Если системный раздел на месте, то и конфиг груб должен быть на нем. А значит можно его и использовать.
submenu "Load configfile" {
src='/boot/isolinux/isolinux.cfg'
src='/boot/grub/menu.lst'
src='/boot/grub/loopback.cfg'
src='/boot/grub/grub.cfg'
root='x'; search -n -s -f "${src}"
if [ "${root}" = 'x' ]
then avload=''
else if regexp "grub." "${src}"; then avload='configfile'; fi
if regexp "loopback." "${src}"; then avload='configfile'; fi
if regexp "menu." "${src}"; then avload='legacy_configfile'; fi
if regexp "isolinux." "${src}"; then avinit="syslinux_configfile ${src}"; avload="syslinux_source /boot/isolinux/isolinux.bin"; fi
fi
if [ "${root}" = 'x' ]; then msg="$src not exist!"; else if [ -z "${msg}" ]; then msg="Load $src from $root"; fi; fi
echo "$msg"; sleep -v 4
if [ -n "${avload}" ]; then ${avload} ${src}; if [ -n "${avinit}" ]; then ${avinit}; fi; fi
}
В переменной src - что искать. В данном случае ищет grub.cfg по всем разделам и если найдет то загрузит этот конфиг. Проблема, если таких файлов несколько (например один у тебя на флешке), то какой попадется первым.
Чтобы конкретизировать, на системном разделе своей *бунту создай копию с именем, например grub.hd0_3 (можно любое имя) и это имя подставь в перемнную src кода.