Jetson Xavier NX TF/SD卡系统镜像的备份与恢复
- 备份环境
- 系统备份
- 系统恢复
本次操作是通过 dd 命令完整克隆系统。这种方法是块设备的 bit 复制,所以完全不需要了解上层文件系统的结构和内容,只需要保证目标磁盘设备的空间大于源设备就可以实现。
使用 dd 方式克隆系统虽然具有和系统无关简单便利的特性,理论上总是能够成功。但是,这种方式需要 bit-to-bit 完整读取整个源磁盘,所以存在以下不足:
1、必须完整读取磁盘,对于只使用了部分磁盘空间的系统复制效率很低;
2、无法选择只备份必要数据,造成存储资源浪费;
3、目标磁盘必须大于源盘,硬件上有限制。
备份环境
1、Ubuntu16.04(可使用虚拟机操作)ps.我没试过在ubuntu18.04中操作,感兴趣的小伙伴可以试试)
2、需要备份镜像的TF卡
系统备份
第一步:将需要进行系统备份的SD卡插入ubuntu电脑中,并确认哪个驱动器是我们接入的SD卡。
使用命令
gym@gym:~$ sudo parted -l
或
gym@gym:~$ sudo fdisk -l
均可查出结果
第二步:确保SD卡未挂载
使用命令
gym@gym:~$ sudo umount /dev/sdb
输出结果为:
第三步:使用sudo -s命令进入root模式开始备份
gym@gym:/home$ sudo -s
root@gym:/home# sudo dd if=/dev/sdb conv=sync,noerror bs=64k | gzip -c > jetson-xavier-nx.img.gz
输入这个命令后是没有提示的,如果需要查看备份进度,另开一个终端,输入命令:
gym@gym:~$ sudo pkill -USR1 -n -x dd
即可查看
完成备份后可以在之前设定的目录下查看镜像,我之前备份是放在home目录下的:
系统恢复
第一步、第二步与系统备份的第一第二步骤执行的操作一致
第三步:使用sudo -s 命令进入超级用户模式后开始进行系统恢复
输入命令:
gym@gym:~$ cd /home
gym@gym:/home$ sudo -s
root@gym:/home# gunzip -c jetson-xavier-nx.img.gz | dd of=/dev/sda bs=64k
这里需要注意的是,/dev/sdX中的X需要在前两步确认,可能与备份查出来的驱动器号不一致。
到这里,就已经完成了Jetson Xavier NX系统的备份与烧录了。
参考:
https://www.jetsonhacks.com/2020/08/08/clone-sd-card-jetson-nano-and-xavier-nx/ https://youtu.be/uPpVoX8fumA