Установите rEFInd на OS X 10.10 Yosemite

8

Я хочу выполнить двойную загрузку моего macbook с Arch Linux и, таким образом, попытался установить rEFInd с помощью сценария установки, однако после установки rEFInd, похоже, вообще не запускается? Кто-нибудь сталкивался с такой же проблемой или есть возможные решения, как это исправить?

Рава
источник
Хорошо. После обновления сегодня у меня тоже есть эта проблема. Переоснащение и переосмысление обоих не работают. Я просто использовал install.sh в Mac для установки. Но менеджер загрузки не отображается. Любые идеи?
xgdgsc
rEFInd на OS X 10.10 дал мне кучу странных проблем. Я на самом деле закончил тем, что переустановил свой MacBook на OS X 10.9, а затем решил для этого. С трудом коснулся OS X с тех пор, как я снова начал работать. Я отредактировал и не принял свой ответ, чтобы найти лучший ответ.
Рава

Ответы:

6

Просто хотел, чтобы вы знали, что я нашел решение, чтобы избежать теперь знаменитого «ожидания 30 секунд» ;-)

У меня MacBook Air середины 2012 года. Я попробовал все ваши упомянутые решения, чтобы ускорить загрузку в Yosemite, но лучшим для меня было изменить имя папки refind в разделе EFI, а также переименовать файл refind.

Итак, это дает:

  1. В целях безопасности я добавил все папки «drivers_x64», выполнив ./install.sh --alldriversустановку rEFInd.

  2. На моем разделе EFI в Yosemite (хранится в /dev/disk0s1) я переименовал папку «refind» в «BOOT»

  3. Внутри этой папки я переименовал «refind_x64.efi» в «bootx64.efi»

Последние 2 шага позволили моему Mac мгновенно загрузиться с помощью rEFInd, теперь он не ждет около 30 секунд для сканирования диска EFI!

сойка
источник
Только что попробовал. Спасибо (возможно, ответы должны быть объединены)
Димитриос Мистриотис
Это должен быть ответ на отдельный вопрос, который, я думаю, ЛЮБОЙ с MacBook Pro, который использует refind для загрузки Linux, хочет знать ответ. Также пояснение: после этого вам даже не нужно благословлять bootx64.efi (из OS X) - например, если у вас есть работающая установка refind на его собственном выделенном разделе, и вы выполняете шаги 2 и 3, неожиданно количество времени Время между включением компьютера и просмотром меню перефразирования составляет от 30 секунд до нескольких секунд. Dang!
Колин
5

Я исправил проблему, просто добавив --alldrivers при установке refind. Двойная загрузка Yosemite теперь работает как раньше. Быстро, и все переделано в меню загрузки Refind.

install.sh --alldrivers
Джефф Артик
источник
Я разработчик rEFInd, и я настоятельно рекомендую не использовать --alldriversопцию install.sh( refind-installвызывается в 0.10.0 и позже). Эта опция устанавливает все драйверы файловой системы, но большинству компьютеров нужен только один или один драйвер. Использование всех из них создает серьезный риск возникновения проблем, вплоть до зависания компьютера. Опция существует, чтобы помочь восстановить флэш-накопители USB. Последние версии, при запуске из OS X, устанавливают драйвер ext4fs, если обнаружен раздел Linux. Скорее всего, переустановка сама по себе не --alldriversрешит вашу проблему.
Род Смит
5

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

Официальные рекомендации можно найти на веб-сайте REFInd .

Ниже приведены шаги, представленные там:

  1. Загрузитесь с OS X, используя все доступные вам средства. Удержание Option (или Alt) при включении обычно дает вам собственный менеджер загрузки Apple, который должен позволить вам загрузиться в OS X. Если ваша установка rEFInd в данный момент начинается, но не показывает опцию OS X, перейдите к шагу # 7; но если rEFInd не запускается, выполните шаги № 2–7.
  2. Если вы внесли изменения в /EFI/refind/refind.conf, сделайте резервную копию.
  3. Удалить /EFI/refindдерево каталогов; теперь это бесполезно, и его присутствие может вызвать путаницу.
  4. Переустановите rEFInd, как описано на странице Установка rEFInd ; но обязательно используйте опцию --espили --ownhfs device-file. Последнее предпочтительнее, но требует либо выделенного раздела для rEFInd, либо раздела данных HFS +, который в данный момент не загружается.
  5. Убедитесь, что раздел, в который вы установили rEFInd, смонтирован. Детали зависят от того, как вы его установили:
    • Если вы установили rEFInd на свой ESP, введите mkdir / Volumes / esp, а затем sudo mount -t msdos / dev / disk0s1 / Volumes / esp , вероятно, будет работать, хотя в некоторых случаях ваш ESP не будет /dev/disk0s1, поэтому вам, возможно, придется изменить эта деталь.
    • Если вы использовали опцию установки файла устройства --ownhfs, целевой раздел уже должен быть смонтирован, обычно где-то в / Volumes. Если нет, найдите его и смонтируйте с помощью Дисковой утилиты или mount.
  6. Если вы создали резервную копию своего refind.confфайла, теперь вы можете скопировать его в новый refind.confфайл. Вы должны скопировать файл либо /Volumes/esp/EFI/refind/(если вы использовали --espи подключили ESP в /Volumes/esp), либо /Volumes/Mountpoint/System/Library/CoreServices/(если вы использовали выделенный том HFS +; обратите внимание, что Mountpointэто будет имя тома).
  7. Отредактируйте новый refind.confфайл, который должен быть расположен, как описано в предыдущем шаге. В вашем любимом редакторе найдите dont_scan_volumesстроку, которая по умолчанию закомментирована символом # в начале строки. Раскомментируйте эту строку и удалите из нее пункт «Recovery HD». Некоторые пользователи сообщают, что им нужно ввести одну или две фиктивные записи, например dont_scan_volumes foo,bar, чтобы заставить его работать.
