Правка EFI GRUB 2 для загрузки Windows

Проблема: после установки Linux на ноутбук c EFI, на котором уже установлена Windows 8, последняя не загружается из GRUB 2, хотя пункт на ее загрузку присутствует в меню загрузчика...

По всей вероятности при установке неправильно определились пути.

Решение: открываем конфигурационный файл загрузчика /boot/grub/grub.cfg. Находим строки относящиеся к загрузке Windows и правим их:

Прописываем путь chainloader ($root)/EFI/microsoft/boot/bootmgfw.efi
При необходимости добавляем search --set=root --file /EFI/microsoft/boot/bootmgfw.efi
drivemap -s (hd0) ${root} можно закомментировать

menuentry "Windows 8 (loader) (on /dev/sda4)" --class windows --class os {
insmod part_gpt
insmod ntfs
set root='(hd0,gpt4)'
# search --no-floppy --fs-uuid --set=root 631415086514E1F8
search --set=root --file /EFI/microsoft/boot/bootmgfw.efi
# drivemap -s (hd0) ${root}
chainloader ($root)/EFI/microsoft/boot/bootmgfw.efi
}

До правки они имели вид:

menuentry "Windows 8 (loader) (on /dev/sda4)" --class windows --class os {
insmod part_gpt
insmod ntfs
set root='(hd0,gpt4)'
search --no-floppy --fs-uuid --set=root 631415086514E1F8
drivemap -s (hd0) ${root}
chainloader +1
}

Ключевые слова: