Двойная загрузка OS X или macOS с Linux без помощи

19

Я думаю, что заголовок довольно суммирует содержание этого поста. Я хотел бы выполнить двойную загрузку MacBook Pro 13 'без использования стороннего загрузчика. Все учебники, которые я нашел, используют rEFIt или rEFInd для успешной загрузки Linux, когда он установлен, но мне не нравится идея стереть загрузчик Apple по умолчанию, когда, для меня, это лучшее, когда оно приходит на загрузчики, которые я когда-либо видел.

Есть ли способ сделать это?

Благодарность!


источник

Ответы:

18

Ubuntu устанавливает grub и другие файлы в первый системный раздел EFI на компьютере Mac. Обычно это первый раздел на компьютере Mac. Процесс появления Ubuntu в Startup Manager довольно тривиален. Шаги приведены ниже.

Примечание. Начиная с Ubuntu 18, программа установки должна автоматически создавать файлы, необходимые для загрузки Ubuntu на Mac. Поэтому пользователи Ubuntu 18 и более поздних версий должны иметь возможность пропустить шаги 5 и 6.

  1. Установите Ubuntu.
  2. Когда закончите, перезапустите и удерживайте нажатой optionклавишу, чтобы вызвать диспетчер запуска. Выберите для загрузки с тома OS X (или MacOS).
  3. Откройте окно приложения терминала.

  4. Смонтируйте системный раздел EFI, введя приведенную ниже команду.

    diskutil mount disk0s1
    
  5. Создайте папку с именем Bootв папке /Volumes/EFI/EFI. Вы можете использовать приложение Finder или ввести команду, приведенную ниже.

    mkdir /Volumes/EFI/EFI/Boot
    
  6. Скопируйте файл grubx64.efiиз папки /Volumes/EFI/EFI/ubuntuв папку /Volumes/EFI/EFI/Boot. Далее переименуйте этот файл bootx64.efi. Этот шаг может быть выполнен с помощью приложения Finder или введя команду, приведенную ниже.

    cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/EFI/EFI/Boot/bootx64.efi
    
  7. (Необязательно) Загрузите коллекцию иконок с веб-сайта sourceforge Mac icns . Используйте приложение Finder, чтобы открыть загруженный файл mac-icns.dmg, затем введите приведенную ниже команду, чтобы скопировать файл значка Ubuntu os_ubuntu.icnsв системный раздел EFI.

    cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/EFI/.VolumeIcon.icns
    

    Это добавит следующий значок Ubuntu в меню запуска.

    os_ubuntu.png

    Примечание. По завершении вы можете использовать приложение Finder для извлечения mac-icnsтома.

  8. Используйте приложение Finder или введите указанную ниже команду, чтобы размонтировать системный раздел EFI с меткой EFI.

    diskutil unmount disk0s1
    
Дэвид Андерсон
источник
1
+1 У меня отлично
получилось
Как работает шаг 7? Почему это изменило бы только значок раздела Ubuntu? Могу ли я также изменить значок для Macintosh HD, чтобы в меню запуска отображался логотип Sierra для раздела Mac и логотип Ubuntu для раздела Linux?
Arc676
Хорошо, теперь у меня есть значок Ubuntu, где вы указали, и значок Mac /на моем разделе Sierra. Значок Mac отображается для Mac HD, а значок Ubuntu - для другого раздела. Однако у меня есть ощущение, что размещение значка там, где вы указали, просто делает его значком по умолчанию, потому что помещение значка в корень раздела Ubuntu не сработало. Что делать, если я должен был установить третью ОС?
Arc676
1
@ Arc676: для установки третьей ОС может потребоваться второй раздел EFI. Количество разделов EFI, которое вы можете иметь, не ограничено. Пример второго раздела EFI можно найти в этом ответе .
Дэвид Андерсон
Этот ответ спас меня от безумия. Я потратил как минимум 4 дня, пытаясь решить проблему с моим iMac. По сути, rEFInd повредил родные драйверы дисплея iMac. Не уверен, как, но это сделает разрешение по умолчанию самым низким разрешением. Решение этой проблемы будет удалить ссылку. Переустановка rEFInd снова повредит драйверы, и так далее, и так далее. Спасибо @DavidAnderson.
jnkrois
15

