На моем Mac я хотел загрузить Ubuntu с SD-карты (64 ГБ), поэтому я использовал syslinux / unebootin для создания Ubuntu 16.04.2 live USB. Успешно загрузился и установил Ubuntu на SD-карту, имея подкачку 4 ГБ, остальное на ОС и загрузчик также на SD-карту. (После перезагрузки только SD-карта была подключена [не работает USB]) Затем я загрузился обратно в OSx (Ubuntu не появился, ни загрузчик, но я чувствую, что это ожидаемо), поэтому я установил rEFInd. Перезагрузка для приветствия на экране EFI, варианты загрузки Ubuntu из grub и стандартного загрузочного Mac.
Теперь, когда я выбрал опцию Ubuntu, это привело меня прямо к приглашению grub (не к восстановлению). После быстрого Google я пробил в ls
, к которому я увидел две записи hd, но hd0 был именно этим, hd1 имел несколько других (hd1,*something*)
. После этого он дал следующее сообщение: failure reading sector 0x0 from hd0
. После того, как я не нашел ничего особенного в некоторых поисках, я решил пойти дальше и попробовать другие вещи.
По какой-то причине я решил загрузиться с Live USB (используя клавишу alt
при запуске), что привело меня в обычную среду Live. Перезапустил USB снова, чтобы проверить другие опции, когда я нажму esc
. Это привело меня к другому меню Grub, но это было полноэкранное с текстом правильного размера (другое было только в середине экрана). Здесь не было проблемы из ls
. SD-карта была в списке, и ее содержимое соответствовало тому, что должно быть на диске Ubuntu. Затем я набрал exit
, и случилось немыслимое: оно загрузилось в Ubuntu правильно! Я установил несколько драйверов / подправил некоторые настройки, чтобы проверить постоянство (больше любопытства), и был удовлетворен. Затем я попытался установить rEFInd через него, что создало запись (при загрузке через rEFInd без Live USB) для Ubuntu, которая приводит меня в MokManager (и, насколько я могу судить, что касается Windows Safe Boot?).
Итак, откуда я, кажется, что единственный способ загрузиться с SD-карты Ubuntu - это подключить Live USB, выполнить загрузку и выйти из grub. Как я могу это исправить, чтобы мне не понадобился Live USB и только SD-карта?
Спасибо за помощь!
Если вы правильно установили Ubuntu на свою SD-карту, то вам нужно выполнить следующие шаги в macOS, чтобы завершить установку. Здесь я предполагаю, что 64-битная версия Ubuntu была установлена для использования метода загрузки EFI.
Приведенные ниже шаги копируют загрузочный файл grub в правильное место в разделе EFI. Это не только требование для Mac Startup Manager, но также определено в спецификации UEFI.
diskutil list
, чтобы определить идентификатор раздела EFI на вашей SD-карте. В шагах, приведенных ниже, предполагается, что этот идентификатор disk1s1
. Если вы определили идентификатор разницы, сделайте соответствующие замены. diskutil mount disk1s1
. Новое устройство, представляющее этот раздел, должно появиться в приложении Finder. boot
в папке EFI
. grubx64.efi
, найденный в папке EFI/ubuntu
, в папку EFI/boot
. grubx64.efi
в папке EFI/boot
в bootx64.efi
. diskutil unmount disk1s1
. Если вы можете загрузиться с правильно установленной операционной системой Ubuntu, то приведенные выше шаги можно заменить приведенными ниже командами. Эти команды необходимо вводить в окне терминала Ubuntu.
Примечание. Для ввода этих команд вам потребуется знать пароль пользователя root.
su
mkdir /boot/efi/efi/boot
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/boot/bootx64.efi
exit
После внесения изменений вы можете сделать следующее, чтобы выбрать операционную систему.
EFI Boot
. Примечание. Если удерживать нажатой клавишу control kbd> при выборе стрелки, выбранная операционная система будет использоваться по умолчанию.