创建 ext2 分区后,8 GB SD 卡仅显示 6.47 GB;如何恢复丢失的空间?

创建 ext2 分区后,8 GB SD 卡仅显示 6.47 GB;如何恢复丢失的空间?

我有一张 8 GB 的 SD 卡,我在其上创建了一个 1 GB 的 ext2 分区。当我稍后格式化该卡时,该卡的容量显示为 6.47 GB。

我该如何恢复丢失的空间?

答案1

Windows 本身不支持可移动媒体上第一个分区之后的卷。为了让 Windows 识别“缺失”的空间,必须删除任何其他分区。解决此问题的简单方法是擦除 SD 卡上的分区表,以便重新初始化它。

  • Windows 显示的 SD 卡正确大小应为 7.45 GiB 左右。看来您在 SD 卡末尾创建了 ext2 分区,但 Windows 会忽略该分区。因此,SD 卡的实际大小比应有的大小少了约 1 GiB。

  • 在 Linux 下,尝试使用dd清空分区表:dd if=/dev/zero of=<device> bs=4096 count=1024。请确保选择正确的设备,因为这将清除目标设备上的所有数据。使用原始设备,而不是其分区之一(例如/dev/sdc,不是/dev/sdc1);否则,这不会清除分区表。

  • 一旦分区表被擦除,您可以在任何分区实用程序中重新初始化它。

或者,可以使用第三方分区实用程序或 Linux 虚拟机来纠正卡上的分区。

  • 第三方分区程序,例如Paragon 分区管理器可以用来简单地删除 ext2 分区并调整主分区的大小以填充卡。(注意:我与 Paragon Software 没有任何关系。

  • 如果虚拟机可以直接、低级地访问设备,则也可以使用运行 Linux 的虚拟机来操作卡上的分区表。同样,您需要删除 ext2 分区并扩展主分区以填充驱动器。虚拟盒可用于此目的。

  • 使用第三方软件(或dd在 Linux 下),您可以将分区读入磁盘映像,以便卷可以独立于闪存驱动器自行安装。这样,您就可以在从驱动器中删除分区之前保存分区上的数据。

答案2

尝试重写分区表。您可以使用 fidsk 工具或 gparted。我推荐 gparted,因为它支持许多分区表。

相关内容