Я сделал выбор сделать тройную загрузку на моем MacBook 5,1 2008 года с Mac OSX 10.6.8, элементарной ОС и Windows 7 (64bit). Я закончил тем, что делал это, не зная, что произойдет с моим 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 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .