如果要复制 SD 卡的命令:
date; sudo sh -c 'pv /dev/mmcblk0 >pv sdcard.image'; date
将全新安装的 Raspbian 安装在 128GB SD 卡上,然后 sdcard.image 文件将是 128GB。假设全新安装 Raspbian 需要 10 GB 空间。大多数图像将不包含数据(“空白空间”)。如果生成的图像:
- 尺寸最小(在任何压缩之前,而不是复制“空白空间”)
- 可以安装到
minimal SD-Card
(16GB SD 卡或更大)
容量是可以接受全新安装 Raspbian的minimal SD-card
最小 SD 卡:因为没有 10GB 的 SD 卡,所以下一个更大的尺寸(16GB)被定义为最小的 SD 卡。
解决方案首选项是为了简单和标准的 Unix 命令(必要时使用脚本)。
2个目标如何实现?一个明智的策略是确定 SD 卡上的数据量(10GB)并将磁盘参数更改为略大于 10GB 的磁盘大小:在这种情况下为 16GB?
参考:
我会这样做:
缩小原始卡上的分区,或者它的克隆副本,以使其(或所有分区,如果超过一个)适合目标大小。
我建议使用
gparted
具有图形用户界面的哪个,与命令行替代方案相比,它对用户更友好、更安全。在这种情况下,我建议缩小到 15 GB(与标称大小 16 GB 相比有一些余量,因为有些驱动器稍微“尺寸过小”)。我不会使大小尽可能小(10GB),因为在增加分区大小以使用剩余驱动器空间之前,这会使系统难以或不可能运行。
用零覆盖文件系统中的所有可用空间,因为它使压缩效率更高。
我建议
zerofree
使用 ext2、ext3 或 ext4 文件系统的分区,并为其他文件系统创建一个文件blank
,dd
然后删除该文件blank
。见man zerofree
。创建克隆的图像文件(如果您愿意,可以压缩它)。
gnome-disks
为此,我建议使用 Disks 别名。它是一个具有图形用户界面的工具,与命令行替代品相比,它更加用户友好和安全。如果您使用旧样式的 MSDOS 分区表,则在从映像克隆到与原始驱动器不同大小的目标驱动器后,事情会更容易管理。
使用 GUID 分区表 GPT,驱动器尾部的备份分区表会出现问题。创建 GPT 时,在驱动器的头端创建主分区表,在驱动器的尾端创建分区表的备份副本。当您克隆一个驱动器时,目标驱动器的大小几乎总是至少略有不同,这意味着备份分区表要么根本不存在(当目标大小小于源时),要么被替换(不在尾端(当目标大小大于源大小时)。这可以用 修复
gdisk
,但更容易避免该问题并使用旧的 MSDOS 分区表。