Відновлення даних з розділу, що відображається як FFFF


4

Як я можу отримати свої дані з розділу FFFF…, розміром ~ 350 Гб, виправивши таблицю розділів?

   977105059           1                     Sec GPT header
Riccados—MacBook—Pro:~ Riccado$ sudo gpt —r show /dev/disk0s2
       start        size        index        contents
           0   683645536
Riccados—MacBook—Pro:~ Riccado$ sudo gpt —r show /day/disk0
       start        size        index        contents
           0           1                     PMBR
           1           1                     Pri GPT header
           2          32                     Pri GPT table
          34           6
          40      409600             1       GPT part — C12A7328—F81F-11D2-6A46-00A0C93EC938
      409640   683645536             2       GPT part — FFFFFFFF—FFFF—FFFF—FFFF—FFFFFFFFFFFF
   684055176     1269536             3       GPT part — 48465300-0000-11AA—AA11-00306543ECAC
   685324712    49224610             4       GPT part — OFC63DAF-8483-4772-8E79-3D69D8477DE4
   734549322         694
   734550016     8073216             5       GPT part — 0657FD6D—A4AB-43C4-84E5-0933C84B4F4F
   742623232   233212248             6       GPT part — 53746F72-6167-11AA—AA11-00306543ECAC
   975835480     1269544             7       GPT part — 426F6F74-0000-11AA—AA11-00306543ECAC
   977105024           3
   977105027          32                     Sec GPT table
   977105059           1                     Sec GPT header 
Riccados—MacBook—Pro:~ Riccado$ diskutil unmountDisk /dev/disk1
Unmount of disk1 failed: at least one volume could not be unmounted 
Riccados—MacBook—Pro:~ Riccado$

Диск загалом становить 500 ГБ. 350 ГБ призначено для macOS, 120 ГБ для Windows і 30 ГБ для Ubuntu.

Сьогодні вранці, коли я прокинувся, я спробував завантажувати свій Mac, але він не завантажився успішно, оскільки він просто показує заборонний знак. Тому я спробував свіжого встановити macOS, натискаючи command ⌘- Rпри запуску Mac для переходу в режим відновлення. Але відображається лише перегородка Windows (120 ГБ), щоб перевстановити macOS замість оригінального розділу на 350 ГБ. Я перевстановив macOS на розділ розміром 120 ГБ. Тепер я не знаю, як відновити свої файли зі старого розділу ГБ 350 Гб. Усі вони на одному диску. Linux теж не завантажується.


Приклад того, як встановити Ubuntu без відключення захисту системної цілісності (SIP) та без використання rEFInd, можна знайти за адресою: Встановлення Ubuntu на Mac з уже встановленими macOS та Windows . У вашому випадку інструкції потребуватимуть модифікації, якщо ви все ще використовуєте Core Storage.
Девід Андерсон

Відповіді:


1

Другий розділ вашого внутрішнього диску отримав неправильний тип розділу, ваші дані, ймовірно, не будуть втрачені.

Завантажуваний розділ OS X (крім Recovery HD) або має GUID 48465300-0000-11AA-AA11-00306543ECAC для стандартного розділу X X, або GUID 53746F72-6167-11AA-AA11-00306543ECAC для розділу CoreStorage. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF - це невідомий тип розділу (але не такий розділ, як 000000-0000-0000 .... один).

Перший блок стандартного розділу X X не містить нульових значень, перший блок розділу CoreStorage містить деякі ненулі. Щоб отримати перші 3 блоки розділу, введіть sudo dd if=/dev/diskXsY count=3 | hexdump.

