如果命令为 r复制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 卡或更大)
容量minimal SD-card
是可以接受全新安装 Raspbian 的最小 SD 卡:因为没有 10GB SD 卡,所以下一个更大的尺寸 (16GB) 被定义为最小 SD 卡。
解决方案首选项是为了简单性和标准 Unix 命令(如果需要,则为脚本)。
这2个目标如何实现?明智的策略是否会确定 SD 卡上的数据量 (10GB) 并将磁盘参数更改为略大于 10GB 的磁盘大小:在本例中为 16 GB?
参考:
答案1
我会这样做:
缩小分区在原始卡或其克隆副本上,以便使其(或所有分区,如果多个分区)适合目标大小。
我建议使用
gparted
它具有图形用户界面,与命令行替代方案相比更用户友好且更安全。在这种情况下,我建议缩小到 15 GB(有一些余量小于标称大小 16 GB,因为某些驱动器稍微“尺寸不足”)。我会不是使大小尽可能小(10GB),因为在增加分区大小以使用剩余驱动器空间之前,这将导致系统难以或不可能运行。
覆盖所有可用空间在带有零的文件系统中,因为它使压缩更加有效。
我建议
zerofree
blank
对于具有 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 卡上,没有任何问题。
驱动器映像功能是隐藏的,您必须选择显示高级驱动器属性,然后在您选择驱动器的下拉菜单旁边会显示一个保存图标。然后给它一个名字,瞧! :) 这需要一些时间,但没有麻烦。