Відновлення корумпованого SSHD


3

У мене був старий 2011 року 13-дюймовий MPB з 250 Гб Samsung Evo 840 SSD і, використовуючи модуль розширення OWC, 1 Тб Seagate SSHD. На жаль, я розлила воду на цьому Mac, і вона згодом померла. Вчора я нарешті потрапила на отримання нового Mac. Я використовував Migration Assistant, щоб перенести всі мої файли з SSD, оскільки це був завантажувальний диск і диск з моїм обліковим записом користувача. Проте після цього я підключив 1 ТБ SSHD, але Mac дав мені цю помилку:

"Вставлений вами диск не був прочитаний цим комп'ютером"

Тому я відкрив Disk Utility і запустив First Aid, але безрезультатно.

Звичайно я дуже технічний і можу виправити майже все, але цього разу я думаю, що над головою. Будь ласка, допоможіть мені вирішити це, щоб я міг отримати мої файли з диска. Спочатку привід мав три розділи: 2 з них були GUID або HFS + (я не пам'ятаю ... я використовував rEFIt, якщо це має значення), а один був NTFS (мій Boot Camp розділ).

Ось знімок екрана, про який повідомляє Disk Utility:

Disk Utility SSHD

Disk Utility SSHD volume

Вихід diskutil list:

/dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *500.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1  
       2:          Apple_CoreStorage Macintosh SSD           499.4 GB   disk0s2  
       3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3  

/dev/disk1 (internal, virtual): 
       #:                       TYPE NAME                    SIZE       IDENTIFIER   
       0:                            Macintosh SSD          +499.0 GB   disk1  
                                 Logical Volume on disk0s2  
                                 F0B49497-24EC-4A50-818C-A7897F573B5D  
                                 Unencrypted  

/dev/disk2 (external, physical):  
       #:                       TYPE NAME                    SIZE       IDENTIFIER  
       0:     FDisk_partition_scheme                        *1.0 TB     disk2  
       1:                       0xEE                         1.7 GB     disk2s1  
       2:                  Apple_HFS                         998.5 GB   disk2s2  

Jons MacBook Pro:~ Jonathan$ gpt -r show disk2  
gpt show: unable to open device 'disk2': Permission denied  

Вихід sudo gpt -r show disk2:

gpt show: disk2: Suspicious MBR at sector 0  
gpt show: error: bogus map  
gpt show: unable to open device 'disk2': No such file or directory  

Вихід sudo fdisk /dev/disk2:

Disk: /dev/disk2    geometry: 15200/255/63 [244190646 sectors]
Sector size: 4096 bytes
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 -     409639] <Unknown ID>
 2: AF 1023 254  63 - 1023 254  63 [    409640 - 1175509584] HFS+        
 3: AF 1023 254  63 - 1023 254  63 [1176181368 -  292707720] HFS+        
*4: 07 1023 254  63 - 1023 254  63 [1469151232 -  484372480] HPFS/QNX/AUX

Якщо це допомагає, у мене це було підключено до мого старого ноутбука внутрішньо через SATA III і тепер я просто використовую зовнішній SATA на USB роз'єм (з його власним блоком живлення)
Jon B

Так, 601 був сховищем файлів, 150 було резервним копією машини, а 250 було розділом bootcamp. Але чому вона тепер не може бути прочитана моїм комп'ютером? Все, що я зробив, це перемістити його з мого старого Mac і підключити його до мого нового, щоб передати деякі файли. Як відновити його?
Jon B

Чи є диск постійно пошкодженим або він працюватиме, якщо його підключити до іншого кабелю та / або до іншого комп'ютера?
Jon B

Отже, як ви рекомендуєте мені звертатися до своїх розділів?
Jon B

Відповіді:


3

Ваш SSHD не пошкоджений у тому сенсі, що ви втратили будь-які дані, але частини таблиці GUID неможливо прочитати належним чином.

SSHD або втратив таблицю розділів GUID, або контролер USB / SATA у зовнішньому випадку повідомляє про розмір блоку пристрою 4096 байтів, тоді як диск має розмір блоку 512 байт. У випадку останнього ви повинні використовувати інший зовнішній корпус для монтування SSHD.

Загальний розмір GUID розміру пристрою на 512 байтах порівняно з GUID розміром 4096 байтів відрізняється таким чином:

             512 size number  4096 size number ("in block(512) numbers")
pMBR                1      0          1      0         0-7
Pri GPT header      1      1          1      1         8-15
Pri GPT table      32   2-33          4    2-5        16-47
1st "used" block          40                 6        48

