准备工作
你需要准备一台ubuntu的电脑,一个硬盘盒,一个大一点的移动硬盘,要求硬盘内部可用空间大于要备份的磁盘的大小以及要烧录的目标硬盘
挂载
这步不是必须得,正常来说电脑会自动挂载,但是我的电脑不知道什么情况现在不会自动挂载了,考虑到后续可能用到所以也写在这里了
打开任意终端,输入
lsblk
查看硬盘情况
以这台电脑为例,第一部分是电脑本身的系统盘,loop0 - 10,sda是一个256G的硬盘,是这次要备份的盘,而sdb是存放镜像的盘,可以看到它有一个900多GB的空间,其实一开始/mnt是没有的,只是用这个命令可以检测到所有接在电脑上的硬盘
记下来对它进行挂载
sudo mkdir /mnt
这句先创建一个目录
sudo mount /dev/sdb2 /mnt
这句将我们的存放镜像的盘挂载在这里,不然后面备份的时候没地方存
备份
前面的图片可以看到sda是一个238GB的盘,并且有很多分区,这是要备份的盘,而存放镜像的盘已经挂载到/mnt了,所以用命令
sudo dd if=/dev/sda of=自己个人硬盘挂载路径/system.img bs=1M
在这里就是
sudo dd if=/dev/sda of=/mnt/system.img bs=1M
system.img是镜像的名字,所以你可以自定义无所谓
如果需要查看备份进度
在新的终端输入如下命令
sudo watch -n 1 pkill -USR1 -x dd
再回到原来的中断就可以看到这样的进度显示
整体还是比较慢的,虚拟机也可以但是会更慢
备份完后可以压缩少占一点空间
这样就是备份完了
烧录
拿出要烧录的目标硬盘
先格式化硬盘
sudo mkfs.ext4 /dev/sda
sda是目标根据实际的来改
这样就好了
再用lsblk命令去看这个盘已经没有分区了
sudo dd if=镜像文件路径 of=OrinNX硬盘路径 bs=1M
比如我这次就是
sudo dd if=/mnt/orinNX8g_256.img of=/dev/sda bs=1M
然后就开始烧录了,可以发现烧录快了很多
然后耐心等待就可以了