Running fsck.fat /dev/block/mmcblk0p1
, the device of my faulty SD Card, I get this:
fsck.fat 3.0.28 (2015-05-16)
Read 512 bytes at 0:Input/output error
Does this mean the files are permanently unreadable?
Running fsck
returns the following:
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
can't save anything. Output of 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
Update: The situation gets stranger. On my Windows machine, it seems like the entire SD card is readable. However, copying files is extremely slow, with occasional returns to regular transfer speed. I managed to copy files that I was mainly after (photos taken after my last backup) but after certain point Windows Explorer would not proceed in copying no matter how long I waited.
I went back to Ubuntu and to my surprise, fsck.fat
actually ran successfully. Running it several times gives some combination of the following: 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
is working well right now, so I will let it keep running for now.
Curiously it seems like hibernating and un-hibernating, or suspending and resuming, and waiting might let Ubuntu ddrescue
rescue a fair amount.