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

5

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

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

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

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

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

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

    
задан Android Dev 12.08.2016 в 23:10
источник

1 ответ

5

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

Итак, все было еще сложнее, чем казалось сначала.

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

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

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

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

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

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

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

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

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

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

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

    
ответ дан Android Dev 12.08.2016 в 23:10
источник