备注
- 建议使用Ubuntu系统进行备份+再烧录。
- 如果将SD卡#1的系统备份、烧录到SD卡#2,SD卡#2的容量需要大于等于SD卡#1。
- 烧录系统过的SD卡在Windows系统下无法识别,可以重新格式化后使用。
备份Ubuntu系统
前提:已有一张烧录过Ubuntu系统的micro SD卡,需要备份这张卡上的Ubuntu系统。
Windows系统
- 备份过程需在Ubuntu系统下完成。在Windows电脑上下载一个虚拟机软件,比如 VMware Workstation Player。
- 创建Ubuntu虚拟机,下载Ubuntu的iso镜像文件使用(https://ubuntu.com/download/alternative-downloads),硬盘最大容量需设置较大的容量,其它配置默认即可。
- 如果不压缩镜像文件,硬盘容量需设置为大于SD卡容量
- 如果压缩镜像文件,可根据实际大小调整和扩容。(64G的SD卡装有Ubuntu系统压缩至大约16G)
- 在Ubuntu虚拟机内备份。
Ubuntu系统
- 查看需要备份的SD卡的设备号
sudo fdisk -l
备注:可以通过disk容量、磁盘标签类型(disklabel type: gpt)、磁盘标识符(disk identifier)来判断哪个disk是SD卡。
- 使用dd命令压缩备份SD卡(假设设备号是/dev/sdb)
sudo dd if=/dev/sdb conv=sync,noerror bs=16M | gzip -c > nano_back.img.gz
备注:
- bs为写入和读取速度,可根据机器的实际情况配置。
- noerror为忽略读过程中的error,如果出现error,sync为error的block填0。
- 如果不压缩的话,生成的文件会和SD卡的容量一样大。完整备份:
sudo dd bs=16M if=/dev/sdb of=nano_back.img
- dd过程中如果想要看进度:
sudo pkill -USR1 -n -x dd
烧录Ubuntu系统
前提:有一张空的micro SD卡,已有Ubuntu系统镜像压缩文件。
Ubuntu系统
- 查看需要写入的SD卡的设备号
sudo fdisk -l
- 解压缩烧录(假设设备号是/dev/sdb)
sudo chmod 777 /dev/sdb
sudo gunzip -c nano_back.img.gz | dd of=/dev/sdb bs=16M
备注:
- 直接烧录镜像文件
sudo dd bs=16M if=nano_back.img of=/dev/sdb
- 如果写入的最后报错空间不够,实际上也不影响,因为写满了SD卡。
dd: error writing ‘/dev/sbd’: No space left on device
- 把SD卡插入Nano机器,开机即可。
Windows系统
- 下载任意SD卡格式化软件以及烧录软件。根据Nvidia官方推荐,下载SD Memory Card Formatter,以及Etcher。
- 格式化SD卡。在电脑上插入SD卡,打开SD Card Formatter,选择card drive,选择“Quick format“,其它不动,点击”Format“。
- 烧录系统。打开Etcher(关闭电脑杀毒软件),选择好压缩的img文件和drive,点击“Flash”。如果结束后Windows提示问是否需要format the disk,点击“Cancel”。
- 把SD卡装到Nano里,开机即可。
常见问题
格式化烧录过的SD卡
-
Windows系统下
https://blog.csdn.net/FriendshipTang/article/details/113037060 -
Ubuntu系统下
https://blog.csdn.net/android_learn/article/details/6893313
Windows主机和Ubuntu虚拟机相互传输数据
- 在虚拟机上安装SSH
sudo apt-get install openssh-server
- 在虚拟机上查看ip地址
ifconfig
- 在主机连接,可使用命令行或软件(比如WinSCP)。
Ubuntu虚拟机上删除不需要且被占满的回环设备(/dev/loop0等)
sudo apt autoremove --purge snapd
备注:如果是真实设备,谨慎使用。
VMware虚拟机扩展硬盘空间
-
在虚拟机配置里,扩展硬盘容量。
-
进入虚拟机,使用任意方法重新配置分区。Ubuntu系统可使用gparted软件。
sudo apt-get install gparted
VMware虚拟机识别SD卡
-
在虚拟机配置里,配置好USB控制器(如果读卡器是USB 3.0需要在配置里选择)。
-
开启虚拟机,鼠标右击右上角USB图标,选择连接或断开连接。
-
若始终无法识别SD卡,可选择移除当前的USB控制器后重新添加。
参考链接
- https://jetsonhacks.com/2020/08/08/clone-sd-card-jetson-nano-and-xavier-nx/
- https://blog.csdn.net/qq_45779334/article/details/114095742?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-114095742-null-119977617.pc_relevant_downloadblacklistv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-114095742-null-119977617.pc_relevant_downloadblacklistv1&utm_relevant_index=2
- https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write