Гибридная MBR/ тройная загрузка на Macbook
Я сделал выбор сделать тройную загрузку на моем MacBook 5,1 2008 года с Mac OSX 10.6.8, элементарной ОС и Windows 7 (64-битная версия). Я закончил тем, что делал это, не зная, что произойдет с моим GPT/MBR.
Процесс установки, за которым я следовал, был очень запутанным и включал в себя замену дисков в моем оптическом отсеке и виртуальной коробке (порядок установки OS X, eOS, W7), но (к счастью) конечный результат состоит в том, что у меня теперь есть три работающие установки, которые загружаются через rEFInd.
Проблема - я не уверен, что это работает так, как должно. До того, как я установил W7, rEFInd правильно определил OS X и загрузчик eOS grub. После W7 (и последующей переустановки rEFInd для исправления мошеннической загрузки) rEFInd теперь предоставляет множество опций меню:
- Mac OS (работает правильно)
- eOS (загружается через загрузчик заглушек EFI, отсутствует до установки W7, работает правильно)
- Запись Linux (eOS на ext4) (раньше загружалась на eOS через grub перед W7, выбрав эту опцию теперь почему-то загружается в W7?)
- W7 запись (работает правильно)
Кроме того, чтобы загрузить все, я создал гибридную MBR, но я не уверен, правильно ли я ее настроил, поскольку gdisk verify обеспечивает следующий вывод:
$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: present
Found valid GPT with hybrid MBR; using GPT.
Command (? for help): v
Warning! Mismatched GPT and MBR partition! MBR partition 4, of type 0x0A,
has no corresponding GPT partition! You may continue, but this condition
might cause data loss in the future!
Identified 1 problems!
Command (? for help):
Перейдя в меню восстановления и набрав o и p, вы получите MBR и GPT со следующими списками:
Recovery/transformation command (? for help): o
Disk size is 468862128 sectors (223.6 GiB)
MBR disk identifier: 0x4F5D06CB
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 409639 primary 0xEE
2 409640 137128391 primary 0xAF
3 * 284540928 468860927 primary 0x07
4 137128392 284540927 primary 0x0A
Recovery/transformation command (? for help): p
Disk /dev/sda: 468862128 sectors, 223.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): AEF39373-7FA0-4FD9-A968-99C6D20E9C8C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 468862094
Partitions will be aligned on 8-sector boundaries
Total free space is 2765 sectors (1.3 MiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 137128391 65.2 GiB AF00 Fry
3 137129984 266962943 61.9 GiB 8300
4 266962944 284540927 8.4 GiB 8200
5 284540928 468860927 87.9 GiB 0700 ROBOFRY
где:
- GPT 1 - это EFI под MBR 1
- GPT 2 - это MacOS под MBR 2
- GPT 3 и 4 являются Linux eOS и подкачки под MBR 4
- GPT 5 - это W7 под MBR 3
Мои вопросы:
- Случайно ли я уничтожил свой загрузчик grub, заставив rEFInd использовать загрузчик заглушек EFI? Как я могу восстановить пункт меню linux в rEFInd, чтобы он указывал на grub вместо W7?
- Правильно ли настроен гибридный MBR?
- Редактировать: мне даже нужно использовать гибридный MBR?
1 ответ
мне даже нужно использовать гибридный MBR?
Для загрузки Windows 7, да - по крайней мере, если все ваши установки находятся на одном диске. Windows 8 и более поздние версии обычно могут быть установлены в режиме EFI на Mac, но Windows 7 практически невозможно установить в режиме EFI. (Я слышал об историях успеха, но их сложно сделать.) Для Windows 7 загрузка в BIOS/CSM/ унаследованном режиме является единственным способом сделать это надежно на Mac, и для этого требуется либо MBR, либо гибридный MBR. Если вы хотите загрузить Windows 7 с другого физического диска, это может быть прямой MBR-диск, а вашим основным диском может быть GPT, но если все на одном диске, как у вас, то вам нужен гибридный MBR.
Правильно ли настроен гибридный MBR?
Это почти философский вопрос, поскольку гибридные MBR нарушают спецификацию GPT, поэтому в каком-то смысле любой гибридный MBR является неправильным. Тем не менее, ваш гибридный MBR в порядке, но неоптимальный. На самом деле, есть две части:
gdisk
предупреждает вас, что раздел MBR № 4 охватывает два раздела GPT. Это то, что программное обеспечение Apple не будет делать, и это может создать проблемы, если другие инструменты, которые манипулируют гибридными MBR, не ожидают такой конфигурации. (FWIW, я создалgdisk
и я дал ему возможность настроить вещи таким образом в интересах максимальной гибкости; но такая гибкость может привести к проблемам.) Ваша конфигурация работает, и если вы понимаете ее и записываете на нее данные (например,gdisk
вывод, который вы показали здесь), так что вы можете воссоздать его, вы должны быть в порядке с этим, как есть.- Ваши разделы MBR № 2 и № 4 соответствуют OS X и Linux, соответственно, ни один из которых не нуждается или не использует гибридные разделы; как OS X, так и Linux смотрят на сторону GPT, когда показаны гибридные диски MBR.
Первая проблема является всего лишь проблемой своего рода, но вторая проблема предоставляет возможный способ создания более чистой конфигурации: поскольку Windows является единственной ОС с разделом, который необходимо гибридизовать, и потому что она находится в Конец диска, вы можете воссоздать гибридную MBR для хранения только защитного раздела типа 0xEE и раздела Windows. В этой конфигурации защитный раздел типа 0xEE будет охватывать сектор от 1 до разделов OS X и Linux. Это более чистая настройка, чем то, что у вас есть, и с меньшей вероятностью запутает другие инструменты. OTOH, изменение настройки теперь может запутать Windows. В частности, если его раздел MBR изменится с #3, Windows может не загрузиться. Таким образом, вы рискуете получить серьезную проблему, если решите устранить эту причуду в вашей текущей настройке.
Случайно ли я уничтожил свой загрузчик grub, заставив rEFInd использовать загрузчик заглушек EFI? Как я могу восстановить пункт меню linux в rEFInd, чтобы он указывал на grub вместо W7?
Это сложнее. Насколько я понимаю, у вас есть одна запись, обозначенная как "eOS on ext4", которая загружает Windows, но используется для загрузки Linux через GRUB. Это похоже на загрузчик в режиме BIOS в разделе ext4. Это должен быть GRUB, и я подозреваю, что это все еще так, но конфигурация GRUB была изменена на цепную загрузку для Windows без представления меню GRUB. Если это так, измените файл конфигурации GRUB (/boot/grub/grub.cfg
) либо напрямую, либо (лучше) с помощью инструментов настройки GRUB (update-grub
скрипт или настройщик GRUB) может вернуть меню GRUB.
OTOH, возможно, что описание rEFInd вводит в заблуждение, или загрузчик Windows каким-то образом установлен в неправильный раздел. (Может быть, Windows решила поместить его туда в какой-то момент, когда вы возились с гибридной настройкой MBR?)
Из-за неуверенности я не уверен, как восстановить GRUB в BIOS-режиме (если так и было). Я мог бы предложить некоторые предложения, но я обеспокоен тем, что мог бы в конечном итоге дать вам совет, который в конечном итоге создаст новые проблемы.
Таким образом, я склонен советовать вам либо игнорировать эту запись, либо использовать dont_scan_volumes
вариант в refind.conf
скрыть неправильно помеченную запись и вместо этого положиться на загрузчик заглушки EFI, чтобы войти в Linux. Если вы хотите создать резервную копию, установка EFI-версии GRUB может обеспечить это с оговоркой о том, что установка GRUB может вызвать переворот при загрузке, после которого вам необходимо будет выполнить восстановление.