Имейте в виду, что ни REFIt, ни REFInd не повреждают, а тем более «стирают» загрузчик Apple по умолчанию; действительно, и rEFIt, и rEFInd просто вставляют себя в процесс загрузки, а затем сами запускают загрузчик Apple.

По сути, REFIt и REFInd являются менеджерами загрузки . Диспетчер загрузки представляет меню или какой-либо другой инструмент пользовательского интерфейса, чтобы вы могли выбрать, какую ОС загружать. Большинство EFI, включая Apple, имеют свои собственные менеджеры загрузки; однако эти встроенные менеджеры загрузки обычно очень примитивны. На Mac вы запускаете встроенный менеджер загрузки, удерживая клавишу Option (или Alt) при запуске компьютера (когда звучит сигнал запуска). Встроенный в Mac менеджер загрузки неудобен для доступа и ограничен в своих возможностях. Я предполагаю, что именно это побудило Кристофа Пфистерера создать REFIt. Я раздавал REFIt в REFInd после того, как REFIt пришел в негодность. Меня больше интересовали проблемы с загрузкой на компьютерах на основе UEFI, но rEFInd остается способом обойти ограничения менеджера загрузки Apple.

В отличие от этого, загрузчик загружает ядро ​​в память и передает ему управление. Загрузчик не должен взаимодействовать с пользователем напрямую (хотя это возможно). Ни rEFIt, ни rEFInd технически не являются загрузчиком, хотя ядро ​​Linux создает размытую линию, поскольку оно включает функцию ( загрузчик заглушки EFI ), которая позволяет ему функционировать как собственный загрузчик EFI. Кроме того, некоторые загрузчики, такие как загрузчик GRUB 2, который популярен в дистрибутивах Linux, функционируют как менеджеры загрузки, а также как загрузчики.

Если вы используете двойную загрузку Ubuntu и OS X (или macOS, как это было недавно переименовано) на Mac, практическая необходимость добавить что-то в процесс загрузки. Вы можете полагаться на менеджер загрузки Apple, чтобы контролировать, какую ОС загружать, и в этом случае при загрузке OS X не будет задействован инструмент, не принадлежащий Apple. ) запустить ядро ​​Linux, хотя. Учитывая, что большинство из этих инструментов более удобны в использовании, чем встроенный менеджер загрузки Apple, большинство пользователей оставляют их в порядке загрузки так, чтобы они вызывались перед менеджером загрузки OS X.

Если вам просто не нравится rEFInd, вы, безусловно, можете обойтись без него. Вы можете использовать функции менеджера загрузки GRUB 2 или установить другой инструмент, например gummiboot / systemd-boot. Теоретически, если вы устанавливаете Ubuntu в режиме EFI,он должен установить GRUB 2 таким образом, чтобы сделать его загрузочным менеджером по умолчанию, и он должен предоставлять опции для загрузки как Ubuntu, так и OS X. На практике я не уверен, что это будет работать - Apple делает все немного по-другому, и так мало людей делают это так, что я не могу обещать, что это сработает. Вы можете попробовать это и исправить все проблемы, с которыми вы столкнетесь после свершившегося факта. Тем не менее, я рекомендую узнать больше о загрузке EFI перед началом работы, чтобы не допустить какой-либо базовой ошибки, такой как загрузка установщика в режиме BIOS или неправильная настройка разделов. Вы можете начать с этих страниц:

Если вы решите придерживаться более сложного пути использования rEFInd, обязательно проверьте дату любых инструкций, которым вы следуете. Некоторые очень старые страницы все еще существуют, и они обычно не решают новые проблемы, такие как защита целостности системы (SIP) ; или они описывают использование оставленного REFIt, а не более нового REFInd. (Хотя rEFIt все еще можно использовать для работы с более новыми версиями OS X, для этого может потребоваться переходить через недокументированные скачки.)

Род Смит
источник