Я уже несколько дней пытаюсь заставить работать двойную загрузку. Я установил 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
Кто-нибудь знает, как я могу исправить это?
Вы пробовали вариант загрузки? Для этого вы держите опцию во время загрузки и можете исправить это. Во-вторых, вы могли установить его неправильно. Я сделал это 2 раза, прежде чем понял, что ошибаюсь.
Я был в подобной ситуации, но когда я установил rEFit.dmg
и после этого установил refind-bin
. Когда я набрал sudo [PATH of refined-bin]
и ввел свой пароль, система предложила мне (примерно):
Система должна удалить файл благословения, потому что это приводит к тому, что rEFit не работает должным образом, и вы должны удалить его, набрав
blockquote>y
.Я делаю это, и проблема решена.
Во-первых, в вашей схеме 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), поставляются с подходящими ядрами. Процедура:
.zip
со страницы загрузки . install.sh
. ext4_x64.efi
из пакета rEFInd в каталог /EFI/refind/drivers_x64/
(который вам придется создать). (Это предполагает, что вы устанавливаете в папку по умолчанию; если вы устанавливаете rEFInd в ESP или устанавливаете вручную в другом месте, вам необходимо соответствующим образом изменить путь.) vmlinuz
. ro root=/dev/sda2
к параметрам загрузки и нажмите Enter. 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.