PS:使用本文章中dd写入的方式,可以用于备份TF卡/SD卡/硬盘里操作系统/环境变量和系统数据,随时备份,随时回复,内容完全一样 ! !
一. 配置Jetson深度学习环境
配置过程按照Jetson系列文章,针对Jetson Nano可以直接使用TF卡方式安装JetPack系统。
二. 准备一张空TF卡
准备一个读卡器.将Nano上的TF卡取下备用.
三. 创建Jetson镜像
3.1 查看磁盘挂载情况
首先在Ubuntu主机上查看磁盘挂载/使用情况:
df -h
插入TF卡前Ubuntu主机硬盘挂载/使用分布如下: 读卡器插入Ubuntu主机或虚拟机,然后再次输入命令df -h 查看此时磁盘挂载/使用情况的变化: 发现名为/dev/sdb1 的磁盘挂载上了,并且其总空间为59GB,目前已占用24GB,符合Nano上磁盘占用查看情况,确定设备/dev/sdb 为源Nano系统TF卡.
3.2 卸载源Nano TF卡 设备
为了防止写入镜像的时候Ubuntu主机对TF卡本身有其他读取或写入,因此需要卸载设备,卸载设备意思指的是Ubuntu主机暂时无法对该磁盘进行读写.由于只有一个主分区sdb1,因此只需要卸载一个,如果TF卡有多个,按照同样的方式一一卸载就可以了,我这里输入:
umount /dev/sdb1
然后就会发现左边任务栏上的64GB存储设备标志消失,表明卸载成功.
3.3 将镜像备份至Ubuntu主机
使用dd命令写入镜像至SD卡
sudo dd bs=4M if=/dev/sdb of=/home/geek/nano_back.img
bs 代表一次写入多大的块,是blocksize的缩写,4M 一般都没问题,如果不行,试试改成1M ,if 参数为下载的镜像的路径(应该是input file缩写),of 后参数为设备地址(应该是output file的缩写,linux上一切都是文件)千万不要写错这里的参数,否这你可能丢失硬盘所有数据。 因为dd命令没有进度显示,所以看上去可能感觉假死了,此时只要等待几分钟即可,也可以另起终端,输入命令查看进度:
sudo pkill -USR1 -n -x dd
可以看到这个写镜像的速度还是很快的: 虽然TF卡64GB仅仅使用25GB,系统还是会创建镜像,因此如果使用虚拟机,需要满足虚拟机存储>80GB,这样才能满足需求.
3.3 将镜像写入至TF卡
首先把空的TF卡在win10上格式化,夜可以使用Diskgenius 软件进行格式化,格式化类型选择FAT32 或者叫FAT ,格式化完毕后win10下磁盘管理界面查看该TF卡会显示变成新加卷 ,之前状态是未分配 . 首先查看挂载的硬盘情况: 插入空TF卡后: 首先卸载设备:
umount /dev/sdb1
然后向空TF中写入镜像:
sudo dd bs=4M if=/home/geek/nano_back.img of=/dev/sdb
查看状态,发现
可以看到从Ubuntu主机往TF卡写镜像速度快了13 倍,表明SSD硬盘读写速度远远大于TF卡的Flash.但是到后面速度就降下来了,大概是2倍的读写速度:
然后等待完毕,移植成功,到后面会慢很多,因为有些是小文件,总共的写入大概花费1h40min ,大家耐心等待. 写入成功 ! ! !可以看到写入成功之后自动挂载64GB TF卡:
|