Pi4 装了 ubuntu server,如何备份整个 sd 卡然后直接到另一台 Pi4 上使用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fxrocks
V2EX    Raspberry Pi

Pi4 装了 ubuntu server,如何备份整个 sd 卡然后直接到另一台 Pi4 上使用

  •  
  •   fxrocks 2020-12-13 12:00:04 +08:00 3932 次点击
    这是一个创建于 1762 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,参考网上把 sd 卡挂载,然后用 sudo dd bs=4M if=/dev/mmcblk0 of=/dev/sda1,

    插入另一个 pi4,无法启动。。。

    有没有其他的方法?有好几个 pi,懒得每个都去安装配置一堆软件

    16 条回复    2020-12-14 00:59:02 +08:00
    M3ng
        1
    M3ng  
       2020-12-13 12:03:23 +08:00 via iPhone
    dd 存储设备而非分区
    ysc3839
        2
    ysc3839  
       2020-12-13 12:10:08 +08:00 via Android
    > 参考网上把 sd 卡挂载

    挂载指的是什么?挂载了文件系统?直接复制数据时不能挂载文件系统,因为随时有可能写入数据进去。
    fxrocks
        3
    fxrocks  
    OP
       2020-12-13 12:17:49 +08:00
    @ysc3839 , 谢谢。你这么一提醒,我仔细看了一下,原来是有挂载新 sd 的话,要先卸载。。。是我搞反了。。。

    我参考这个教程
    https://www.cirmall.com/bbs/thread-39663-1-1.html
    Osk
        4
    Osk  
       2020-12-13 12:29:45 +08:00
    sudo dd bs=4M if=/dev/mmcblk0 of=/dev/sda

    注意: 是 sda 不是 sda1


    另外: dd 来拷贝系统是一个糟糕的注意. 不过网上一堆 dd 的教程...
    xiaket
        5
    xiaket  
       2020-12-13 13:45:10 +08:00
    话说你是不是应该考虑把你的配置过程写成脚本或者 ansible playbook? 这样 rpi 挂了要重做也简单.
    mrcn
        6
    mrcn  
       2020-12-13 13:45:56 +08:00
    @Osk
    > dd 来拷系统是一个糟糕的主意
    为什么这么说呢?如果不用 dd,用什么方式比较合适呢?
    CEBBCAT
        7
    CEBBCAT  
       2020-12-13 13:57:46 +08:00 via Android
    @Osk 老兄,给出批评意见的同时最好搭配一个建议啊
    fxrocks
        8
    fxrocks  
    OP
       2020-12-13 14:14:56 +08:00
    没有挂载就成功了。谢谢各位。

    @Osk,是的,我第二次用了 sda, 复制之前先用了 fdisk -l 查看

    麻烦告知一下有什么更好的方法,谢谢。目前复制要 1 个小时。。。用是能用了。
    Osk
        9
    Osk  
       2020-12-13 14:20:52 +08:00 via Android   1
    parted 脚本完成自动分区,可选,手动分区也浪费不了一分钟。
    脚本完成 分区格式化 /mkfs 。

    对源系统进行调整:树莓派的 botloader 没啥要求,只要文件放 fat32 分区就行,调整下 cmdline.txt 和 /etc/fstab 的挂载设备名即可,由于算是嵌入式设备,root=/dev/mmcblk0pX 等参数可以写死,没问题的。

    rsync 等工具真接拷贝系统和 boot 分区的文件即可,注意调整好了 --exclude 的话可以将正在跑的系统拷贝,不过一般不拷贝正在跑的系统。


    树莓派就两三个分区:
    /boot/firmware 一个分区,256MB 以上的 FAT32 文件系统,内含树莓派的闭源启动代码,内核等,直接拷贝就行,没啥要求。
    / 一个分区,一般 ext4 直接拷。
    swap 分区,可选的。



    不推荐 dd 是因为:
    dd 全盘拷贝会浪费较长时间,无意义的那种,现在的 SD 卡容量大但速度却不快,稳定性也捉急,有较低的概率拷挂。。。

    还有就是 dd 的目标盘大小和源盘如果不一致会是个问题,大了还好说,小了搞不好拷过去的会炸。
    fxrocks
        10
    fxrocks  
    OP
       2020-12-13 14:24:17 +08:00
    @xiaket



    其实真正使用就 8G,在找方法如何备份这 8G 一个镜像,卡是整个复制的。找到方法再搞成每天自动备份。
    fxrocks
        11
    fxrocks  
    OP
       2020-12-13 14:25:48 +08:00
    @Osk, 感谢指导,我等会儿试试。
    spcharc
        12
    spcharc  
       2020-12-13 14:34:27 +08:00
    为什么是 dd ? cp -ax 不好吗?而且 dd 还用错了…
    fxrocks
        13
    fxrocks  
    OP
       2020-12-13 15:39:00 +08:00 via Android
    @spcharc,我没怎么接触过 linux,菜鸟一枚,请教 dd 是哪里用错了,谢谢
    lh900519
        14
    lh900519  
       2020-12-13 16:24:53 +08:00 via Android
    可以参考这个项目,自己调整一下

    https://github.com/nanhantianyi/rpi-backup
    fxrocks
        15
    fxrocks  
    OP
       2020-12-13 19:10:33 +08:00 via Android
    @lh900519
    这个好,我研究一下。谢谢
    Hardrain
        16
    Hardrain  
       2020-12-14 00:59:02 +08:00
    rsync

    参考:
    https://wiki.archlinux.org/index.php/Rsync#Full_system_backup

    rsync -aAXHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup

    /path/to/backup 改作新 TF 卡上 rootfs 分区的挂载点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1018 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 18:33 PVG 02:33 LAX 11:33 JFK 14:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86