美文网首页树莓派
基于文件同步方式快速还原或重装树莓派系统

基于文件同步方式快速还原或重装树莓派系统

作者: idengwei | 来源:发表于2020-03-16 00:13 被阅读0次

    1 前言

    树莓派是一个可玩性很高的系统,经常存在系统安装各种软件或进行各种改动后需要重装系统的需求,但不论是官方教程还是网友的文章,目前重装系统都是使用镜像复制软件将img文件内容写入SD卡的方式(Etcher, Win32 Disk Imager, dd命令等),此方式的缺点需要是全盘写入,速度较慢,而且会丢失整个SD卡的数据,如果手动设置过分区,这些设置及数据文件会全部丢失。

    实际上系统运行一段时间后,变动的文件只是少部分,如果能重新恢复这一部分文件,而不重写大部分未变动的文件,将大幅提高恢复速度,而且基于文件的方式可灵活控制避免影响数据文件。以上需求可以使用Linux/Rasbian系统下重要的工具——rsync来实现。

    2 条件

    1. 系统安装镜像文件(例如2020-02-13-raspbian-buster.img)

    2. 待还原的树莓派系统SD卡

    3. 运行Linux系统的计算机或运行另一个运行Rasbian系统的树莓派

    3 步骤

    1. 以下命令均在Linux计算机或另一个树莓派的终端中运行,命令中用括号 [ ] 标注的内容需要根据实际情况替换。

    2. 查看系统镜像分区

    fdisk [yourpath/2020-02-13-raspbian-buster.img]
    

    在 Command (m fofr help): 后输入 p ,将显示分区信息,找出扇区大小(512)及第二分区的起始扇区号(532480),用起始扇区号乘以扇区大小得到起始扇区偏移位置(532480*512=272629760),输入 q 退出fdisk

    pi@raspberrypi:~ $ fdisk /media/pi/xxxx/2020-02-13-raspbian-buster.img
    
    Welcome to fdisk (util-linux 2.33.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    Command (m for help): p
    Disk /media/pi/xxxx/2020-02-13-raspbian-buster.img: 3.5 GiB, 3787456512 bytes, 7397376 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xea7d04d6
    
    Device                                              Boot  Start     End Sectors  Size Id Type
    /media/pi/2400-8DCF/2020-02-13-raspbian-buster.img1        8192  532479  524288  256M  c W95 FAT32 (LBA)
    /media/pi/2400-8DCF/2020-02-13-raspbian-buster.img2      532480 7397375 6864896  3.3G 83 Linux
    
    Command (m for help): q
    
    pi@raspberrypi:~ $ 
    
    1. 挂载系统安装镜像及待还原的树莓派系统分区:
    mkdir src
    sudo mount -o ro,offset=[272629760] [yourpath/2020-02-13-raspbian-buster.img] src/
    mkdir dest
    sudo mount [/dev/sda2] dest/
    
    1. 通过rsync同步文件,使dest目录下的文件和src目录下的文件保持一致
    sudo rsync -avzP --delete src/ dest/
    
    1. 验证同步结果
    diff
    或
    meld
    

    0 参考

    https://rsync.samba.org/documentation.html

    相关文章

      网友评论

        本文标题:基于文件同步方式快速还原或重装树莓派系统

        本文链接:https://www.haomeiwen.com/subject/cogbehtx.html