Якщо ви встановите "512-байтове пристрій" у "4096 байтах", система очікує основний заголовок GPT в блоці (4096) 1 (який "переводить" до блоків (512) 8-15) і основну таблицю GPT блоки (4096) 2-5 (які "перекладається" на блоки (512) 16-47). Це не вдасться, оскільки первинний заголовок диска (512) знаходиться в блоці (512) 1, а первинна таблиця починається з блоку (512) 2.

Очевидно, що ви не можете переписати GPT (512) у GPT (4096), оскільки останній блок таблиці GPT (4096) буде перекривати перший використовуваний блок диска GPT (512).


Спробуйте відновити таблицю розділів GUID наступним чином:

  • Відкрийте Terminal.app і введіть наступні команди, щоб отримати огляд і основні дані для відновлення попередніх таблиць розділів, якщо наступні команди не виконуються:

    disktutil list
    diskutil info diskX | grep "Device Block Size" # with diskX: the disk identifier of the SSHD
    

    Якщо команда повертає: Device Block Size: 512 Bytes продовжити, якщо 4096 Bytes повідомляються Зупинись тут і отримувати зовнішній корпус на 512 байт:

    sudo gpt -r show diskX # with diskX: the disk identifier of the SSHD
    sudo fdisk /dev/diskX # with diskX: the disk identifier of the SSHD
    

    У вашому випадку diskX: disk2

  • Відключіть зовнішній диск (просто переконайтеся, що він відключений). Нижче я припускаю, diskX - це диск2:

    diskutil umountDisk disk2
    sudo gpt destroy disk2
    sudo gpt create -f disk2
    

    Тепер введіть sudo gpt -r show disk2 якщо створено нову таблицю розділів GUID. Це має виглядати так:

           start         size  index  contents
                0            1         PMBR
                1            1         Pri GPT header
                2           32         Pri GPT table
               34   1953525102
       1953525135           32         Sec GPT table
       1953525167            1         Sec GPT header
    

    Якщо ви отримали помилку або не було створено GUID pt, ви повинні примусово знищити MBR:

    sudo if=/dev/zero of=/dev/disk2 bs=512 count=1
    

    Команда безпосередньо перезаписує перший блок disk2 (MBR диска) нулями. Якщо введено неправильно (наприклад, без "count = 1" або неправильного ідентифікатора диска), він перезаписує весь диск. Наведена вище команда повинна завершуватися після мілісекунд. Якщо ні, введіть ctrl C щоб негайно зупинити команду.

    Потім повторіть:

    sudo gpt create -f disk2
    

    Перевірте, чи було успішно.

  • Додайте розділ один за одним у таблицю розділів GUID за допомогою gpt:

    Щоб додати розділ з gpt, використовуйте наступну команду

    sudo gpt -i index_number -b first_block -s size -t partiton_type diskX
    

    с index_number : ~ номер розділу; first_block і розмір в блоках (512 або 4096 блоків) і partiton_type: спеціальний GUID

    У вашому випадку це:

    sudo gpt -i 1 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk2
    sudo gpt -i 2 409640 -s 1175509584 -t 48465300-0000-11AA-AA11-00306543ECAC disk2
    diskutil umountDisk disk2
    sudo gpt -i 3 1176181368 -s 292707720 -t 48465300-0000-11AA-AA11-00306543ECAC disk2
    diskutil umountDisk disk2
    sudo gpt -i 4 1469151232 -s 484372480 -t EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 disk2
    
  • Тепер «втрачені» томи повинні з'явитися знову. Перевірте диск і томи з diskutil verifyDisk /dev/disk2, diskutil verifyVolume /dev/disk2s2 і diskutil verifyVolume /dev/disk2s3.
  • Відремонтуйте все, якщо необхідно - але повідомте про це перед початком ремонту.

Якщо у вас немає зовнішнього корпусу (512), але другого порожнього диска, принаймні 1 ТБ, ви повинні мати можливість відновити кожен розділ на диску2, додаючи кожен у окремий файл (наприклад, sudo dd if=dev/disk2 of=/Volumes/Disk3/efi.rawdevice bs=512 skip=40 count=409600 для копіювання розділу EFI) на порожній диск. Після того, як всі чотири розділи додані до зовнішнього тома, перерозподіліть диск2 належним чином і відновіть кожен з чотирьох файлів raw-пристроїв до свого "нового" розділу.


Команда gpt зазвичай записується лише до перших 34 і останніх 33 блоків і fdisk тільки до першого блоку на диску з розміром блоку 512 байт. Це не знищить або змінить ваші дані. Отже, все, що ви робите, є оборотним.


Дуже дякую! Він повернув "4096 байтів", тому я думаю, що проблема полягає в тому, як я її підключаю. Яке полегшення. Ще раз дякую вам!
Jon B
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.