GUID можна змінити за допомогою gpt. Змінення таблиці розділів GUID за допомогою gpt вимагає зняти весь диск, що неможливо зробити, якщо ви завантажите його Recovery HD або інший об'єм завантаження на тому ж диску.


  • Завантажтесь у незалежну систему OS X / macOS, що забезпечує hexdump. Тут можна було завантажитися до Internet Recovery, оскільки диск містить другу систему OS X (disk0s6) з hexdump. (Інтернет) для відновлення в Інтернеті зазвичай не забезпечує шістнадцятковий завантаження.
  • Відкрийте термінал у меню Утиліти> Термінал
  • Ознайомтеся з оглядом diskutil list
  • Ознайомтеся з внутрішнім диском з ідентифікатором диска, знайденим у попередній команді. Нижче я припускаю, що ідентифікатором вашого внутрішнього диска є disk1 (замініть його на той, який ви знайшли у вашому оточенні)

    gpt -r show disk1
    
  • Відключіть disk1, diskutil umountDisk disk1якщо він завантажений на зовнішній диск / палець з повноцінною ОС X / macOS
  • hexdump перші 3 блоки розділу FFFF ...

    dd if=/dev/disk1s2 count=3 | hexdump
    

    або (залежно від обсягу завантаження)

    dd if=/dev/disk1s2 count=3 | /Volumes/2nd_SysVol_name/usr/bin/hexdump
    

    Наступний результат ідентифікує його як звичайний розділ OS X:

    0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
    0000410 d3 8c 77 d3 d4 33 3c b0 00 00 00 00 d3 8c 5b b3
    0000420 00 00 02 a8 00 00 00 25 00 00 10 00 00 fe b7 f6
    0000430 00 fe 1e fa 00 ed 80 00 00 01 00 00 00 01 00 00
    0000440 00 00 10 f2 00 00 5a 9d 00 00 00 00 00 00 00 01
    0000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000460 00 00 00 00 00 00 00 00 7d 9d b0 3a 02 31 62 f0
    0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
    0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
    0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
    00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
    00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000510 00 00 00 00 03 10 00 00 03 10 00 00 00 00 31 00
    0000520 00 03 ac 00 00 00 31 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000560 00 00 00 00 05 40 00 00 05 40 00 00 00 00 54 00
    0000570 00 00 10 00 00 00 54 00 00 00 00 00 00 00 00 00
    0000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000600
    

    Перше число - це кількість байтів у шістнадцятковій версії: 0000000: 0; 0000600: 1536. * позначає однакові лінії. Це означає: перші два блоки (0x000-0x3ff) - це нулі.

    Розділ CoreStorage показує деякі не нулі в першому блоці (0x000-0x1ff):

    0000000 0c 73 a1 a9 ff ff ff ff 01 00 10 00 07 14 d7 01
    0000010 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000030 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 00 20 c1 cc 0f 00 00 00 00 00 00 00 00 00 00 00
    0000050 00 00 00 00 00 00 00 00 43 53 01 00 00 00 04 00
    0000060 00 10 00 00 00 00 40 00 11 bc fc 00 00 00 00 00
    0000070 11 c0 fc 00 00 00 00 00 11 c4 fc 00 00 00 00 00
    0000080 11 c8 fc 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000a0 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00
    00000b0 62 02 98 59 ee a9 ab 51 9b 49 23 90 2e f8 8b 43
    00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000130 e4 6e f8 f2 63 99 45 c1 b2 13 86 28 a5 18 46 6d
    0000140 c4 51 c0 f6 32 f9 43 ab 8e 59 42 d2 1a ef f6 50
    0000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
    0000410 d1 98 a4 93 d4 33 8b d5 00 00 00 00 d1 98 88 73
    0000420 00 06 07 53 00 01 82 39 00 00 10 00 00 fb 6a 00
    0000430 00 c5 1c 55 00 25 73 c7 00 01 00 00 00 01 00 00
    0000440 00 0d e2 65 00 3e a2 fb 00 00 00 00 02 20 00 fb
    0000450 00 00 00 31 00 06 b9 ef 00 00 00 00 00 00 00 00
    0000460 00 00 00 00 00 00 00 31 fb 48 1e a0 6c 47 a2 9f
    0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
    0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
    0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
    00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
    00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000510 00 00 00 00 0e 40 00 00 01 30 00 00 00 00 e4 00
    0000520 00 00 10 00 00 00 e4 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000560 00 00 00 00 11 d0 00 00 01 30 00 00 00 01 1d 00
    0000570 00 02 80 00 00 00 72 00 00 13 30 97 00 00 13 00
    0000580 00 15 c5 aa 00 00 13 00 00 18 2d 23 00 00 13 00
    0000590 00 19 d8 fb 00 00 13 00 00 1b 76 cb 00 00 13 00
    00005a0 00 1c 34 70 00 00 13 00 00 1d 0e 4d 00 00 13 00
    00005b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000600
    

    Рядок, що починається з байта 0x130, показує UUID фізичного об'єму, рядок, що починається з байта 0x140, показує UUID групи логічного обсягу.

    Рядок 48 46 53 4a (= "HFSJ") у перших 16 байтах третього блоку ідентифікує об'єм HFS + Journaled.

  • Спочатку виправте розділ відновлення:

    diskutil umountDisk disk1
    gpt remove -i 3 disk1
    diskutil umountDisk disk1
    gpt add -i 3 -b 684055176 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk1
    
  • Тепер видаліть другий розділ:

    diskutil umountDisk disk1
    gpt remove -i 2 disk1
    diskutil umountDisk disk1
    

    повторно додайте розділ належним чином
    або звичайний розділ OS X

    gpt add -i 2 -b 409640 -s 683645536 -t 48465300-0000-11AA-AA11-00306543ECAC disk1
    

    або (якщо ви знайшли розділ CoreStorage)

    gpt add -i 2 -b 409640 -s 683645536 -t 53746F72-6167-11AA-AA11-00306543ECAC disk1
    
  • Нарешті перевірте / відновіть диск за допомогою diskutil verifyDisk disk1та / або diskutil verifyVolume disk1s2. Якщо потрібен ремонт, використовуйте ремонт (замість перевірки) як префікс у вищезазначених командах.


