У меня была такая же проблема. Я исправил это, но затем обновил свое ядро, и поэтому grub переустановил его для меня! Во второй раз выяснить это было быстрее, но я подумал, что в следующий раз будет еще быстрее найти ответ на StackOverflow!
Мой файл grub.cfg в / boot / efi / EFI / ubuntu выглядел так:
search.fs_uuid 47d6233f-c0ae-4f89-bf18-184452eac803 root hd0,gpt6
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
Поскольку мы настроили для работы файл vmdk VirtualBox только с выбранными разделами для Windows, команда search.fs_uuid не работала, $ root был пуст и поэтому grub не может найти $ prefix / grub.cfg (/ boot / grub / grub.cfg в моем rootfs linux, который находится на sda6 == gpt6)
Я автоматизировал это, изменив EFI grub.cfg, обратите внимание, что мой системный раздел EFI равен 2, а не 1, как в вашем примере:
search.fs_uuid 47d6233f-c0ae-4f89-bf18-184452eac803 root hd0,gpt6
set prefix=($root)'/boot/grub'
if [ -f $prefix/grub.cfg ]
then
configfile $prefix/grub.cfg
else
insmod chain
set root=(hd0,gpt2)
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
boot
fi
Теперь, если grub сможет найти файл cfg, он даст мне меню для выбора загрузки, как и раньше, но если он не сможет - когда я нахожусь в VirtualBox - он просто загрузится прямо в Win10.
Надеюсь, это поможет!