SD 卡已被识别但无法挂载“无法读取超级块”

SD 卡已被识别但无法挂载“无法读取超级块”

当我尝试查看 SD 卡上的文件时,我收到以下消息。

## Unable to access “16 GB Volume” ##
Error mounting /dev/mmcblk0p1 at /media/automat0n/6366-3430: Command-line `mount -t "vfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush" "/dev/mmcblk0p1" "/media/automat0n/6366-3430"' exited with non-zero exit status 32: mount: /dev/mmcblk0p1: can't read superblock

SD 卡用于我的相机,当它插入相机时,我可以查看它的所有文件和视频,所以我不相信 SD 已损坏。

我目前正在对 testdisk 进行分析,但不确定我还能做些什么来从卡中取出文件。我不想格式化卡并丢失数据。

任何帮助或建议都将不胜感激。

答案1

在尝试任何其他操作之前,请将整个设备复制到安全的地方:

sudo dd if=/dev/mmcblk0 of=/var/tmp/safeplace bs=1024k

如果dd出现错误,则可能是您的设备或机器中的读卡器出现问题。您是否尝试过在其他机器上读取它(我认为答案是“是”,所以请继续阅读!)

接下来尝试读取分区表:

sudo parted -l /dev/mmcblk0

分区类型是什么?

  1. 如果是 vfat,那么可能是超级块已损坏;尝试sudo fsck.vfat /dev/mmcblk0p1(检查手册页以了解选项)。

  2. 您实际上是在 Linux 机器上创建的吗?如果不是,那么可能是 exFAT 文件系统。尝试:

    sudo dd if=/dev/mmcblk0p1 bs=16 count=1 | hd
    

    看看前几个字节是否是“EXFAT”。如果是,则安装基于 fuse 的 exfat:

    sudo apt-get install exfat-fuse
    

    如果 GUI 无法自动识别,请尝试手动安装。

如果这仍然不起作用,那么,我们必须深入挖掘:)

答案2

就我而言,错误如下:

Error mounting /dev/mmcblk0p1 at /media/severin/1885-EB0E:
  Command-line `mount -t "exfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000...

(请注意exfat错误消息)

修复很简单,就像指定的这里

sudo apt-get install exfat-fuse exfat-utils

然后,我只需单击 Nautilus 中的设备,它就可以工作了。

相关内容