Загрузка EFI Ubuntu 14.04 на Mac без помощи REFInd

8

Я хочу полностью удалить OS X с моего Mac и установить Ubuntu 14.04 LTS.

Хотя я хочу использовать более новый метод загрузки EFI вместо устаревшей загрузки BIOS, я не хочу использовать rEFInd или любой другой сторонний загрузчик, но вместо этого я хочу использовать загрузчик Mac по умолчанию.

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

Можете ли вы предоставить подробный и пошаговый метод для достижения этой цели?

Рохит Мадхаван
источник

Ответы:

10

Этот процесс сотрет OS X и любые другие данные, которые у вас есть на машине. Пожалуйста, сделайте резервную копию вашей системы, прежде чем продолжить.

Возможно, вы захотите создать диск восстановления, чтобы вы могли восстановить OSX позже, если это потребуется.

Создайте Live USB с Ubuntu

Обратитесь к этой странице для получения подробных инструкций. Рекомендуется UNetbootin, поскольку он кроссплатформенный и предоставляет графический интерфейс пользователя (GUI).

ПРИМЕЧАНИЕ. - НЕ используйте +macверсию, поскольку она не поддерживает загрузку EFI.

Загрузка с Live USB

Хитрость при загрузке с USB на Mac - удерживать optionклавишу нажатой, как только вы включаете устройство. Выберите EFI Boot из этого меню.

введите описание изображения здесь

Ubuntu теперь должен загрузиться с USB. Установите Ubuntu с помощью команды « Стереть» и «Использовать весь диск» .

введите описание изображения здесь

Во-первых, когда вы перезагрузите / включите ваш Mac, вы увидите серый экран загрузчика Mac примерно на 30 секунд, а затем мягко мигающую папку с символом «?». внутри. Если вы вставите установщик USB сейчас, он должен загрузиться. Если нет, попробуйте удерживать кнопку питания, чтобы выключить питание, а затем следуйте инструкциям по загрузке через USB, чтобы включить его.

Загрузка вручную с жесткого диска

На этом этапе система не загружается, поскольку загрузчик Mac ожидает, что раздел EFI будет отформатирован как HFS +, типичная файловая система Mac, а установщик Ubuntu фактически форматирует его как VFAT.

На этом шаге мы проинструктируем GRUB о том, что Live USB тоже загружается с только что установленной Ubuntu на жестком диске. - Это потребует серьезного набора текста, но после такой загрузки мы будем готовы настроить автоматическую загрузку на следующем шаге.

Если вы используете установщик на рабочем столе, удерживайте shiftклавишу, чтобы вызвать меню загрузчика GRUB.

Когда вы видите загрузочное меню GRUB, не выбирайте ни одну из записей. Вместо этого нажмите, Cчтобы вызвать консоль GRUB.

На консоли grub введите ls

grub> ls 
(memdisk) (hd0) (hd0,msdos) (hd1) (hd2) (hd2,gpt3) (hd2,gpt2)
(hd2,gpt1)

Вы можете не получить точно такие же результаты, как этот, но у вас будут некоторые похожие варианты.

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

grub> ls (hd2,gpt2)/home
rohith/

Продолжайте пытаться, пока не найдете это.

Результат от последнего шага состоит из двух частей: (hdX,gptY). Вам нужно сохранить hdXчасть, но просмотрите все gptYпараметры, чтобы найти каталог / boot / grub.

grub> ls (hd2,gpt2)/boot/grub
unicode.pf2 [...] grub.cfg

Теперь вы хотите установить его в качестве корня для дальнейших команд.

grub> set root=(hd2,gpt2)

Единственный способ загрузки - использовать UUID накопителя.

grub> ls -l (hd2,gpt2)

Запишите UUID. Вы должны будете ввести его вручную на следующем шаге.

grub> linux /boot/vmlinuz〈Tab here!〉.efi.signed root=UUID=〈the UUID from above〉

Консоль GRUB может выполнять завершение табуляции, поэтому, если вы просто наберете часть vmlinuz и нажмете tab, затем нажмите. и tabопять же, вам не нужно будет вводить полное имя файла. убедитесь, что efi.signedчасть присутствует.

Теперь установите начальный RAM-диск

grub> initrd /boot/initrd〈Tab here!〉

Вы должны быть в состоянии загрузить с жесткого диска команду

grub> boot

введите описание изображения здесь

Настройка автоматической загрузки

Вы загрузились в недавно установленную Ubuntu. Следующий шаг - сделать загрузку автоматической и безболезненной, переформатировав /boot/efiраздел в файловую систему HFS +, которую ожидает Mac, и позволяя загружаться прямо с него.

