Как исправить поврежденный GPT, GUID и несмонтированные тома без типов?

10

У меня есть Macbook Pro с сетчаткой, Yosemite и жестким диском на 500 ГБ. Я попытался установить Windows с помощью Bootcamp и случайно удалил раздел, теперь мой Mac больше не может загружаться. Это выход изsudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

Мне нужно только сделать второй раздел с индексом 2 и набрать FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFснова загрузочный. В этом разделе включен FileVault 2.

Но сейчас я понятия не имею, что делать.

P / S: Я следовал инструкциям @klanomath Boot с внешнего жесткого диска с полной системой Yosemite, но по последней команде изменил тип раздела

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

Он получил эту ошибку:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

Это выход из sudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

Прогресс:

Я выполнил команду sudo gpt destroy /dev/disk0

Но когда я попытался добавить первый раздел обратно с помощью этой команды sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

Я получил эту ошибку сразу

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

Теперь команда sudo gpt -r show /dev/disk0дает мне это

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

Прогресс 2:

Я выполнил sudo gpt create /dev/disk0 и получил эту ошибку:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

и я выполнил эту команду, sudo fdisk -i -a hfs /dev/disk0чтобы написать новую MBR и выполнил sudo gpt create /dev/disk0снова, но получил ту же ошибкуgpt create: /dev/disk0: error: device contains a MBR

Теперь sudo gpt -r show /dev/disk0дает мне это

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

Прогресс 3 и финал: D

Во-первых, большое спасибо @klanomath, без помощи я не смог бы зайти так далеко.

Я выполнил эту команду sudo gpt create -fp /dev/disk0

И эта команда sudo gpt recover /dev/disk0для получения вторичного заголовка GPT

После этого я выполнил sudo gdisk /dev/disk0и диск смонтирован и функционирует нормально

Л.Н.
источник

Ответы:

11

Тип содержимого второго раздела неверен. Вместо FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFэтого должно быть 53746F72-6167-11AA-AA11-00306543ECAC.

Чтобы отредактировать тип контента, вы должны загрузиться в Internet Recovery Mode и использовать gpt. Кроме того, будет удален четвертый раздел (вероятно, «удаленный» раздел). Пожалуйста, убедитесь, что он не содержит никаких данных!

Приготовление:

  • Отсоедините любой внешний диск (особенно внешний резервный диск Time Machine)
  • Перезапустите режим Internet Recovery, нажав alt cmd Rпри запуске.

    Предварительными условиями являются последнее установленное обновление прошивки, либо Ethernet, либо WLAN (WPA / WPA2), и маршрутизатор с активированным DHCP.
    На линии со скоростью 50 Мбит / с требуется около 4 минут (с небольшим анимированным глобусом) для загрузки образа восстановления сетевой загрузки, который обычно загружается с сервера Apple / Akamai.

    Я рекомендую Ethernet, потому что это более надежно. Если вы ограничены WIFI и процесс загрузки завершается неудачно, просто перезапустите ваш Mac, пока вы не загрузитесь.

    В качестве альтернативы вы можете начать с загрузочного флэш-накопителя установщика (предпочтительно Yosemite или El Capitan) или с флэш-накопителя, содержащего полную систему (предпочтительно Yosemite или El Capitan). Если вы загружаетесь на полную систему и входите в систему как администратор, вам нужно sudoбудет выполнить специальные команды, такие как gpt ...!

Удалите четвертый раздел и измените тип содержимого второго раздела

  • Загрузившись в Internet Recovery Mode, откройте Utilities → Terminal в меню и введите: diskutil listдля получения идентификаторов диска. Ниже я предполагаю, что ваш основной диск имеет идентификаторы диска disk0.

  • Сначала вы должны удалить четвертый раздел (только если он действительно пуст!):

    gpt -r show /dev/disk0 #to get an overview
    

    Для удаления раздела с gptдиском необходимо размонтировать:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Затем вы должны изменить тип содержимого второго раздела:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 2 /dev/disk0 #remove the second partition
    gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

    В твоем случае:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • Теперь вас попросят ввести пароль FileVault. Введите это.
  • Войдите exitи выйдите из Терминала
  • Проверьте основной том Macintosh HD на наличие ошибок
  • Выйдите из Дисковой утилиты и перезагрузитесь на свой основной том

Приложение: Удаление упорной MBR

Вы можете использовать fdiskили gptудалить MBR в блоке 0. Если вы используете пользователя sudoс правами администратора, добавьте gpt ....команды.

  • Сначала получите обзор снова. Этот шаг важен до того, как вы уничтожите gpt, потому что это источник, чтобы восстановить его с нуля:

    gpt -r show /dev/disk0
    
  • Затем удалите gpt:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • Создайте новую таблицу разделов GUID:

    gpt create -f /dev/disk0
    
  • Наконец добавьте все разделы один за другим:

    gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

    Подсказка : вы можете добавлять и удалять разделы в произвольном порядке, если сохраняете правильный порядковый номер. В приведенных выше командах я добавил третий раздел ( ... -i 3 ...) перед добавлением второго раздела ( ... -i 2 ...). Тогда вам не нужно размонтировать disk0, потому что разделы i = 1 и i = 3 не содержат автоматически смонтированных томов, в то время как второй раздел содержит.

    Я пропустил обнаружение неправильного типа раздела вашего Recovery HD (третий раздел с индексом номер 3) в первой части моего ответа. Поэтому я использовал:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    

    выше вместо неправильного

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD
    

    чтобы снова добавить его.

    Если вы все еще получаете ошибки, воспользуйтесь MBR fdisk. Если вы используете пользовательский администратор PREPEND sudoиспользуя fdisk ...команду .:

    fdisk -i -a hfs /dev/disk0
    

    и добавьте записи gpt с gpt ...изложенным выше.


Изменение размера основного тома, чтобы заполнить весь диск

Наконец, вы, вероятно, хотите изменить размер основного тома, чтобы заполнить весь диск.

  • Получить обзор с:

    diskutil cs list
    

    У вас может быть несколько групп логических томов CoreStorage, если вы загружаетесь с внешнего диска с полной системой! Используйте правильный!

  • Изменить размер всего стека:

    diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

    Загрузившись в Yosemite, вы можете использовать его 0gдля увеличения размера. 0g - это «волшебный» размер.

    diskutil cs resizeStack lvUUID 0g
    

    Загрузив El Capitan, вы должны использовать реальный размер, как 500g. Если вы получили ошибку, используйте немного меньший размер, как 499gили 499500m.

    diskutil cs resizeStack lvUUID 500g
    
klanomath
источник
1
Я все еще застрял. Во-первых, после выполнения «gpt delete -i 2 / dev / disk0» было сказано «gpt: unknown command: delete», поэтому я предполагаю, что мне нужно изменить «удалить» на «удалить». Но в последней команде, которую мне нужно выполнить, она сказала: «gpt add: / dev / disk0: error: нет места на устройстве»
LN
Я следовал вашей инструкции и опубликовал результаты в вопросе, спасибо
LN
Я следовал второй инструкции, к сожалению, я снова застрял с ошибкой «gpt add: / dev / disk0: error: нет основного заголовка GPT; запустите create или restore». Я добавил прогресс
LN
не беспокойтесь, я просто обновил свой прогресс. Похоже, я не мог избавиться от MBR
LN
1
Ну, это было бы полезно знать, когда такая же проблема случилась со мной несколько месяцев назад ... klanomath не перестает удивлять меня тем, как много он знает о macs. Я потерял все свои данные.
Flare Cat