Ubuntu не появляется в REFIT (Mac с двойной загрузкой)

Я уже несколько дней пытаюсь заставить работать двойную загрузку. Я установил rEFIT, а затем установил Ubuntu, при установке я выбрал вариант установки загрузчика grub в раздел ubuntu. После установки я не вижу установки Ubuntu в загрузчике rEFIT и не могу восстановить таблицу разделов. Я загружаю OS X и получаю вывод из инспектора разделов, который ниже.

*** Report for internal hard disk ***

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1         409640    781659639  Mac OS X HFS+
 2      781660160    970772479  EFI System (FAT)
 3      970772480    976772479  Linux Swap

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640    781659639  af  Mac OS X HFS+
 3 *    781660160    970772479  83  Linux
 4      970772480    976772479  82  Linux swap / Solaris

MBR contents:
 Boot Code: None

Partition at LBA 409640:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 1, type Mac OS X HFS+
 Listed in MBR as partition 2, type af  Mac OS X HFS+

Partition at LBA 781660160:
 Boot Code: None
 File System: ext4
 Listed in GPT as partition 2, type EFI System (FAT)
 Listed in MBR as partition 3, type 83  Linux, active

Partition at LBA 970772480:
 Boot Code: None
 File System: Unknown
 Listed in GPT as partition 3, type Linux Swap
 Listed in MBR as partition 4, type 82  Linux swap / Solaris

Кто-нибудь знает, как я могу исправить это?

0
задан 20 February 2015 в 12:31

3 ответа

Вы пробовали вариант загрузки? Для этого вы держите опцию во время загрузки и можете исправить это. Во-вторых, вы могли установить его неправильно. Я сделал это 2 раза, прежде чем понял, что ошибаюсь.

0
ответ дан 20 February 2015 в 12:31

Я был в подобной ситуации, но когда я установил rEFit.dmg и после этого установил refind-bin. Когда я набрал sudo [PATH of refined-bin] и ввел свой пароль, система предложила мне (примерно):

Система должна удалить файл благословения, потому что это приводит к тому, что rEFit не работает должным образом, и вы должны удалить его, набрав y .

Я делаю это, и проблема решена.

0
ответ дан 20 February 2015 в 12:31

Во-первых, в вашей схеме GPT, по-видимому, есть ошибка: раздел, начинающийся в секторе 781660160, идентифицируется на стороне GPT как системный раздел EFI (ESP); , но на стороне MBR, он отображается как раздел Linux с файловой системой ext4. Учитывая способ, которым эта идентификация была сделана, я доверяю данным MBR на этом. Скорее всего, вы или установщик ошибочно установили «загрузочный флаг» в разделе. Используя программы на основе libparted, установка «флага загрузки» в разделе GPT фактически устанавливает код типа ESP, который никогда не должен быть установлен в в разделе Linux. (ESP должен содержать файловую систему FAT и должен содержать загрузчики EFI и связанные с ними файлы, а не установку Linux.) Эта ошибка вряд ли станет причиной вашей проблемы, но вполне возможно, что она является фактором, способствующим этому. Поэтому я рекомендую загрузить аварийную систему Linux и использовать GParted, parted, gdisk или какой-либо другой инструмент для правильной настройки кода типа. Используя GParted или parted, удалите «загрузочный флаг» из раздела Linux; или используя gdisk, измените код типа с EF00 на 8300. Обратите внимание, что эти инструменты, вероятно, покажут другой ESP, этот с файловой системой FAT. Вы должны оставить его настроенным как ESP (с его «флагом загрузки» или кодом типа EF00, в зависимости от используемого вами инструмента).

Во-вторых, я рекомендую вам переключиться с загрузки Linux в режиме BIOS на загрузку в режиме EFI. Это избавит от необходимости использовать гибридную MBR, , которую вы используете сейчас. Гибридные MBR - это уродливые и опасные хаки. Вы можете без проблем установить подходящий загрузчик в режиме EFI. Самым простым в настройке, вероятно, будет мой rEFInd, , который является форком (теперь прекращенного) rEFIt; однако процедура, которую я собираюсь описать, работает только с ядрами 3.3.0 и новее. Ubuntu 12.10 и более поздние версии, включая Ubuntu 12.04.2 (но не оригинальную 12.04), поставляются с подходящими ядрами. Процедура:

  1. Загрузите двоичный файл rEFInd .zip со страницы загрузки .
  2. Установите rEFInd под OS X. Это легко сделать с помощью скрипта install.sh.
  3. Установите драйвер rEFInd для ext4fs. Вы можете сделать это, скопировав файл ext4_x64.efi из пакета rEFInd в каталог /EFI/refind/drivers_x64/ (который вам придется создать). (Это предполагает, что вы устанавливаете в папку по умолчанию; если вы устанавливаете rEFInd в ESP или устанавливаете вручную в другом месте, вам необходимо соответствующим образом изменить путь.)
  4. Перезагрузить. REFInd должен появиться.
  5. В rEFInd используйте клавиши со стрелками, чтобы выбрать один из значков пингвинов Linux, который rEFInd должен идентифицировать как запуск ядра Linux с именем файла, начинающимся с vmlinuz.
  6. Выбрав одно из ядер Linux, дважды нажмите F2 или Insert. Должен появиться текстовый редактор в текстовом режиме.
  7. Добавьте ro root=/dev/sda2 к параметрам загрузки и нажмите Enter. Linux должен запуститься.
  8. В Linux запустите скрипт mkrlconf.sh, поставляемый с rEFInd. Это создаст файл конфигурации, который избавит от необходимости добавлять ro root=/dev/sda2 к вашим опциям Linux при следующей загрузке; вместо этого Linux должен запускаться напрямую, когда вы выбираете его опцию и нажимаете клавишу Enter.

На этом этапе ваша система будет в основном функциональной. Вы можете удалить гибридную MBR, используя программу gdisk (в частности, набрав x, затем n, затем w) или внеся небольшие изменения в разделы с помощью parted или GParted. Вы также можете настроить конфигурацию rEFInd, отредактировав файл /EFI/refind/refind.conf под OS X; подробности см. в документации REFInd.

0
ответ дан 20 February 2015 в 12:31

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

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