全志 H3 armbian 备份

在一台 H3(全志 H3,ARM 开发板) 上已经安装并配置好 Debian / Armbian

现在希望完整克隆到另一台同型号的设备上,系统、配置、软件、数据都保持一样。


🧩 一、推荐方案:用 dd 做整盘镜像克隆(最完整)

🔧 适合:目标设备与原设备硬件完全相同(H3 同型号主板)。

💾 优点:系统、分区、引导、配置全部克隆,一模一样。


🔹 步骤:

1️⃣ 把源设备的系统盘插到电脑(或通过USB转接)

假设系统盘是 /dev/mmcblk0/dev/sda

2️⃣ 创建镜像文件(在 Linux 主机上):
bash 复制代码
sudo dd if=/dev/mmcblk0 of=/mnt/backup/armbian-h3.img bs=1M status=progress
  • if= 输入(源磁盘)
  • of= 输出(镜像文件路径)
  • bs=1M 设定块大小(提速)
  • status=progress 显示进度

你也可以顺便压缩保存:

bash 复制代码
sudo dd if=/dev/mmcblk0 bs=1M | gzip > /mnt/backup/armbian-h3.img.gz
3️⃣ 在目标设备上恢复:

将镜像写回目标设备:

bash 复制代码
sudo dd if=/mnt/backup/armbian-h3.img of=/dev/mmcblk0 bs=1M status=progress

或(若镜像是压缩的):

bash 复制代码
gzip -dc /mnt/backup/armbian-h3.img.gz | sudo dd of=/dev/mmcblk0 bs=1M status=progress
4️⃣ 启动测试:
  • 插入克隆好的卡 / eMMC 启动;
  • 系统会直接进入与原机器相同的 Armbian / Debian 环境;
  • 如果 MAC 地址或主机名冲突,可稍作修改(见下方)。

🔹 补充调整(可选):

项目 文件路径 建议
主机名 /etc/hostname + /etc/hosts 改成唯一名称
SSH host key /etc/ssh/ssh_host_* 可删除后重启自动生成
网络配置 /etc/network/interfaces/etc/NetworkManager/system-connections/ 适配新设备

🧰 二、方案 2:用 rsync 文件级克隆(可跨硬件)

🔧 适合:目标设备硬件不同、分区大小不同,或者你想要更灵活的克隆方式。

1️⃣ 在目标板上准备 Armbian 系统(同版本),启动一次;

2️⃣ 在源板上执行:

bash 复制代码
sudo rsync -aAXHv \
  --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
  / root@目标板IP:/mnt/target/

3️⃣ 在目标上重装引导:

bash 复制代码
sudo grub-install /dev/mmcblk0
sudo update-grub

这样就可以完成系统级别的复制,但不涉及分区表、引导扇区。


🧱 三、方案 3:用 Armbian 自带工具(如果有)

某些 Armbian 版本带有:

bash 复制代码
sudo armbian-config

里有 System → Install → Clone system to eMMC / SD / USB

可以直接将系统从 SD 卡复制到另一个介质,非常方便。

不过这一般用于同一设备内部,不太适合跨设备网络克隆。


✅ 最终建议

目标 推荐方案 说明
硬件完全相同(同一型号 H3) dd 镜像法 最简单可靠,一模一样
硬件不同(例如 H5 / RK3328) ⚙️ rsync 文件同步 兼容性好,可调整系统
想复制到 eMMC / U 盘 🧩 armbian-config 工具 官方安全方案

🧩 一、你的 .img 文件本质上是什么

当你用这条命令创建镜像:

bash 复制代码
sudo dd if=/dev/mmcblk0 of=/mnt/backup/armbian-h3.img bs=1M status=progress

它生成的是一个磁盘级的镜像,包含:

  • 分区表(MBR 或 GPT)
  • boot 分区(u-boot、kernel、dtb)
  • root 分区(完整系统)
  • 以及所有系统数据、配置、用户文件

也就是说:

这个 .img 文件 = 你整张 SD 卡 / eMMC 的"字节级快照"。

它和 Armbian 官方的 Armbian_*.img 一样,可以直接烧录。


💾 二、如何烧录到另一台 H3 板子

✅ 方法 1:使用 dd(Linux 主机)

bash 复制代码
sudo dd if=/path/to/armbian-h3.img of=/dev/sdX bs=1M status=progress
sync

其中:

  • if= 是镜像文件路径
  • of= 是目标 SD 卡 或 eMMC 设备,比如 /dev/sdb/dev/mmcblk0
  • bs=1M 表示一次写 1MB,加快速度
  • status=progress 显示进度条
  • sync 确保数据写入完毕

烧录完成后,把卡插入新机器,直接上电即可启动。


✅ 方法 2:用图形化工具(Windows / macOS)

你也可以像烧录官方 Armbian 一样用:

  • 🧰 Balena Etcher
  • 🧰 Raspberry Pi Imager
  • 🧰 Win32 Disk Imager
  • 🧰 dd for Windows

只要选择你的 armbian-h3.img 文件,

目标选中 SD 卡,一键烧录。

完成后插入板子 → 就能启动原系统环境。


⚠️ 三、注意事项

注意点 说明
💾 镜像大小 镜像会和原 SD 卡容量一样大,比如你源卡是 16GB,那镜像就是 16GB
🧱 目标卡大小 必须 ≥ 源卡容量(即使系统只用了 3GB)
🧩 不同容量卡 若目标卡更大,可用 gparted 扩容 root 分区
🕹️ MAC / 主机名 若多台板子联网使用,请修改 /etc/hostname/etc/hosts
🔑 SSH 密钥 删除 /etc/ssh/ssh_host_* 后重启,让系统自动重新生成新密钥

🌟 四、可选:压缩镜像以节省空间

如果你打算保存或传输备份文件,可以压缩:

bash 复制代码
gzip -c /mnt/backup/armbian-h3.img > /mnt/backup/armbian-h3.img.gz

恢复时解压并烧录:

bash 复制代码
gzip -dc /mnt/backup/armbian-h3.img.gz | sudo dd of=/dev/sdX bs=1M status=progress

总结:

任务 工具 命令/方法
生成镜像 dd dd if=/dev/mmcblk0 of=armbian-h3.img bs=1M
烧录镜像 dd / Etcher dd if=armbian-h3.img of=/dev/sdX bs=1M
压缩保存 gzip gzip -c armbian-h3.img > armbian-h3.img.gz
解压还原 gzip -dc `gzip -dc armbian-h3.img.gz dd of=/dev/sdX bs=1M`

相关推荐
iconball4 小时前
个人用云计算学习笔记 --18(NFS 服务器、iSCSI 服务器)
linux·运维·笔记·学习·云计算
国科安芯4 小时前
ASP4644芯片低功耗设计思路解析
网络·单片机·嵌入式硬件·安全
广药门徒4 小时前
Linux驱动开发与BuildRoot是什么关系与其的应用场景
linux·运维·驱动开发
艾菜籽4 小时前
网络原理-HTTPS
网络·网络协议·https
czhc11400756634 小时前
Linux108 shell:.bashrc 正则表达式:. * .* ^ $ ^$ [ ] [^] ^[] ^[^ ] \< \>
linux·正则表达式
野猪疯驴4 小时前
Linux shell学习(更新中....)
linux·shell
努力学习的小廉5 小时前
深入了解linux网络—— TCP网络通信(下)
linux·网络·tcp/ip
Bruce_Liuxiaowei7 小时前
MQTT协议在物联网环境中的安全风险与防范指南
运维·网络·物联网·安全·网络安全
Paul_09207 小时前
golang面经——内存相关模块
服务器·网络·golang