我的 MacBook 不小心进水了,现在我主要要提取我的图像。
我使用存储设备管理器在我的固定电脑上安装了驱动器(HFS+ 格式)。
我可以浏览驱动器并复制 Mac 驱动器的 Picures 文件夹内某些目录的图片,但对于其他目录,例如包含三张图片的目录,运行时我得到以下内容ls -l
ls: cannot access DSC00001.JPG: Input/output error
ls: cannot access DSC00002.JPG: Input/output error
ls: cannot access DSC00003.JPG: Input/output error
ls: reading directory .: Input/output error
total 3
drwxrwxrwx 1 501 dialout 1957 2011-12-11 18:22 ./
drwx------ 1 501 dialout 82 2012-01-18 20:51 ../
-????????? ? ? ? ? ? DSC00001.JPG
-????????? ? ? ? ? ? DSC00002.JPG
-????????? ? ? ? ? ? DSC00003.JPG
...那么...这些文件都坏了吗,或者我能做些什么?
更新: 我尝试在文件上使用 ddrescue,但也出现了输入/输出错误。
答案1
首先,我强烈建议您尝试对损坏的驱动器进行完整的驱动器映像复制。您需要的硬盘至少与您尝试恢复的分区一样大。假设该驱动器的分区在 /dev 中列为 /dev/sda2,您可以将备份驱动器安装到(例如)/mnt/restore
从那里,您可以使用以下命令:dd bs=4096 if=/dev/sda2 of=/mnt/restore/sda2.img conv=noerror,sync
这将创建硬盘的一个映像,包括其“坏”块(如果有的话,听起来是存在的)。
接下来,断开驱动器;损坏的驱动器在使用过程中只会变得更糟。
接下来,您需要安装 testdisk:
sudo apt-get install testdisk
接受其对不受信任来源的请求(如果您愿意的话)。
最后,运行测试
从这里,您需要使用 testdisk 来查找和恢复文件:
testdisk /mnt/restore/sda2.img
菜单非常直观,但使用测试磁盘可能超出了这个“答案”的范围。下面是一个不错的起点:
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
http://www.howtoforge.com/data_recovery_with_testdisk
这些应该可以帮助您恢复文件,并且不会对您的硬盘造成不必要的损坏。一旦您从映像文件中恢复了尽可能多的文件,您就可以安全地删除它。然后,您可以尝试直接在损坏的驱动器上运行测试磁盘,并尝试仅恢复绝对丢失的文件。
祝你好运。
答案2
您可能需要确保已安装 hfsplus 包:sudo apt-get install hfsplus
不过,如果你能达到这一点,那么我相信你已经做到了。在这些情况下,通常的情况是硬盘驱动器在那时出现故障。你可能想检查dmesg | grep -i "I/O error"
任何输出。那里的任何输出几乎都肯定是磁盘故障。此外,如果你想要更多证据,你可以在“磁盘实用程序”中打开驱动器,然后单击“智能数据”按钮。检查你的“重新分配扇区数”和“寻道错误率”。或者你也可以只寻找红点。
如果这不能帮助解决您的问题,请告诉我。
附言:你让磁盘完全干燥了吗?
答案3
ddresucue
它不是用来读取单个文件的工具,它最适合用于将整个磁盘(也就是可读部分)复制到正常工作的驱动器上。然后,您可以尝试修复它,或者挖掘并提取文件,而不必担心驱动器即将损坏。