Якщо у вас немає тома OS X / macOS з hexdump, скористайтеся цією відповіддю: Як відновити / виправити розділ OS X?


0
  1. Відкрийте режим відновлення Інтернету за допомогою команди alt + + R.
  2. Перейдіть до Утиліти → Термінал.
  3. Перевірте на огляд диска

    gpt -r show /dev/disk0
    
  4. Видаліть непотрібні розділи (для мене я видалив розділи 4, 5 і 6)

    gpt remove -i 4 /dev/disk0 #removing partition 4 example
    
  5. Оскільки розділ 350 ГБ (розділ 2) - це розділ, який я хотів виправити як основний розділ ядра, я спершу видалив цей розділ за допомогою

    gpt remove -i 2 /dev/disk0
    

    а потім додав його до столу знову за допомогою

    add -b STARTBLOCK -s NUMBERofBLOCK -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

Гаразд, але в розділі 3 все ще є неправильний GUID.
Девід Андерсон

Як я можу це виправити? Розділ 3 - відновлення HD. Але тепер у моїй дисковій утиліті показаний лише мій основний диск на 350 ГБ [можливо, тому що я видалив розділи 4,5,6 (приблизно 150 Гб)]. Чи маєте ви будь-яке уявлення, як я можу додати відсутніх 150 Гб до своїх 350 ГБ, щоб я міг повернути свій диск 500 Гб?
Ріккадо

Відремонтуйте свій gpt запис для hd відновлення, а потім перевірте внутрішній диск. Потім спробуйте змінити розмір стека corestorage . Після затамування тома CS з linux / windows команда resizeStack часто виходить з ладу.
кланомат

Я б припустив, що зараз розділ "Відновити HD" відображається в додатку Finder. Це, мабуть, не відбудеться. Ви можете повторити процедуру, яку ви опублікували як відповідь, і змінити розділ 3 на 426F6F74-0000-11AA-AA11-00306543ECAC. Ви також повинні перевірити атрибут, але MacOS не дає команди для цього.
Девід Андерсон

Питання щодо втраченого простору вже багато разів задавались тут у Ask Different. Проблема в тому, що ці опубліковані відповіді не працюватимуть, поки ви не виправите GUID для розділу 3. Причина полягає в тому, що для повернення втраченого простору потрібно перенести розділ Recover в нижню частину диска, і зараз MacOS не вважає, що у вас є розділ Recovery.
Девід Андерсон

0

Я не можу сказати, чи був ваш другий розділ розділом Core Storage або звичайним розділом HFS. Я припускаю використання Core Storage.

Я рекомендую завантажити gdiskкоманду. Ця команда дозволить вам переглядати та змінювати атрибути розділу. MacOS не має команди, яка може дозволити користувачеві робити це.

Після завантаження ви можете викликати gdiskкоманду для редагування disk0, ввівши, як показано нижче.

sudo gdisk /dev/disk0

Вам потрібно буде внести такі зміни.

  • Тип для розділу 2 повинен бути 53746F72-6167-11AA-AA11-00306543ECAC. gdiskКоманда скорочує цей тип за допомогою коду AF05.
  • Тип для розділу 3 повинен бути 426F6F74-0000-11AA-AA11-00306543ECAC. gdiskКоманда скорочує цей тип за допомогою коду AB00.
  • Атрибути для розділу 3 повинні бути 0002000000000000. Це означає, що слід встановити лише біт 49.
  • Атрибути для розділу 7 також повинні бути 0002000000000000. Атрибути для всіх інших розділів повинні бути 0000000000000000.

Команда зміни типу є t. Команда змінити атрибути є a, але спочатку ви повинні перейти в експертний режим, ввівши команду x. wКоманда може бути використана для запису змін назад в drive`.

Примітка. Якщо ви зробили помилку, ви можете зробити аборт, gdiskне вносячи жодних змін, ввівши а controlC.

У випадку, якщо розділ 2 не використовує основне сховище, GUID повинен бути 48465300-0000-11AA-AA11-00306543ECAC. gdiskКоманда скорочує цей тип за допомогою коду AF00.

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