1. Установка дополнительных пакетов

Теперь откройте терминал и введите

sudo add-apt-repository ppa:detly/mactel-utils
sudo apt-get update
sudo apt-get install mactel-boot hfsprogs gdisk grub-efi-amd64

2. Переформатирование раздела EFI

Запустите, mountчтобы получить список смонтированных файловых систем, и найдите все, что смонтировано в / boot / efi. Размонтируйте это.

sudo umount /dev/sda1

Теперь мы используем, gdiskчтобы удалить раздел VFAT и создать раздел HFS +

sudo gdisk /dev/sda

(Обратите внимание, что в конце этого имени диска НЕТ номера!)

Нажмите p

Убедитесь, что первый раздел имеет тип EF00. Теперь мы удаляем этот EF00раздел.

Нажмите d

Создайте новый HFS + один на своем месте.

Нажмите n

Нажмите ввод для выбора первого и последнего сектора.

Введите AF00для кода файловой системы.

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

Теперь у нас есть неотформатированный раздел HFS +. Отформатируйте его с помощью:

sudo mkfs.hfsplus /dev/sda1 -v ubuntu

3. Обновление таблицы файловой системы

Отредактируйте / etc / fstab

sudoedit /etc/fstab

Удалите строки, которые относятся к /boot/efiиспользованию Ctrl+K.

Теперь введите следующие команды -

sudo bash -c 'echo $(blkid -o export -s UUID /dev/sda1) /boot/efi auto defaults 0 0 >> /etc/fstab'
mount /boot/efi

4. Установка GRUB на раздел HFS

sudo bash -c 'echo "This file is required for booting" > /boot/efi/mach_kernel'

Установите GRUB и благословите файловую систему.

sudo grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi
sudo hfs-bless "/boot/efi/System/Library/CoreServices/boot.efi"

РЕДАКТИРОВАТЬ Некоторые Устранение неполадок: Следуя этим инструкциям на Ubuntu 14.04 Trusty Tahr, я получил следующее сообщение об ошибке отgrub-install

Installing for x86_64-efi platform.grub-install
error: Can't create file: No such file or directory.

После повторного запуска с помощью straceя определил, что он не ищет файл с именем /boot/efi/mach_kernel, но файл, который вызывается /boot/efi/EFI/ubuntu/mach_kernelи после создания этого файла и повторного запуска grub-installвсе, кажется, работает. КОНЕЦ РЕДАКТИРОВАНИЯ

5. Устранение задержки загрузки

Чтобы установить загрузочную запись EFI по умолчанию, запустите

sudo efibootmgr

Избавьтесь от лишних записей -

sudo efibootmgr -b xxxx -B

где xxxx - номер загрузки, полученный из sudo efibootmgr

Теперь установите запись по умолчанию -

sudo efibootmgr -o xxxx

Система должна быть загрузочной!

КРЕДИТЫ

Джейсон Херис - Для своего первоначального поста использовал PPA.

Рохит Мадхаван - За пост в Ask Ubuntu, небольшие модификации.

Рохит Мадхаван
источник
На шаге 4 вам нужно смонтировать / dev / sda1, прежде чем пытаться установить grub
pshirishreddy
Возможно ли что-то как двойная загрузка? Я смог установить Ubuntu вместе с OSX на моем MBP (8,2) без каких-либо refitили refind. Все работает очень хорошо (кроме моего внешнего дисплея). Тем не менее, я пытался сделать то же самое на более поздней сетчатке MBP, и я не могу заставить ее пойти. Он выглядит так хорошо в пробном режиме ... внешний дисплей работает из коробки и т. Д., Установка также в порядке. Но я не могу получить свою сетчатку MBP, слишком загружать Ubuntu. Могу ли я сделать что-нибудь после того, как я установил Ubuntu для загрузки?
Мэтт Баннерт
Я нашел efibootmgrдополнительную загадку (хотя это просто случайно работало для меня). И справочную страницу тоже не слишком легко понять. Что значит выбор, который я получаю? Что я могу удалить? (Зачем мне удалять вещи, не достаточно ли просто установить порядок загрузки?)
zrajm
Только что установил Ubuntu 17.04 на мой поздний Mac Book Pro, используя опцию «Стереть диск и установить Ubunu». Это загружается, только медленно. Есть два раздела: / dev / sda1 "BIOS Boot" и / dev / sda2 "Linux Filesystem", смонтированные в /. Каталог / boot / находится в /. Если я изменю размер раздела и создаю раздел HSF + / boot /, могу ли я создать загрузочный EFI?
Мартин