Я исправил эту проблему с помощью efibootmgr
. У меня не установлена Windows, но процесс должен работать аналогично для вас.
Если вы не можете загрузиться в Ubuntu, используйте живую версию.
Сначала убедитесь, что у вас установлен efibootmgr
$ sudo apt-get install efibootmgr
Затем проверьте разделы, с которых может загружаться EFI
$ sudo efibootmgr
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000,0082
Boot0000* ubuntu
Boot0080* Mac OS X
Boot0081* Mac OS X
Boot0082*
BootFFFF*
В моем случае это перечисляет 4 раздела. Boot0000
- это раздел Ubuntu, где установлен Grub, по умолчанию я хочу загрузить этот раздел.
Я обнаружил, что Boot0080
- это раздел восстановления старой установки Mavericks, а Boot0081
- это раздел восстановления Yosemite. Раздел, где Yosemite фактически установлен, в моем случае, Boot0082
Grub не может загрузить Mac OS X напрямую, но я могу настроить EFI для загрузки раздела Mac OS X при выходе из Grub.
Итак, я бегу
$ sudo efibootmgr -o 0000,0082
Что, скажем так , означает, что Boot0000
, на котором установлен Grub, будет запущен первым, затем, если вы выйдете из grub (нажав клавишу c
end и набрав команду exit
), вы сможете загрузиться в Mac OS X
Чтобы сделать процесс загрузки Mac OS X более удобным, вы можете добавить запись в меню загрузки Grub, которая завершает работу и запускает Mac OS X. Просто отредактируйте /etc/grub.d/40_custom
и добавьте следующее
menuentry "Exit to Max OS X" {
exit
}
И перезагрузите конфигурацию Grub с
sudo update-grub
Все должно работать