最小 SD 卡映像

最小 SD 卡映像

如果命令为 r复制SD卡

date; sudo sh -c 'pv /dev/mmcblk0 >pv sdcard.image'; date

如果将全新安装的 Raspbian 镜像安装在 128GB SD 卡上,则 sdcard.image 文件将为 128GB。假设全新安装 Raspbian 需要 10 GB 空间。大部分图像不包含数据(“空白空间”)。如果生成的图像:

  1. 尺寸最小(在任何压缩之前并且不复制“空白空间”)
  2. 可以安装到minimal SD-Card (16GB SD 卡或更大)

容量minimal SD-card是可以接受全新安装 Raspbian 的最小 SD 卡:因为没有 10GB SD 卡,所以下一个更大的尺寸 (16GB) 被定义为最小 SD 卡。

解决方案首选项是为了简单性和标准 Unix 命令(如果需要,则为脚本)。

这2个目标如何实现?明智的策略是否会确定 SD 卡上的数据量 (10GB) 并将磁盘参数更改为略大于 10GB 的磁盘大小:在本例中为 16 GB?

参考:

答案1

我会这样做:

  • 缩小分区在原始卡或其克隆副本上,以便使其(或所有分区,如果多个分区)适合目标大小。

    我建议使用gparted它具有图形用户界面,与命令行替代方案相比更用户友好且更安全。

    在这种情况下,我建议缩小到 15 GB(有一些余量小于标称大小 16 GB,因为某些驱动器稍微“尺寸不足”)。我会不是使大小尽可能小(10GB),因为在增加分区大小以使用剩余驱动器空间之前,这将导致系统难以或不可能运行。

  • 覆盖所有可用空间在带有零的文件系统中,因为它使压缩更加有效。

    我建议zerofreeblank对于具有 ext2、ext3 或 ext4 文件系统的分区,并使用以下命令创建文件dd对于其他文件系统,然后删除该文件blank。看man zerofree

  • 创建克隆的图像文件(如果你愿意的话可以压缩它)。

    gnome-disks我建议为此目的使用磁盘别名。它是一个具有图形用户界面的工具,与命令行替代方案相比更加用户友好且更安全。


如果您使用旧式 MSDOS 分区表,从映像克隆到与原始驱动器大小不同的目标驱动器后,管理会更容易。

使用 GUID 分区表(GPT)时,驱动器尾部的备份分区表会出现问题。创建 GPT 时,会在驱动器的头端创建主分区表,并在驱动器的尾端创建分区表的备份副本。当您克隆驱动器时,目标驱动器的大小几乎总是会略有不同,这意味着备份分区表要么根本不存在(当目标大小小于源时),要么被替换(不在源驱动器处)。尾端(当目标大小大于源时),这可以通过 修复gdisk,但更容易避免该问题并使用旧的 MSDOS 分区表。

答案2

从 google 得到这里,我只想提一下 Rufus 工具可以做到这一点,至少对于 Windows 来说是这样。

我刚刚对 64GB 的 SD 卡进行了镜像,创建的镜像文件大小为 3.56GB。使用 Rufus 再次将其闪存到 32GB SD 卡上,没有任何问题。

驱动器映像功能是隐藏的,您必须选择显示高级驱动器属性,然后在您选择驱动器的下拉菜单旁边会显示一个保存图标。然后给它一个名字,瞧! :) 这需要一些时间,但没有麻烦。

相关内容