Не удается загрузить Ubuntu из EFI в Mac

Я пытаюсь получить старый ок. 2006 macbook ( технические характеристики здесь) для загрузки Ubuntu 14.04.2 LTS. Сейчас у меня второй день, я много раз протирал жесткий диск и переустанавливал с диска около 8 раз. Я все еще довольно новичок в мире Linux.

Я следовал инструкциям здесь , чтобы все заработало, и после долгих трудностей, я дошел до работы grub-install и htfs-bless. Это должно позволить процессу загрузки на моем Mac распознавать Ubuntu во время запуска (чтобы мне не приходилось загружаться вручную с GRUB, что я и должен сделать сейчас).

Я запускаю следующую команду (как root)

grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id="$(lsb_release -ds)"

Она возвращает следующее:

Installing for x86_64-efi platform.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try: 'modprobe efivars' as root.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try: 'modprobe efivars' as root.
Installation finished.  No error reported.

Таким образом, она сообщает о фатальной ошибке (дважды), но затем завершает установку без ошибок. Понятия не имею.

Это говорит о том, что я пытаюсь modprobe efivars от root, что я, конечно, и делаю. Он ничего не возвращает (чего не должно быть), но при повторном запуске выдает точно такую ​​же ошибку.

Я продолжаю и запускаю

hfs-bless "/boot/efi/EFI/$(lsb_release -ds)/System/Library/CoreServices/boot.efi"

, что завершается без комментариев. Тот факт, что он завершается, предполагает, что grub-install создал правильную файловую систему в папке моего дистрибутива. Так что это хороший знак.

Следующий шаг в моих инструкциях говорит мне перезагрузиться, чтобы убедиться, что я загружаюсь прямо в Ubuntu. Этого не происходит Это также говорит о том, что я должен увидеть Ubuntu, появляющийся под экраном загрузчика Mac, а я нет.

После перезагрузки вручную из GRUB я возвращаюсь и пытаюсь продолжить выполнение инструкций, и тут я ударился о стену. Я набираю

efibootmgr

и сталкиваюсь с той же ошибкой

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

Так что я пытаюсь modprobe efivars от имени пользователя root, и при повторном запуске я снова получаю ту же ошибку. 1123]

Некоторые поиски показывают, что проблема в том, что я загружаюсь в BIOS, а не в EFI. Очевидно, что решение заключается в загрузке в EFI, но я не знаю, как это сделать. На моей машине нет раздела BIOS; есть только раздел EFIBoot. На моей машине больше нет системы Mac OSX; есть только Ubuntu 14.04.2 LTS.

Иногда я могу запустить Ubuntu, иногда приходится делать это вручную. Я не могу получить образ диска Ubuntu для отображения в загрузчике Mac и не могу получить доступ к переменным EFI.

Если есть какой-нибудь файл, который я мог бы редактировать вручную из командной строки, который заставил бы меня загрузиться в EFI, это могло бы помочь мне решить эту проблему.

Любая помощь по этому вопросу будет принята с благодарностью.

1
задан 23 July 2015 в 06:08

1 ответ

Я не уверен на 100%, но у старого Mac, вероятно, есть 32-битный EFI, даже если у него 64-битный процессор. (Первые Mac на базе Intel имели 32-разрядные процессоры с 32-разрядными EFI. Когда Apple обновлялась до 64-разрядных процессоров, EFI отставали на поколение или около того, прежде чем EFI был обновлен до 64-разрядных.) Загрузка в режиме EFI, установка в режиме EFI проще всего выполнить с ОС, которая соответствует разрядности EFI - другими словами, 32-разрядной ОС на 32-разрядной EFI или 64-разрядной ОС на 64- немного EFI. К сожалению, Ubuntu не предоставляет возможности 32-разрядной загрузки EFI в своей 32-разрядной версии, поэтому для этого в Ubuntu требуется выполнить несколько значительных скачков, чтобы добавить 32-разрядный загрузчик EFI в загрузочный образ. Это можно сделать (я это сделал), но у меня нет ссылки на точную процедуру. (Я начал писать такой документ один раз, но охват всех возможностей оказался реальной проблемой, поэтому я отложил его и никогда не возвращался к нему.)

Версия GRUB для EFI действительно способна выполнить перекрестную загрузку ядра с несовпадающей архитектурой - то есть 64-разрядного ядра в системе с 32-разрядным EFI или наоборот (если, конечно, ваш процессор представляет собой 64-разрядную модель). Использование этого подхода потребует установки в BIOS / CSM / унаследованном режиме и затем установки 32-разрядного GRUB после завершения установки; или взломать 64-битный установщик, чтобы включить 32-битный GRUB. Я не знаю ни одного сайта, где описывается, как это сделать для Mac, но этот описывает процесс для планшета ASUS с 64-битным процессором и 32-битным EFI. (Этот сайт не работает, когда я его печатаю; надеюсь, это временно.)

Все, что сказано, особенно если это 64-битный компьютер, использование режима EFI для одиночной загрузки с Ubuntu - трудный путь сделай это. НАМНОГО будет проще относиться к компьютеру как к компьютеру с традиционным BIOS. Создайте разделы MBR и загрузите установщик в режиме BIOS. Вы сможете установить 32-разрядную или 64-разрядную версию Ubuntu, как считаете нужным, без существенных отклонений от процедуры установки. Когда микропрограмма Mac видит таблицу разделов MBR, он активирует CSM, а когда ему не удается найти загрузочный загрузчик EFI, он запускает версию BIOS GRUB в MBR. Все это должно работать без сбоев, как будто компьютер с моделью на основе BIOS. Основными подводными камнями являются управление режимом загрузки установщика (BIOS против EFI) и использование MBR (если вы используете GPT, микропрограмма Mac не включит загрузку в режиме BIOS).

Главный недостаток заключается в том, что обновлять прошивку будет сложнее, поскольку процесс обновления прошивки требует загрузки в режиме EFI. На таком старом компьютере, однако, насколько вероятно, что вы будете обновлять свою прошивку? Кроме того, если позже вы решите выполнить двойную загрузку с OS X, вам придется преобразовать MBR в GPT и переустановить загрузчик Linux тем или иным способом.

0
ответ дан 23 July 2015 в 06:08

Другие вопросы по тегам:

Похожие вопросы: