如何将分区表从一个相同的磁盘复制并写入另一个磁盘?

Har*_*a K 3 linux sd-card partitioning raspberry-pi

我有几十个 Raspberry Pi,用作家庭实验室实验的一部分。我在一个 Pi 上创建了一个 Rasbian(Debian 的 Pi 特定版本)的安装,我想将它传播到 Pis 的其余部分。

Pis 使用 MicroSD 卡(其中我购买的所有卡都是相同的 8GB 容量和相同的型号)。以前,我使用 dd 创建“金牌大师”MicroSD 卡的映像,但是这需要很长时间,因为它会生成 8GB SD 卡的逐字节映像并且必须将其全部写入(即使卡上的总已用空间可能是 300 兆或更少)。

有3个分区;一个引导分区(包含内核)、一个根文件系统分区(包含大部分操作系统)和第三个特殊分区。

而不是使用 dd,我想知道是否有可能将分区表复制到文件,将分区表写回新的 SD 卡,然后使用我可信赖的 rsync 命令将数据本身复制回每个划分。

这可能吗?或者我最好只使用 parted 并尝试编写脚本来复制分区表?

谢谢!

Dam*_*lli 5

即使你明确询问“ ......复制并编写分区表...... ”,我认为你真的想要:

  • 将您的黄金主映像克隆到其他全新的、相同的 SD 卡:
  • 避免“dd-ing”整个 8GB 源 SD 卡,因为它只包含 300 MB 的数据。

在这种情况下,有“dd”的替代方案,可以完全满足您的需要:磁盘克隆,但要考虑文件系统属性/结构/边界。

其中一种替代方法是partimage [1]:“ ...它将具有支持的文件系统的分区以扇区为基础保存到映像文件中 [...] Partimage 将仅从分区的已使用部分复制数据......

请注意,partimage也可以在客户端-服务器网络环境中使用,并且它包含在多个 live-linux-CD 中,例如SystemRescueCD [2](以便更轻松地克隆系统磁盘的过程)。

您可能想要检查的另一个工具是FSArchiver


[1] http://www.partimage.org/Main_Page

[2] http://www.sysresccd.org/SystemRescueCd_Homepage


PS:很抱歉没有发布其他相关网址,但是...这是我的第一个答案,我不能包含超过 2 个网址