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

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

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

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

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

1 ответ

Решение

Этот процесс сотрет 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

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

КРЕДИТЫ

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

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

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