ubuntu启动SD卡备份

       启动SD卡 包含2个分区,BOOT分区和文件系统分区。BOOT分区采用FAT32格式,可以在windows下读写。而根文件系统采用EXT4格式,只能在linux/unix下读写。

       BOOT分区根目录下有4个文件。

       BOOT.bin                   BOOT引导

       devicetree.dtb           设备树文件

       uEnv                          u-boot环境设置。包括串口设置,IP地址,ramdisk地址,FDT地址。

       uImage                      linux映像

      备份过程,先将SD卡分区,然后分别备份BOOT区和文件系统分区。

1.SD卡分区

        有多种工具,此处使用DiskGenius  V4.9.6。

ubuntu启动SD卡备份

          插入一个新的U盘,打开DiskGenius查看,如上图。

          选择“可移动硬盘(H:)”,右键选择删除当前分区,点击“是”。千千万万注意,别选错把硬盘分区删了!

          然后点击移动硬盘,在菜单选择“分区(P)”->"建立新分区(N)"。分区类型选择主磁盘分区,文件系统类型选择FAT32,设置分区大小。然后“确定”。

ubuntu启动SD卡备份

           然后在在剩余空间中创建新分区。在界面中间点击“空闲”,出现红色框,右键点击“创建新分区”。

ubuntu启动SD卡备份

分区类型选择主磁盘分区,文件系统类型选择EXT4,设置分区大小。然后“确定”。

ubuntu启动SD卡备份

         至此,2个分区划分完成。

         下面,保存分区设置。在菜单点击"保存更改",则保存分区配置。提示是否进行格式化,可选择“是”,自动进行格式化。

也可以选“否”,手动进行格式化,点击相应分区,然后右键选择“格式化当前分区”即可。

          完成后,可以手动修改卷标。点击相应分区,然后右键选择“设置卷标(V)”即可。

 

2.BOOT区备份

         在Windows系统下,将老的SD卡BOOT区下的4个文件复制,再copy到新的SD卡BOOT区即可。在Windows下看不到linux分区,只能看到FAT32分区。

 

3.根文件系统区备份

          根文件系统在linux分区,在linux/unix系统下操作较为方便。此处使用的是ubuntu 18.04(安装在虚拟机VMware下),可用sudo lsb_release -a命令查看ubuntu版本。

           先将老的SD卡的根文件系统分区挂接到本机ubuntu系统/mnt目录,然后将其内容打包压缩保存。

            再将新的SD卡的根文件系统分区挂接到本机ubuntu系统/mnt目录,然后将前面的打包压缩文件解压缩到/mnt。

          (1)老的SD卡根文件系统备份

            将老的SD卡插入,VMware界面中选择“虚拟机-> Super Top Mass Storage Device->连接(断开与主机的连接)(C)”,点击“确定”。

ubuntu启动SD卡备份

           在ubuntu界面下输入sudo fdisk -l 确认USB接入。 如下图, /dev/sdb1是FAT32分区,/dev/sdb2是Linux分区。

ubuntu启动SD卡备份

           输入sudo mount /dev/sdb2 /mnt 将Linux分区挂接到/mnt目录。

           进入根目录,输入sudo tar -cvpf rootfs.tar /mnt命令将mnt目录打包,命名为rootfs.tar,放到当前目录。 此操作只打包,如果需要压缩可以参见tar命令帮助tar --help。

           然后用sudo umount /mnt取消SD卡分区与mnt目录的挂接。

         (2)根文件系统备份复制到新SD卡

            新SD卡接入ubuntu系统,挂接/mnt与前面相同。

          输入sudo tar -xvf rootfs.tar命令将打包文件解开,放到mnt目录中。

          进入/etc/init.d目录下,编辑S60user-init.sh,修改以下2行

            echo "eth0:192.168.0.90"
                ifconfig eth0 192.168.0.90

          IP地址可自行设定,避免新老SD卡地址冲突。

          可使用vi命令进行编辑,如果是只读文件,可用chmod命令修改权限。

          然后用sudo umount /mnt取消SD卡分区与mnt目录的挂接。