几天前的晚上,我在一个外部的500 GB NTFS USB硬盘上创建了数据备份。然后,我格式化了我的计算机,重新安装了Ubuntu,并开始从外部HDD返回数据。
不幸的是,有些文件已经损坏,Ubuntu无法复制它们。如果我使用Windows 7登录,也会出现同样的问题。
磁盘实用程序智能地检测到“一些坏扇区”。
有些文件完好无损,但其他文件无法访问(也不能读取、复制.)虽然它们显示在海里,并显示正确的文件大小。
我能做些什么来恢复这些数据吗?我已经考虑过使用TestDisk,但是这个实用程序对于修复丢失的分区或已删除的文件似乎更有用。
我也曾考虑过使用ddrescue,以便我至少可以有一个低级别的磁盘副本,但我不知道如何利用它来恢复数据!
发布于 2012-06-10 08:43:34
问题解决了!我知道这与Ubuntu无关,但我认为这对其他人是有用的。
我发现窗口的chkdsk可以解决这个问题,这是因为Ubuntu不像Windows那样支持NTFS。运行这些任务花费了几个小时/天(只有激活了所有选项的Windows scandisk ),但最终我成功地恢复了99.98%的数据。
发布于 2015-06-14 17:36:52
相反,使用dd时,您应该使用一个更好地处理错误的工具,而不是用零填充错误。我遇到了很多次超时,这使得这个过程非常漫长和乏味。另一种选择是ddrescue,它会重试失败的扇区,而且从我的经验中跳过坏扇区的速度也会更快一些。
sudo apt-get install gddrescue sudo ddrescue -d -r3 /dev/sda1 test.img test.logfile这将在名为test.img的磁盘/dev/sda1的当前dir中创建一个映像。当然,您可以备份完整的驱动器,而不是单个分区。(r参数告诉它三次重试失败的扇区-不要忘记日志文件,否则将无法工作)resume还允许您中止/恢复这个非常好的过程。记住设置正确的块大小:如果在-b“直接模式”上出现错误,请设置-d“块大小”
创建一个要挂载映像和挂载映像的文件夹
sudo mkdir /mnt/mybackup
mount test.img /mnt/mybackup -o loop有关更多信息,请查看以下内容:https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html https://www.technibble.com/guide-using-ddrescue-recover-data/ https://apple.stackexchange.com/questions/39504/best-way-to-copy-all-files-ignoring-errors
发布于 2012-06-04 22:31:26
如果驱动器有不可读扇区,您可以选择使用dd来制作它的映像,迫使它忽略损坏的扇区,然后挂载该映像以读取有用的数据。
的映像
使用命令sudo fdisk -l标识您的USB磁盘,注意他的设备路径,它应该类似于/dev/sd[*],其中*是一个代表您的USB驱动器的字母。
当您确定要复制的驱动器的路径时,可以使用dd生成它的映像,并在读取数据失败后使用这些选项继续读取。
dd if=/dev/hd[*] of=/foo_path/foo_image conv=noerror,sync这将读取设备/dev/sd[*],将其输出到/foo_path/foo_image并忽略读取错误。/foo_path/foo_image不应该在您正在读取的同一个磁盘上。
因此,假设您使用了sudo fdisk -l,并且您发现您的USB驱动器是/dev/sdb,那么您就可以使用这些命令中的任何一个来生成图像,只需用/dev/sdb替换/dev/hd[*]即可。
您需要创建一个挂载点,让我们称其为/mnt/ddimage
sudo mkdir /mnt/ddimage现在将您刚刚创建的映像挂载到它上。
mount /foo_path/foo_image /mnt/ddimage -o loop您现在应该能够从克隆的驱动器映像中读取任何有用的数据。
https://askubuntu.com/questions/146524
复制相似问题