Рава
источник
1

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

Вот процедура:
1. Откройте Дисковую утилиту , выберите раздел EFI и смонтируйте его. Обычно точка монтирования должна быть / Volumes / EFI
2. Я предполагаю, что вы уже установили rEFInd, запустив сценарий install.sh с аргументами по умолчанию (rEFInd должен быть установлен в / EFI / refind ). Откройте терминал, введите следующие команды: cp -r /EFI/refind /Volumes/EFI/EFI/ sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/refind/refind_x64.efi

Этот обходной путь имеет недостатки. На моем Macbook Air потребовалось 40 секунд, чтобы появилось меню rEFInd, и раздел Yosemite не был распознан и отображен в меню, только мой загрузчик linux (grub2efi) и раздел восстановления были обнаружены.
Если вы хотите загрузиться в Yosemite, вы должны удерживать Option во время запуска и выбрать свой раздел Yosemite.

Другой обходной путь - использование USB-накопителя для загрузки стороннего загрузчика.
Например, проверьте эту страницу . Вы можете создать автономный образ GRUB2 EFI, а затем поместить его в /EFI/boot/bootx64.efi раздела USB-накопителя (формат FAT32).
Удерживайте Option во время запуска, ваш USB-накопитель будет отображаться как загрузка EFI . Вы можете использовать его для загрузки во временное меню GRUB2, с помощью команды вроде configfile (gpt0,X)/boot/grub/grub.cfg (где X - ваш Linux-раздел или ваш / boot раздел) вы получите старое меню GRUB2, затем оно должно работать как обычно.

мяу
источник
1

На самом деле ссылка, предоставленная Самантой, кажется, дает самое простое решение:

diskutil list

и вы увидите что-то вроде:

$diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         175.6 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         70.3 GB    disk0s4
   5:                 Linux Swap                         4.2 GB     disk0s5
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *175.3 GB   disk1
                             Logical Volume on disk0s2
                             41AF7850-5594-4959-A135-582BF79FDE46
                             Unencrypted

Тогда используйте:

diskutil corestorage revert /dev/disk1

И перезагрузка, refind теперь снова работает.

xgdgsc
источник
1

Да, это так, потому что rEFInd не работает из-за corestorage. Весь диск, то есть все разделы, управляется как один том, и rEFInd теряется в этом «нескольких разделах на нескольких дисках как один логический том».

Таким образом, вы должны выбирать между производительностью corestorage или rEFInd.

Ваши варианты:

  • установить rEFInd в другой раздел HFS
  • установить в ESP один

Смотрите домашнюю страницу REFInd для этого сейчас.

Claod
источник
1

MacBook (13 дюймов, конец 2009 г.), Yosemite 10.10, с включенным шифрованием всего диска (FileVault). Установили rEFInd вот так:

./install.sh --esp --alldrivers 
mkdir /Volumes/ESP
sudo mount -t msdos /dev/disk0s1 /Volumes/ESP

И в refind / refind.conf я нашел директиву dont_scan_volumes и сделал ее похожей на:

dont_scan_volumes foo,bar 

rEFInd загружает OS X и восстанавливает успешно :) Но я все еще не могу загрузиться с установочной флешки Windows 7 :( Я получаю ошибки:

Error: Not Found from LocateDevicePath
....
Error: Not Found from LocateDevicePath
Error: Load Error while (re)opening our installation volume
The firmware refused to boot from the selected volume.

Я решил эту проблему, загрузив почти установленный снимок Windows и клонировав его в нужный раздел, а затем просто загрузившись и завершив установку.

Aldekein
источник
0

В Yosemite rEFind должен быть установлен в системный раздел EFI (ESP), который находится в / dev / disk0s1.

Вы можете либо сделать это вручную с помощью благословлять (как в процедуре мяу в), или вы могли бы просто использовать --espопцию при установке rEFind, например , так: ./install --esp.

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

Brean
источник
0

Использование --easопции при запуске install.sh для меня сработало!

AlexanderNajafi
источник
-2

У меня есть MacBook Pro в середине 2012 года, и я только что перешел на Yosemite от Mavericks. Не удалось увидеть ссылку и нашел решение здесь .

Саманта
источник
1
Добро пожаловать в * nix.SE! Для того чтобы сами инструкции были размещены на этой странице (и чтобы избежать таких вещей, как link-rot), рассмотрите возможность размещения наиболее важной информации или самих инструкций здесь, в своем сообщении.
HalosGhost