Answers:
我cp -Rfv sourcefile destinationfile
经常成功地使用。
cp =复制
R =维护文件层次结构
f =如果无法打开现有目标文件,请将其删除并重试
v =详细模式,显示进行过程中传输的文件
sourcefile =您要复制的数据
destinationfile =您要复制到的目录/驱动器
cp
手册(macOS):“在-R模式下,即使检测到错误,cp也将继续复制。”
2> error.log
尝试使用Gnu ddrescue-这是一个数据恢复程序,该程序在复制操作期间执行基于块的复制,但数据恢复已损坏。如果使用的是Homebrew,则可以通过在“终端”窗口中输入以下内容来获取OS X :
brew install ddrescue
关于arstechnica的指南介绍了如何使用ddrescue抢救发生故障的磁盘。确保您通读了指南,因为其中包含有用的信息。这是如何到达那里的要点。
使用找到驱动器diskutil list
。标识符列是您要查找的内容:
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *750.2 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS Macintosh HD 2 80.0 GB disk1s2
3: Apple_HFS Home 509.1 GB disk1s3
卸载有问题的磁盘:
diskutil unmount /dev/disk1s3
开始将磁盘恢复为映像的操作。确保将的位置Rescue.dmg
替换为所需的位置。
sudo /usr/local/bin/ddrescue -v -n -c 4096 /dev/disk1s3 Rescue.dmg Rescue.log
将映像恢复到新驱动器上:
sudo /usr/local/bin/ddrescue --force -v -c 4096 Rescue.dmg /dev/disk2s0 recovery.log
建议您还阅读ddrescue手册,通过运行来学习可用的选项man ddrescue
。
我喜欢使用rsync
以便将文件从损坏的源复制到功能目标:
rsync -auv --delete --ignore-errors /path/to/source/ /path/to/destination/
哪里:
-a
=“归档模式” =递归到目录,将符号链接复制为符号链接,保留权限,时间,组和特殊文件,还保留所有者(当所有者= root时)和设备(当所有者= root时)
-u
= 如果目标中对应的副本较新,则跳过源中的文件
-v
=详细输出
--delete
= 源中不存在的目标文件将被删除
--ignore-errors
=在复制过程中发生I / O错误时删除文件/目录
此Macworld提示建议使用dd进行逐位复制(忽略错误),然后在Finder中装入结果图像以恢复文件。我没有尝试过,但听起来可能可行。
该ditto
命令应该有效,我将ditto
与-v
verbose选项一起使用,以便您可以准确地看到导致复制内容错误的内容。
ditto
行不通。您为什么认为呢?
ditto
您可能会尝试运行SuperDuper并忽略带有io错误的文件(如果只有少数几个文件),并且您使用了智能更新功能,这是一种有效的方式来删除大部分数据。(我认为如果可以的话,最好使用dd命令)。
脚步:
如果仍然可以访问驱动器,并且可以看到文件“ hirrarchy”,但是由于错误而导致复制过程停止,则可以使用该Unstoppable Copier
程序。
--ignore-errors
下面的答案。