Восстановите загрузчик Apple на (Intel) Mac после того, как загрузчик обновлений был запущен внешней установкой Ubuntu

10

У меня Ubuntu установлен на внешний жесткий диск, и я использую его в качестве портативной установки, которую я могу взять с собой куда угодно.

Сегодня я загрузил его на iMac друга, и после Software Updater попросил меня установить обновления. Так я и сделал.

Так как в этот момент я покончил с этим, я выключил компьютер и отключил внешний жесткий диск. Сразу после этого я снова запустил iMac, чтобы он снова загрузился в OSX.

К моему полному шоку, ужасу и растерянности меня встретил спасательный экран GRUB!

Как это возможно? Ubuntu устанавливается на внешний жесткий диск, а не на внутренний! Как, черт возьми, GRUB оказался на внутреннем жестком диске iMac?

Что еще более важно, как я могу это исправить?

You'reAGitForNotUsingGit
источник
1
@Fran - Нет, не дурак. Я хотел восстановить загрузчик Apple, а не GRUB.
YouAGitForNotUsingGit

Ответы:

9

(Прокрутите вниз для фактического исправления)

Так что все было еще сложнее, чем казалось на первый взгляд.

Чтобы поддерживать совместимость с MS-Windows, Apple использует гибридный режим UEFI и Legacy MBR. Очевидно, есть значение NVRAM, которое сообщает микропрограммному обеспечению, пытаться ли загружаться в режиме UEFI (OS-X) или в устаревшем режиме MBR (Windows). Это значение контролируется вашим выбором в «Системные настройки> Загрузочный диск». (Не спрашивайте меня почему, спросите Apple)

Теперь, чтобы загрузить Ubuntu с моего внешнего жесткого диска, я сначала загрузился с DVD, на который я записал ISO-образ REFInd. (Выбор «EFI boot» со значком DVD при удержании Optionклавиши во время запуска). После загрузки с этого DVD я выбрал внешний жесткий диск для загрузки из rEFInd.

Здесь вещи начинают идти действительно странно. После того, как я сказал «перезагрузиться» с внешнего жесткого диска, фиолетовый GRUB-экран так и не появился (да, я установил задержку) и, более того, анимация загрузки с фиолетовой точкой отсутствовала. Вместо этого загрузился белый прокручиваемый текст.

Из того, что я могу сказать, присмотревшись к rEFInd более внимательно перед загрузкой, можно сказать, что опция Ubuntu была на самом деле для загрузки конкретного ядра, а не только для загрузки с диска.

Это означает, что rEFInd - это, конечно же, EFI, и он функционирует, по сути, как замена GRUB, что, несмотря на то, что Ubuntu был установлен в режиме MBR на внешний жесткий диск, он в конечном итоге загрузился в режиме UEFI.

Этот факт очень важен, и вы поймете, почему всего за секунду.

Итак, я позволил Software Updater запустить некоторые обновления. Глядя на логи, кажется, что update-grubкоманда была запущена во время процесса установки. Здесь происходят все плохие вещи . На данный момент я точно не знаю, что произошло, но вот мое лучшее предположение: средство обновления grub запуталось, поскольку grub был установлен в режиме MBR, но Ubuntu в настоящее время загружается в режиме UEFI. Из-за путаницы и того факта, что загрузчик установлен в другое место, в зависимости от того, в какой мод вы загружаетесь, программа обновления grub допускает большую ошибку и устанавливает grub в режиме MBR на внутренний жесткий диск.


Теперь для фактического исправления!

В моем конкретном случае раздел OS-X все еще был загрузочным, если я держал Optionключ во время запуска и выбирал «Macintosh HD».

После загрузки OS-X вы хотите открыть Системные настройки, а затем перейти на загрузочный диск. Выберите громкость OS-X, нажмите «Применить» или что-то еще, перезагрузите компьютер и BOOM! логотип Apple показывает!


Теперь, к вашему сведению, я думаю, что, хотя это и решает проблему, GRUB по-прежнему находится в секторе 0, но я не думаю, что это принесет какой-либо вред, и уж точно, если вы не установите Windows в Boot Camp, после загрузки Windows загрузчик просто перезапишет его тогда

You'reAGitForNotUsingGit
источник