大约一年前,我有一张 128GB 的微型 SD 卡,里面有我所有的重要文件和一堆我女儿的珍贵照片。有一天,我将一个 40GB 的文件夹从三星手机传输到 SD 卡上,以填补手机上的空白,但不知何故,在传输过程中,过程崩溃了,我的卡损坏了,或者其他什么原因,现在无法读取,每当我插入手机时,它都会要求我格式化它,每当我插入电脑时,我都会收到错误“/dev/mmcblk0:无法识别的磁盘标签”,据我所知,这意味着分区表已损坏或磁盘标签也已损坏。现在,我知道我可以使用“testdisk”恢复我的所有照片,但是我以前使用过它,这非常烦人,因为我最终得到了大约 1000 个文件夹,并且根本没有组织起来,所以我想知道是否有更好的方法来恢复我的数据,我也尝试使用 gparted,但他们的“尝试数据救援”已经扫描 SD 卡大约 4 个小时而没有结果,所以我想知道是否有人知道在终端上执行此操作的命令,如果可能的话。
答案1
有时,我可以unrecognised disk label
通过重置分区类型fdisk
,然后复制数据来暂时解决(坏分区)错误。这可能如果 MMC 卡的问题在于文件索引不完整,那么它可以为您工作。
就是这样:
将卡插入读卡器
打开终端(如果尚未打开)
列出可用的设备:
sudo fdisk --list
这将给你一个很长的列表和类似这样的内容:
Device Start End Sectors Size Type /dev/mmcblk0p1 2048 62332927 62330880 29.7G unknown
笔记:上面的例子来自我自己的一张卡片。你的卡片可能有所不同。
已
fdisk
使用设备:sudo fdisk /dev/mmcblk0p1
按T更改分区类型。如果您有多个分区(SD 卡不太可能),系统会询问您要修改哪一个。
笔记:如果
fdisk
抱怨分区不好或者不存在分区,那么这个答案中的其余观点就无关紧要了。只要到目前为止一切顺利,您就会看到这样的消息:
Partition type (type L to list all types):
进入
0b
。笔记:许多 SD 卡默认使用 FAT32,因为任何操作系统都可以读取此文件系统。FAT32 是
0b
。如果您的卡被格式化为其他格式,请确保选择正确的分区类型。按L将提供完整列表。按下P以检查分区是否显示为 FAT32(或正确的类型)
按 将W更改写入设备,然后Q退出
fdisk
只要足够多的文件索引保持完整,您现在就可以访问 SD 卡的内容。