Запустив 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 Explorer не будет продолжать копировать независимо от того, как долго я ждал.
Я вернулся в Ubuntu и мое удивление, fsck.fat действительно успешно. Выполняя его несколько раз, вы получаете некоторую комбинацию из следующих: Has a large number of bad entries. (128/133), Free cluster summary wrong (42991 vs. really 43267), Orphaned long file name part, Contains a free cluster (144584). Assuming EOF., Start does point to root directory. Deleting dir. ddrescue работает хорошо прямо сейчас, поэтому я дам ему продолжить работать.
Любопытно, что это похоже на спячку и без спячки, или приостановку и возобновление, и ожидание может позволить Ubuntu ddrescue спасти справедливую сумму.