分区图重建


4

我有一个不再挂载的外部硬盘。我想我将所做的所有研究和尝试都搞砸了。我有关于此硬盘的重要信息,我真的很害怕丢失它。

我试过了:在外部HDD上重建分区表-不可写,但是遇到问题:

sudo pdisk /dev/rdisk1
pdisk: No valid block 1 on '/dev/rdisk2' Edit /dev/rdisk2 - Command (? for help):

我尝试使用Disk Drill进行扫描,但似乎有数据,但尝试恢复一些文件后,无法打开它们。它们有大小,但我无法打开它们。

我试过修复盘:

diskutil repairdisk /dev/disk2
Repairing the partition map might erase disk2s1, proceed? (y/N) y
Started partition map repair on disk2
Checking prerequisites
Checking the partition list
Problems were encountered during repair of the partition map
Error: -69770: Partition map check failed because no slices were found

我试过测试盘,在快速搜索之前我得到了他:

Bad MAC partition, invalid block0 signature read_part_mac: bad DPME signature

快速搜索后,这是我的结果 在此处输入图片说明

还尝试了:

pdisk: No valid block 1 on '/dev/rdisk2' Edit /dev/rdisk2 - Command (? for help):

更新:

我没有使用pdisk,而是尝试了gpt。结果sudo gpt -r show /dev/disk3是:

       start       size  index  contents
           0          1         PMBR
           1          1         Pri GPT header
           2          4         Pri GPT table
           6         34         
          40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      409640  243781000         
   244190640          4         Sec GPT table
   244190644          1         Sec GPT header

我已将硬盘更改为Firewire 800机箱

结果sudo gpt -r show /dev/disk2是:

       start        size  index  contents
           0           1         PMBR
           1  1953525167         

更新2

尝试找到EFI起始块:

去抵消40

转到偏移量320

Answers:


3

磁盘丢失了其GUID分区表,并且EFI卷被部分覆盖。磁盘已安装在无法正确报告512字节逻辑块大小的机柜中。而是使用4096字节。磁盘本身的物理块大小为4096字节。

在尝试了一些已知但实际上不成功的方法(例如Disk Warrior或在stackexchange上回答:HFS +无效数量的分配块以恢复磁盘)后,我们将大小相等的磁盘格式化,dded将EFI卷格式化为临时文件,并恢复了分区表(包括使用与格式化空磁盘相同的标准值。

先前已分区(空)磁盘的EFI使用以下命令保存到文件中:

diskutil unmountDisk /dev/disk2
dd if=/dev/disk2s1 of=/Users/user/Desktop/disk2s1.raw

修复损坏的磁盘:

部分“修复”但损坏的GUID分区表最初看起来像这样

sudo gpt -r show disk2 
    start        size  index  contents
        0           1         PMBR
        1           1         Pri GPT header
        2           4         Pri GPT table
        6          34        
       40      409600    1    GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640   243781000        
244190640           4         Sec GPT table
244190644           1         Sec GPT header

使用以下方法删除EFI分区后:

sudo gpt remove -i 1 /dev/disk2

并重写GUID分区表

sudo gpt destroy /dev/disk2
sudo gpt create /dev/disk2

EFI卷和主卷添加了:

sudo gpt add -b 6 -i 1 -s 76800 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk2
sudo dd if=/Users/user/Desktop/disk2s1.raw of=/dev/disk2s1
sudo gpt add -b 76806 -i 2 -s 244081066 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk2

磁盘和主卷已验证:

diskutil verifyDisk /dev/disk2
diskutil verifyVolume /dev/disk2s2

最后,磁盘如下所示:

sudo gpt -r show disk2 
    start        size  index  contents
        0           1         PMBR
        1           1         Pri GPT header
        2           4         Pri GPT table
        6       76800      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    76806   244081066      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
244157872       32768
244190640           4         Sec  GPT  table
244190644           1         Sec  GPT header

已恢复所有数据。


我的磁盘有类似问题,但我不明白您从哪里获得卷值48465300-0000-11AA-AA11-00306543ECAC

@Gush请问一个单独的(新)问题,而不要编辑已删除的无人回答!您可以在此处参考问题和答案。
klanomath

0

如果这是有价值的数据,我建议您去驱动器恢复服务。根据损坏情况,可能低至500美元。有些地方会免费为您估算。您可以在HDD Guru论坛上四处询问有关您所在地区的恢复服务的信息。

如果您仍然想自己执行此操作,而又不担心丢失数据,那么我将尝试恢复尽可能多的扇区ddrescue并将其写入映像文件。即

sudo ddrescue /dev/diskXsX /path/to/disk_image /path/to/log_file

您可以ddrescue使用MacPorts或类似的软件包管理器。请记住,根据对磁盘造成的损坏,您尝试读取类似内容的时间越长ddrescue,磁盘可能遭受的损害就越大。

恢复尽可能多的数据后,请ddrescue尝试在恢复的映像上修复文件系统或将其刮取为文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.