文章目录
    
    
    
    前言
   
    前置条件:需要一个能用的linux系统的主板
    
    记录一下如何备份镜像。(怕之前好不容易配的镜像再次崩掉,呜呜)
    
    Jetson Nano 4GB B01
    
    系统:Ubuntu18.04
   
    
    
    实操
   
用另外一个装linux系统板子打开(不是要拷贝的那个镜像),这里我用的是之前一张配过的卡开的nano机,将要拷贝的镜像卡插上。
    
    
    1.检查要备份的卡有没有坏,并修复。
   
df -h            //显示所有目前在 Linux 系统上的文件系统磁盘使用情况统计  看有没有并看下已用多少G
umount /dev/sdb1 //dev/sdb1是硬盘分区 将其卸载,e2fsck不能能修复当前系统正在运行的那个卡和挂载的卡
e2fsck -p /dev/sdb1  //修复挂载的卡
补充如何挂载
//先创建一个空的文件夹 (已有的跳过)
mkdir /home/rem/sdb
mount /dev/sdb1 /home/rem/sdb //(已有的空的文件夹)
    
    
    2.改小尺寸,将大小改为可以存放当前所有文件的尺寸(前面看下的多少G,我这里是已用30G)
   
(改小尺寸 先缩小分区resize2fs 再缩小系统文件fs)因为系统文件是装在分区里
sudo su
resize2fs /dev/sdb1 36G   //已用30G 怕文件溢出和其他没有备份的文件,改大点
//如果它要求先你运行e2fsck -f /dev/sdb1 //则运行
fdisk /dev/sdb
d  //删除
1  //第一个分区
n  //创建
1  //第一个分区
\n  //enter键 默认
+36G  //已用30G 怕文件溢出和其他没有备份的文件,改大点
n //不移除签名
w //保存
mount /dev/sdb1 /home/rem/sdb   //重新挂载
df -h//查看是否已缩小
    补充如何扩大
    
    (在扩大时,必须先扩大分区(fdisk),然后再扩大fs(resize2fs))
   
fdisk /dev/sdb
d
1
n
1
\n
\n  //扩大到sd卡尺寸就不操作
n
w
resize2fs /dev/sdb1   //会直接把sdb1调整为和在fdisk里相同的大小
//如果它要求先你运行e2fsck -f /dev/sdb1 //则运行
mount /dev/sdb1 /home/rem/sdb 
df -h//查看
    
    
    3.运用dd命令备份
   
    先插上一个exfat格式或者ntfs格式的U盘,fat32的不行,它最大只支持2^32次字节的输入输出(即4GB),如果自己sd卡里有足够空间存放镜像,也可以不插。
    
    exfat的移动硬盘如不能识别 (sudo apt-get install exfat-fuse exfat-utils)
    
    插上后,自动挂载
   
df -h //查看u盘和要拷贝的镜像卡是否都已挂载,没挂载的挂载
fdisk /dev/sdb
p //打印分区表
q
    
    
    找到最大的 75526243为最末尾的扇区数,512是扇区大小,
    
    运用dd指令
    
     dd_linux
    
    
    if 是要拷贝的镜像卡
    
    of 是目标位置(插的usb卡的话 df -h 看挂载点的地方我挂载点的地方为/media/rem/WD_BLACK)
    
    bs 是块大小 我们取512扇区大小
    
    count 是块个数 我们取之前找到的最大的值,即分区最末尾的数 +1 防止没有完全拷贝
   
dd if=/dev/sdb of=/media/rem/WD_BLACK/beifenka.img bs=512 count=75526244
    查看进度,我们是看不到它进度的。df -h 可以查看u盘内存变少多少来查看进度。
    
    注意:这里是
    
     /dev/sdb
    
    因为我们拷贝的是所有分区,而不是一个/dev/sdb1
    
    可以压缩拷贝
    
    具体为:
   
$ sudo dd if=/dev/sdc | gzip>/home/rem/raspberry.gz
不过更耗cpu,会很慢的。
    
    
    4.拷贝完,我们再用balenaetcher烧录进一张超过自己镜像的sd卡,
   
然后扩大镜像到sd卡大小
fdisk /dev/mmcblk0     //如果有让你写w修复就按w,可能溢出的空文件夹就没了
d
1
n
1
\n
\n  //扩大到sd卡尺寸就不操作
n
w
resize2fs /dev/mmcblk0  //会直接把sdb1调整为和在fdisk里相同的大小
df -h
    注
    
     fdisk可以操作正在运行的镜像的,只是e2fsck不能
    
    
    最后介绍一个好用的修复镜像的软件Linux File Systems for Windows by Paragon Software,可以检查分区和修复,相当于e2fsck。
   
    
    
    5.最后一个一摸一样的镜像就可以再次运行了。
   
    
    
    总结
   
其他板子应该也一样操作,如:树莓派
 

