linux sdcard recovery fsck.vfat logical sector size is zero

install packages

apt install gddrescue testdisk rsync kpartx dosfstools

gddrescue create an image of sdcard

ddrescue /dev/sdX rescueimage.img logfile

testdisk repair broken vfat

testdisk rescueimage.img

kpartx access disk image’s partition

kpartx -a -v rescueimage.img

fsck vfat

fsck.vfat /dev/mapper/loop1p1

mount

mount /dev/mapper/loop1p1 /mnt

Have fun!