✅ 对!这就是最简单的方案
一句话总结:
盒子进 Armbian,插 U 盘,dd 把 /dev/mmcblk0 读到 U 盘,不需要电脑、不需要 Maskrom、不需要 rkdeveloptool。
完整极简操作流程
准备 U 盘,格式推荐 ext4(NTFS 也可以,但 Armbian 要装 ntfs-3g),容量 ≥ eMMC 总大小(比如 8G eMMC 就要 U 盘至少 8G 以上)
插到盒子 USB 口,查看块设备:
bash
运行
lsblk
找到你的 U 盘,一般是 /dev/sda1,挂载:
bash
运行
mkdir -p /mnt/usb
mount /dev/sda1 /mnt/usb
开始 dump(不要中途断电、不要 Ctrl+C 中断)
bash
运行
dd if=/dev/mmcblk0 of=/mnt/usb/rk3528-full.img bs=4M status=progress
if=/dev/mmcblk0:源,整块 eMMC
of=xxx:输出镜像,存 U 盘
bs=4M:加速读写
status=progress:实时显示进度
等待跑完,执行 sync,一定要做!
bash
运行
sync
umount /mnt/usb
sync 是把缓存全部写入 U 盘,不执行 sync 直接拔 U 盘会镜像损坏
⚠️ 关键限制(非常重要,就是你之前刷失败的根源)
这个 rk3528-full.img 是raw 裸盘镜像
✅ 恢复方式:只能在 Linux 环境 dd 写回 eMMC(同板子或者另一块 RK 板子进 linux dd 写)
❌ 不能直接丢给 AndroidTool/RKDevTool 烧写! 直接刷就会不开机,就是你上次遇到的问题。
镜像体积 = eMMC 物理总大小。8G eMMC 导出就是 8G 文件,哪怕实际只用了 1G。
优化:如果你只要已使用数据备份,可以用 partclone,导出文件会小很多,但操作会复杂一点。
恢复命令(以后要还原)
同样进盒子 Linux,U 盘插上:
bash
运行
dd if=/mnt/usb/rk3528-full.img of=/dev/mmcblk0 bs=4M status=progress
sync
可选小优化(减少时间 / 文件体积)
如果你不想导出整盘,只想单独备份各个分区(boot、rootfs):
bash
运行
ls /dev/mmcblk0p*
示例:备份root分区
dd if=/dev/mmcblk0p4 of=/mnt/usb/rootfs.img bs=4M status=progress
sync