Як виправити зламані GPT, GUID та unmountable, томи без типу?


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.

Щоб відредагувати тип вмісту, потрібно завантажитися в режим відновлення Інтернету та використовувати його gpt. Додатково буде видалений четвертий розділ (можливо, "видалений" розділ). Перевірте, чи він не містить даних!

Підготовка:

  • Від'єднайте будь-який зовнішній диск (особливо ваш зовнішній накопичувач Time Machine)
  • Перезапустіть до режиму відновлення через Інтернет, натиснувши alt cmd Rпри запуску.

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

    Я рекомендую Ethernet, оскільки це надійніше. Якщо у вас обмежений доступ до WIFI і процес завантаження не вдається, просто перезапустіть свій Mac, поки не вдасться завантажити.

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

Видаліть четвертий розділ і змініть тип вмісту другого розділу

  • Завантажившись у режимі відновлення Інтернету, відкрийте утиліти → термінал у меню та введіть: 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 на наявність помилок
  • Закрийте програму Disk Utility і перезавантажте основний том

Додаток: Видалення впертого 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. Якщо ви використовуєте адміністратора, передбачте, 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
    

    Завантажившись на Ель-Капітан, ви повинні використовувати реальний розмір, як 500g. Якщо ви отримаєте помилку, використовуйте трохи менший розмір, наприклад, 499gабо 499500m.

    diskutil cs resizeStack lvUUID 500g
    

1
Я все ще застряг. По-перше, після виконання "gpt delete -i 2 / dev / disk0" він сказав "gpt: unknown команда: delete", тому я припускаю, що мені потрібно змінити "delete" на "видалити". Але в останній команді, яку мені потрібно виконати, вона сказала "gpt add: / dev / disk0: error: на пристрої немає місця"
LN

Я дотримуюся вашої інструкції та розміщую результати у запитанні, дякую
LN

Я дотримувався другої інструкції, на жаль, я знову застряг із помилкою "gpt add: / dev / disk0: error: немає первинного заголовка GPT; запустіть створення або відновлення". Я додав прогрес
LN

не хвилюйтесь, я просто оновив свій прогрес. схоже, я не міг позбутися MBR
LN

1
Добре, що було б корисно знати, коли ця сама точна проблема трапилася зі мною кілька місяців тому ... кланомат ніколи не не дивує мене тим, скільки він знає про маки. Я врешті-решт втратив усі свої дані.
Спалах Кота
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.