Восстановите загрузчик Windows после установки Ubuntu на MacBook Pro

Я установил Ubuntu 14.04.2 LTS на MacBookPro11,5 (Retina) с Mac OS X Yosemite, следуя этому руководству: https://help.ubuntu.com/community/MacBookPro11-1/Saucy

Дело в том, что у меня уже установлена ​​Windows 8.1 Pro через Boot Camp, поэтому Дисковую утилиту в Mac OS нельзя использовать для переразметки SSD. я использовал resizeStack в терминале, чтобы сжать раздел OS X ( руководство здесь). Теперь SSD разделен на:

  • /dev/sda1: Раздел EFI
  • /dev/sda2: OS X Йосемити
  • /dev/sda3: OS X Recovery HD
  • /dev/sda4: Boot Camp Windows 8
  • /dev/sda5: Ubuntu Disk подключен к /
  • /dev/sda6: Ubuntu Swap

Загрузчик Ubuntu выбран для установки на /dev/sda1, но установщик уведомил, что загрузчик Windows также существует в sda1, После установки Ubuntu и Mac OS успешно загрузились с GRUB2, но Windows не может быть загружена ни с GRUB2, ни из встроенного менеджера загрузки Apple (нажав option при загрузке). Я использовал Parallels Desktop для загрузки раздела Boot Camp как виртуальной машины, и Windows работает.

Решение № 1

Я установил Boot Repair на Ubuntu и использовал рекомендуемый ремонт, не повезло; дополнительные записи добавляются в меню Grub2 после ремонта. GRUB работал, и Mac OS могла быть загружена. Вот созданная страница Boot Info: http://paste.ubuntu.com/11897269/

Решение № 2

Я подключил установочную флешку Windows и попробовал автоматическое восстановление при загрузке, которое не сработало. Затем я попытался восстановить основную загрузочную запись с помощью командной строки:bootrec /fixmbr

После восстановления Mac OS была установлена ​​в качестве первой системы для загрузки, поэтому меню Grub не появлялось при запуске компьютера. я использовал efibootmgr на установочной флешке Ubuntu для установки Ubuntu первым загрузочным диском и Mac OS вторым. Windows по-прежнему не может быть загружена.

Странно то, что на этот раз менеджер загрузки Apple не пытался загрузить Windows после нажатия значка диска "Windows"; значок "Macintosh HD" и "Windows" приведет к загрузке Mac OS. Таким образом, ремонт должен был изменить менеджер загрузки Apple.

Несколько вопросов

  1. Кажется, что загрузчик Windows в /dev/sda1 перезаписывается Grub. Так есть ли способ заставить загрузчик Windows Boot Loader и Linux (теперь это Grub, верно?) Сосуществовать?

  2. Следует отметить, что Boot Camp Windows 8 загружается в режиме EFI на MacBook Pro, так как setupact.log шоу Callback_BootEnvironmentDetect: Detected boot environment: EFI, Руководство Я также проверил Grub, что он работает в режиме EFI. Поэтому Windows также использует таблицу разделов GUID (GPT), аналогичную Mac OS, вместо MBR? В этом случае восстановление MBR может оказаться бесполезным.

  3. Я не уверен, где находится загрузочный переключатель Apple и как его можно изменить с помощью установочного диска Windows? Это также в /dev/sda1?

Я новичок в этом вопросе. Большое спасибо за ваши ответы!


Обновления:

Я попытался следующие команды в командной строке установки Windows:

  • bootrec /fixmbr: Успешно
  • bootrec /fixboot: Успешно
  • bootrec /scanos: Идентифицировано 1 Установка Windows на D:\Windows
  • bootrec /rebuildbcd: Идентифицировано 1 Установка Windows на D:\Windows; Запрошенное системное устройство не может быть найдено.
  • bcdedit: Запрошенное системное устройство не может быть найдено.

Windows не может быть загружена, с кодом ошибки 0xc000000e,

Обновления № 2

Я последовал ответу Рода Смита, чтобы преобразовать мой раздел EFI из MBR: MBR only в MBR: protective а также GPT: present, но затем опция "Windows" исчезает из менеджера загрузки Apple, и Grub не может быть загружен.

Также я следовал за ответом Терранса rebuildbcd но не удалось. Смотрите комментарии к их ответам.

2 ответа

Ваша проблема в том, что ваша установка Windows находится в режиме EFI, но ваш диск настроен с использованием гибридной MBR, что заставляет Windows рассматривать диск как диск MBR. Загрузчик Mac также может воспринимать это как сигнал к попытке загрузки Windows в режиме BIOS, но на диске нет загрузчика в режиме BIOS. Поскольку Windows будет загружаться в режиме EFI только с GPT-диска, эта конфигурация приведет к неудачной загрузке. Могут быть и другие проблемы, но это первая проблема, которую я вижу, и она обязательно вызовет сбой при загрузке, поэтому вам следует решить эту проблему.

К счастью, решение довольно простое, хотя и не интуитивное:

  1. Загрузиться в Ubuntu. (Вы также можете сделать это из OS X, но вам нужно будет установить gdisk и использовать другое имя файла на диске.)
  2. Откройте окно терминала.
  3. Тип sudo gdisk /dev/sda, После того, как вас попросят ввести пароль, gdisk должен запустить и сказать вам, среди прочего, MBR: hybrid,
  4. Тип p просмотреть таблицу разделов. Предполагая, что вы достаточно знаете о своих разделах, вы сможете убедиться, что смотрите на нужный диск. Если нет, введите q выйти и попробовать другое дисковое устройство.
  5. Тип x войти в меню экспертов.
  6. Тип n создать новую защитную MBR, чтобы заменить существующую гибридную MBR.
  7. Тип p еще раз, чтобы убедиться, что ваши разделы все еще на месте. Это всего лишь мера предосторожности, чтобы вы случайно не нажали не тот ключ.
  8. Тип w чтобы сохранить таблицу разделов. Вам будет предложено подтвердить это действие. Сделай так.

Если повезет, это должно решить вашу проблему.

Если Bootrec выдает ошибку "Запрашиваемое системное устройство не может быть найдено", следующие шаги помогут создать новый BCD:

  1. Введите эту команду:

    bcdedit /export D:\BCDBackup
    
  2. Тип

    d:
    

    где d: где установлена ​​ваша Windows

  3. Тип

    cd boot
    
  4. Введите эту команду:

    attrib bcd -s -h -r
    
  5. Введите эту команду:

    ren d:\boot\bcd bcd.old
    
  6. Введите эту команду:

    bootrec /RebuildBcd
    

Надеюсь это поможет.

кредит

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