我不小心使用Mac OS中的“磁盘工具”将外部1TB HD格式化为FAT文件系统。该磁盘曾经被HFS +加密。当我创建OS X Extended分区时,没有使用File Vault进行加密。
有机会完全恢复任何数据吗?我可以以某种方式恢复分区信息并重建表吗?
我不小心使用Mac OS中的“磁盘工具”将外部1TB HD格式化为FAT文件系统。该磁盘曾经被HFS +加密。当我创建OS X Extended分区时,没有使用File Vault进行加密。
有机会完全恢复任何数据吗?我可以以某种方式恢复分区信息并重建表吗?
Answers:
在某些情况下,将磁盘格式化为FAT32卷后,可以恢复已删除的外部HFS +加密卷:
如果未将任何内容写入FAT32卷,则不应覆盖这些部分。
要恢复加密的卷,您必须使用终端并做一些数学运算。
打开终端并输入:
diskutil list
获取概述和外部磁盘的磁盘标识符。下面我假设磁盘标识符是disk1
sudo dd if=/dev/disk1 of=/Volumes/BackupVolume_Name/disk1.bin
以防万一出问题或将来使用高级恢复工具进行备份。现在使用以下命令获取磁盘的分区表:
sudo gpt -r show /dev/disk1
您应该得到与此类似的结果:
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 2008
411648 133804032 2 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
134215680 2015
134217695 32 Sec GPT table
134217727 1 Sec GPT header
第一个分区是EFI卷,第二个分区是外部磁盘的FAT32卷。分区2比示例中的分区大得多。
即使您获得没有GUID分区表但只有MBR的其他输出
start size index contents
0 1 MBR
1 1
2 134217726 1 MBR part 11
您可以继续:使用FileVault加密磁盘需要一个GUID分区表-因此您的磁盘以前有一个。但是,使用MBR在磁盘上恢复FAT卷的可能性似乎要低得多。显然,部分(即某些元数据和卷标头)可能会被FAT32文件系统内容覆盖。
包含加密的外部HFS +卷的同一磁盘应如下所示:
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-BA4B-00A0C93EC93B
409640 133545904 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
133955544 262144 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
134217688 7
134217695 32 Sec GPT table
134217727 1 Sec GPT header
第一个分区是具有固定大小和起始块的EFI分区,第三个分区是具有固定大小和起始块的Apple_Boot分区,相对于磁盘的最后一块以及分配给加密的Core Storage Logical Group的剩余磁盘空间。所有分区都与磁盘的物理块大小(4096字节)对齐。
要恢复旧的分区表,您必须卸载磁盘,删除实际的分区表并做一些数学运算以创建一个新的分区表:
diskutil umountDisk /dev/disk1
sudo gpt destroy /dev/disk1
diskutil umountDisk /dev/disk1
sudo gpt create -f /dev/disk1
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk1
现在获取磁盘的最后一个块号(在我的示例中为134217727),然后减去262183:LastBlockNumber-262183是第三个分区(Apple_Boot)的起始块。使用以下方法添加该分区:
gpt add -b LastBlockNumber-262183 -i 3 -s 262144 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk1
使用以下方法检查分区1和分区3之间未分配的磁盘空间的大小:
sudo gpt -r show /dev/disk1
索引1和索引3之间的未分配磁盘空间(UnAlloc)的大小可能是旧加密卷的大小。大小必须被8整除-请检查此内容!使用以下命令将其添加为分区:
gpt add -b 409640 -i 2 -s UnAlloc -t 53746F72-6167-11AA-AA11-00306543ECAC disk1 #with UnAlloc= size of unallocated disk space found above
输入最后一条命令后,将要求您输入加密磁盘的密码。如果没有,请尝试:
diskutil cs list
获取CoreStorage项目列表。尝试通过以下方式挂载加密卷:
diskutil cs unlockVolume LVUUID
与LVUUID:加密的逻辑卷的UUID(通常是列出的最后一个)。如果您的主卷也已加密,请选择正确的LVUUID!
如果成功挂载该卷,则将最重要的文件和文件夹保存到一个外部卷中,因为挂载加密的卷并不一定意味着该卷没有损坏。
卸载卷并运行diskutil verifyDisk /dev/disk1
和diskutil repairDisk /dev/disk1
。最后一条命令可能会完全损坏磁盘!
这可能仍然失败。不过,加密后的卷仍然可以恢复。但是然后我需要更多信息,因为特殊的(不可见的)非文件系统项必须使用HexEditor直接从磁盘读取,然后进行还原/替换。
我按照上面Klanomath的答复成功恢复了Macintosh HD。我曾尝试从ubuntu(Bootcamp)调整它的大小,然后完全停止看到我的Macintosh HD分区。我曾尝试过数篇文章和工具来编写和重写分区表,但均未成功,因此我放弃了。我按照帖子中的步骤5到8进行了操作。
我做了#5,并假设我的EFI会从40开始,并且具有相同的大小409600。以下来自恒星恢复的屏幕截图显示,高级的交易量是从40开始的,这给了我一些希望,我的EFI至少在同一部门开始。 我的机器结果:
diskutil umountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
sudo gpt destroy /dev/disk4
diskutil umountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
sudo gpt create -f /dev/disk4
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk4
disk4s1 added
对于#6,这是我机器的输出:
$ sudo gpt -r show /dev/disk4
Password:
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-BA4B-00A0C93EC93B
409640 976695387
977105027 32 Sec GPT table
977105059 1 Sec GPT header
我有硬盘的最后一块(977105059),现在应该是我的第三个(最后一个)分区,该分区的大小应从末尾减去?(我记得我曾经有一个Recovery磁盘,除了Macintosh HD之外还有一个ubuntu磁盘。此外,testdisk向我展示了数十个丢失的恢复分区,我根据它们的大小猜测,但是我无法在它们之间进行选择)。因此,我再次参考了上面的屏幕截图(恒星恢复)。在这一点上,我已经看到并知道一个Mac Recovery HD大约为600ish MB,因此上面的屏幕截图中有一些候选对象。根据这篇文章,起始扇区必须能够完全除以8,后者只能用于屏幕快照中的“丢失的卷6”。
这样就给了我一个开始的领域(975835488),但是大小呢?好吧,从几天前测试磁盘扫描结果的一些屏幕截图(向我显示了数十个丢失的恢复磁盘分区)中,我注意到,尽管它们的所有起始扇区都不同,但是它们的大小相同,即1269536(请参见下面的屏幕截图) )。这使我充满信心,这对于Mac Recovery HD来说是正确的大小(以扇区为单位)。 因此,我运行了以下命令(使用起始扇区:975835488,扇区大小:1269536)
gpt add -b 975835488 -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk4
disk4s3 added
对于#7,显示'gpt -r show'的最新状态:
$ sudo gpt -r show /dev/disk4
Password:
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-BA4B-00A0C93EC93B
409640 975425848
975835488 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
977105024 3
977105027 32 Sec GPT table
977105059 1 Sec GPT header
在这一点上,我当时想,“哦,好吧,所以我的分区表看起来与帖子中那个家伙的略有相似,但这显然不会做任何事情”。
那时大约是凌晨2点,我只想完成所有步骤以丢弃另一篇帖子,因为“我也尝试过”。所以我有点想解决这个问题,但仍想弄清楚这些数字。
因此,现在对于#8,在我的上一个屏幕截图中,975425848是该大小,而409640是该分区的起始扇区,该分区应该位于中间(又名Macintosh HD)。因此,我仍然没有多大希望,继续执行以下命令:
gpt add -b 409640 -i 2 -s UnAlloc -t 53746F72-6167-11AA-AA11-00306543ECAC disk4
usage: gpt add [-b lba] [-i index] [-s lba] [-t uuid] device ...
糟糕,实际上我必须写上“ UnAlloc”的大小。我从家伙的评论中错过了这一点:UnAlloc =上面找到的未分配磁盘空间的大小
第二次尝试:
gpt add -b 409640 -i 2 -s 975425848 -t 53746F72-6167-11AA-AA11-00306543ECAC disk4
disk4s2 added
这次命令花了几秒钟来产生输出,这让我心跳加速。产生结果(添加了disk4s2)后,它要求我输入“ Macintosh HD”的密码,输入要记住的密码后,我跳到座位上,瞧瞧,磁盘出现了,所有我的数据!
经过4天的努力和疯狂,我失去了所有工作和照片库,我简直不敢相信它能奏效。谢谢,克拉诺玛斯。谢天谢地。
ps我在另一台Mac上完成了所有这些操作,而原始Mac通过目标磁盘模式下的雷电连接到了Mac。Stellar Recovery软件也在Mac上执行,而测试磁盘结果来自原始Mac上的ubuntu live CD(尽管我确信我也可以在第二台Mac上运行testdisk,尽管速度较慢)
要破坏硬盘驱动器加密,应使用终端格式化磁盘或破坏加密算法。两种情况都将导致在Mac硬盘驱动器上创建新的文件结构,并导致数据丢失。
有机会完全恢复任何数据吗?
我想唯一的机会就是数据恢复软件了。我发现了这篇文章如何加密,解密和恢复Mac硬盘?。它可能会帮助您。
我可以以某种方式恢复分区信息并重建表吗?
磁盘格式化后,硬盘驱动器表是否损坏?将其重新格式化为HFS,以便生成新的分区表。