SD 卡 I/O 错误

SD 卡 I/O 错误

运行fsck.fat /dev/block/mmcblk0p1我的故障 SD 卡的设备,我得到以下信息:

fsck.fat 3.0.28 (2015-05-16)
Read 512 bytes at 0:Input/output error

这是否意味着这些文件永远无法读取?

运行fsck返回以下内容:

e2fsck: Attempt to read block from filesystem resulted in short read while trying to open /dev/mmcblk0p1
Could this be a zero-length partition?

ddrescue无法保存任何内容。输出df

Filesystem     1K-blocks     Used Available Use% Mounted on
udev             4002028        0   4002028   0% /dev
tmpfs             805008     9496    795512   2% /run
/dev/sda5      176456296 55779936 111689840  34% /
tmpfs            4025024   598760   3426264  15% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs            4025024        0   4025024   0% /sys/fs/cgroup
/dev/sda1          98304    51376     46928  53% /boot/efi
tmpfs             805008       92    804916   1% /run/user/1000
/dev/mmcblk0p1  15343104 13967392   1375712  92% /media/qwr/9016-4EF8

更新:情况变得更奇怪了。在我的 Windows 机器上,似乎整个 SD 卡都可以读取。但是,复制文件的速度非常慢,偶尔会恢复到正常的传输速度。我设法复制了我主要想要的文件(上次备份后拍摄的照片),但过了一段时间,无论我等多久,Windows 资源管理器都无法继续复制。

我回到 Ubuntu,令我惊讶的是,它居然成功运行了。运行几次后,出现了以下几种情况:,,,,,现在fsck.fat运行Has a large number of bad entries. (128/133)良好,所以我暂时让它继续运行。Free cluster summary wrong (42991 vs. really 43267)Orphaned long file name partContains a free cluster (144584). Assuming EOF.Start does point to root directory. Deleting dir. ddrescue

奇怪的是,似乎休眠和取消休眠,或暂停和恢复,以及等待可能会让 Ubuntuddrescue拯救相当多的事情。

答案1

通常,I/O 错误意味着系统遇到了不可恢复的硬件错误。I/O 错误卷上的任何文件都应视为丢失。

话虽如此,数据恢复仍然是可能的(尽管有点困难)。幸运的是,有一些实用程序可以帮助您:

  • ddrescue
    Ddrescue 是一款特殊的实用程序,可用于从故障卷中读取尽可能多的数据。如果您运行此程序,我强烈建议您写入映像文件,并以此为基础进行任何其他恢复操作(如果有的话)。
  • photorec
    虽然它的名字暗示它只用于照片,但photorec如果有机会,它通常可以用来从驱动器中恢复更多内容。它可能无法从设备的任何错误扇区恢复数据,但它可能能够挽救一些东西。
  • dd
    DD(幽默地称为艾塔estroyer 是大多数(如果不是全部)现代 Linux 系统的内置实用程序。最坏的情况下,您可以尝试使用它dd来制作闪存驱动器的映像,这可能会让一些更高级的恢复工具(或文件管理器)成功运行。确保您正确指定了命令,否则您将学到完全为什么这被称为数据毁灭者。

如果无法恢复,你可能可以使用dd和其他实用程序将整个磁盘覆盖为零来恢复卡。众所周知(在极少数情况下)这实际上可以使驱动器恢复运行(尽管在此过程中会丢失驱动器的内容)。但是,几乎总是最好换一个新的驱动器。一旦驱动器发生故障,它就会失去它曾经拥有的任何信任。

相关内容