Гибридная MBR / тройная загрузка на Macbook

1027
Marek M

Я сделал выбор сделать тройную загрузку на моем 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?
0

1 ответ на вопрос

0
Rod Smith

мне даже нужно использовать гибридный 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 может вызвать переворот при загрузке, после которого вам нужно будет восстановиться.