一、备份nvme系统
1、用VMware Workstation Pro创建Ubuntu18.04(20.04也可以)系统虚拟机;
2、查询磁盘设备号;
打开Ubuntu18.04(虚拟机)系统的终端,输入以下命令安装分区管理工具gparted:
sudo apt install gparted
将固态硬盘从Jetson Orin NANO主板上取下来,插入连接到电脑(虚拟机),此时电脑会自动识别到固态硬盘(需固态硬盘盒子),打开应用仓库,搜索并打开gparted,查询磁盘设备号。
设备号:/dev/sdb
3、 记录磁盘分区信息;
创建parted_info.sh文件,内容如下:
#!/bin/bash
date
echo $1
sudo parted $1 <<EOF
unit s
print free
quit
EOF
给parted_info.sh文件添加运行权限:
chmod +x parted_info.sh
输入以下命令查看分区信息,记录Free Space那一行,Start那一列的数字,去掉最后的s。
./parted_info.sh /dev/sdb
# ./parted_info.sh /dev/nvme0n1 # 自用
其中/dev/sdb参数必须指定,与上一步查看到的磁盘设备号一致。
4、备份镜像IMG文件;
打开系统终端,电脑(虚拟机)的储存空间必须大于镜像,输入以下命令进行nvme系统镜像的备份:
sudo dd if=/dev/sdb of=backup.img bs=512 count=110653440
# sudo dd if=/dev/nvme0n1 of=backup.img bs=512 count=110653440 # 自用
# 或者
# sudo su
# nohup dd if=/dev/nvme0n1 of=backup.img bs=512 count=110653440 # 自用
# nohup dd if=/dev/nvme0n1 of=backup.img bs=512 count=110653440 & # 后台运行自用
其中,if=/dev/sdb为第2步查询到的磁盘设备号,of=backup.img为备份的名称,bs=512表示块大小,count=110653440表示备份大小,此数据从第3步中获取。
重新开启一个终端运行以下命令查看进度:
sudo watch -n 3 pkill -USR1 ^dd$
效果如下:
5、拷贝镜像到Windows系统中;
由于备份完的镜像在Ubuntu18.04系统(虚拟机)中,此时需要打开虚拟机中的共享文件夹功能把文件传输到Windows系统中。
可以输入下面的命令查看共享文件夹:
vmware-hgfsclient
此时还不能进行拷贝,在Ubuntu18.04中并未出现相应共享文件夹目录,需要进行相关配置,参考代码如下:
# 安装相关依赖
sudo apt-get install open-vm-tools
# 若缺少/hgfs这个文件夹,则自己在/mnt目录下创建个/hgfs文件即可
cd /mnt
sudo mkdir hgfs
# 最后执行以下命令,就可以看到在/mnt/hgfs目录下出现共享文件夹
sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
输入以下命令将镜像文件复制到共享文件夹 :
sudo cp backup.img /mnt/hgfs/share/
其中,share为共享文件夹名称,可根据实际情况进行填写。
当然,如果在局域网内,也可以使用MobaXterm进行远程下载。
二、烧写nvme系统
思路一:从Windows端烧写
1、使用硬盘盒子将硬盘与Windows系统连接;
2、将硬盘格式化(注意要选对nvme的盘符,不要选错了盘符把自己的电脑给格式化了);
原电脑盘符:
若在Windows系统上格式化硬盘不方便,则可将硬盘连接到Ubuntu系统上,使用Drive或者Disks磁盘管理工具进行格式化,最后再连接到Windows系统上,新建一个简单卷能被电脑识别。
3、使用Win32DiskImager烧录工具进行镜像烧录;
4、等待镜像烧录完成,把nvme重新插回jetson orin Nano,上电一段时间后就可以成功开机了。
思路二:从Linux端烧写
# if-输入端 of-输出端
sudo dd if=backup.img of=/dev/sdb
# sudo dd if=backup.img of=/dev/nvme0n1 # 自用