答案1
首先要说的是:
如果您想要您的数据,请不要在尝试救援时对卡进行任何写入操作。
我朋友的 PC 上刚好也遇到了同样的问题,外置硬盘的卷条目损坏了,而且只显示几 MB,而不是 60 GB。这是因为他没有安全地从 PC 上移除驱动器。如果您的卡真的坏了,那么除了专业救援服务之外,没有什么能帮助您恢复数据。
步骤 1:打开终端窗口
只需按++ctrl即可打开终端窗口。altt
第 2 步:获取testdisk
testdisk
在普通的 Ubuntu 存储库中可用,因此只需通过以下方式安装它:
sudo apt-get install testdisk
步骤 3:通过以下方式拯救你的数据testdisk
将您的 SD 卡插入读卡器或插入您想要救援的驱动器,然后使用以下命令启动 teskdisk:
sudo testdisk
然后您将在终端窗口中看到以下内容:
在这里,您可以选择创建一个日志文件,我强烈建议您使用它来进行最终的故障排除。只需按 Enter 键,您将在终端中看到以下内容,您可以在其中选择要拯救的驱动器:
当然,您可以在屏幕截图中看到我的驱动器,因此您必须使用向上和向下箭头键导航到相应的驱动器,然后在底部选择,使用左右箭头键继续,然后按回车键。
接下来您将看到文件系统选择,如下面的屏幕截图所示:
在大多数情况下,它会在底部提示您选择哪种文件系统类型,选择它或将其设置为驱动器的相应类型。然后return再次点击继续。
在下一个菜单中(见屏幕截图)选择“高级”,您应该能够看到完整的分区(可能是卡上的第二个分区)。选择它并选择“列出”文件并备份它们。
然后您应该会看到驱动器上的目录结构,如下一个屏幕截图所示:
参见屏幕截图中的红色部分;这些是已删除的文件,您可以按 来选择隐藏它们h。现在按向上和向下箭头键导航到要恢复的文件/目录(您可以使用 Enter 切换目录或通过选择条目向上移动)..
。
要选择要复制/恢复的文件,请按 ,:相应行将标记为绿色,或按c复制单个文件。要复制所选内容,请按shift+ c。在这两种情况下,系统都会提示您另一个目录视图,您可以在其中导航到保存数据/文件的位置。导航到您想要保存这些数据的位置,然后再次按shift+c开始复制。
步骤 4:清洁 SD 卡
在您恢复所有数据后,是时候清理 SD 卡,以便再次充分利用它。为此,只需在您的终端中输入以下内容(确保您为卡选择了正确的卷,该卷sdb
在您的屏幕截图中,因此我在此处以此为例)
sudo dd bs=4m if=/dev/zero of=/dev/sdb
这可能需要一段时间才能运行,但之后 SD 卡上就什么都没有了,所以您应该能够使用读卡器使用它,只需再次格式化它即可。
答案2
当 SD 卡格式化为文件存储时,一小部分被保留用于配置文件。那一小部分就是你在那里看到的 32 mb 空闲空间。我没有足够的信息来说明你的问题,但听起来你遇到了类似的问题这篇 HowToGeek 文章。该文章中的 Raspberry Pi 和您的问题相同。引用文章中的一段话:
当我重新格式化卡时仅 64MB出原始容量可用,即使我进入 Windows 中的磁盘管理,我所能做的最好的就是转储无法访问(并且可能Linux 盛行) 分区。这让我得到了一个微小的 Windows 可访问分区和一个大幻影分区我无能为力。
我假设您正在使用 Windows 在 SD 读卡器上查看卡上的文件。如果是这样,那么您丢失的 32 GB 空间很可能是Linux 格式分区,Windows 无法看到。如果是这种情况,您可以获取 Ubuntu LiveCD,在计算机上启动它,运行 LiveCD 而不进行安装,然后将文件传输到 Windows 计算机。然后,您可以在 LiveCD 中重新格式化 SD 卡。
希望能帮助到你!
~ P
答案3
如果 SD 卡显示只有 32 GB,那么仅靠软件(Ubuntu/Linux 或任何其他操作系统)是无法解决这个问题的。
如果您需要卡上可能仍有的数据,请联系专业的数据救援公司,他们可能能够检查 SD 卡上的内存模块,而不必依赖卡上(明显有故障的)内存控制器芯片。
如果您不关心数据,只想要一张能用的 32 GB SD 卡,请编辑您的问题以澄清这一点。您的问题中也有一条评论,其中包含处理该问题的链接。