制作镜像文件,备份SD卡

在做petalinux系统时,sd卡里包含了bootloader以及rootfs两个分区。

完成系统定制后,每次换一张sd卡都需要全流程走一遍,于是想能否将sd卡所有内容制作成镜像,能够直接写入镜像到新卡中。

大致有两种方案。

windows环境备份与还原

使用Win32DiskImager备份和还原

  • 优点是方便直接
  • 缺点是备份文件是整张sd卡直接拷贝,例如,不管sd卡里实际文件多大,32G的卡备份出来的镜像也是32G的大小,耗时耗力。并且写入镜像到新sd卡的时候,新卡不能小于32G。

Linux环境备份,windows环境还原

为了解决备份文件过大问题,可以在Linux环境进行备份。

获取sd卡分区

df -h

找到sd卡的分区

如上所示,复制整张sd卡的路径就是/dev/sdb

sudo dd if=/dev/sdb | gzip>~/Documents/sd_backup.gz

如果想看到复制进度,添加progress参数

sudo dd if=/dev/sdb status=progress | gzip>~/Documents/sd_backup.gz

在window环境下解压后,依然可以使用Win32DiskImager还原镜像到新sd卡中。


最优方法更新

以上方法虽然可以进行压缩,但是还原的时候还是需要解压,解压后文件依然是整张sd卡的大小。

最大的缺点还是备份和还原的时候依然是备份整张sd。

例如128G的sd卡,备份的时候读取128G,还原的时候也是写入128G,然而实际有效文件可能只有10G,十分浪费时间。

于是想到备份时先压缩分区容量,去掉空闲空间,这样就可以大大减少备份容量。

通常来说,BootLoader分区只有几百兆,可以全部备份。于是在ubuntu中压缩rootfs分区。

 使用磁盘工具中把rootfs分区压缩到允许的最小。

此时,整张sd卡从128G变为只有13G。

使用Win32DiskImager备份,注意勾选仅读取已分配分区。

这样,备份出来的img文件就只有13G了,相对于备份128G容量,无论是备份还是还原的时间都显著的减少。

同理,使用Win32DiskImager还原sd后,使用磁盘工具,将rootfs分区容量重新调整为最大,这样就不影响实际使用了。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
SD卡上的镜像拷贝到QSPI闪存需要以下步骤: 1.准备工作:首先确保电脑上有一个可以读取和写入SD卡的读卡器,并且已经安装了可以管理QSPI闪存的软件。 2.连接SD卡:将SD卡插入读卡器,并将读卡器通过USB接口连接到电脑。 3.识别SD卡:打开电脑上的磁盘管理工具,确认SD卡的磁盘代号(例如,磁盘号为"D:/")。 4.备份镜像:在电脑上创建一个用于保存镜像的文件夹,将SD卡上的镜像文件复制到该文件夹中。 5.连接QSPI闪存:将QSPI闪存连接到电脑上,确保其能够通过入口支持编程。 6.启动QSPI闪存编程软件:启动QSPI闪存的编程软件,并选择相应的设备型号和接口。 7.打开镜像文件:在软件中打开之前备份好的镜像文件。 8.擦除QSPI闪存:在软件中选择擦除QSPI闪存的选项,以清除原有的数据。 9.编程QSPI闪存:选择编程选项,并选择之前备份好的镜像文件,将其编程到QSPI闪存。 10.验证编程结果:完成编程后,通过软件提供的验证功能来确认镜像是否已经正确地写入到QSPI闪存。 11.完成:完成以上步骤后,即可将QSPI闪存从电脑上断开,并将其连接到相应的设备上进行实际使用。 请注意,以上步骤是一般化的指导,实际操作中可能因设备型号、软件版本等因素而有所不同。在进行任何操作之前,请务必仔细阅读相关设备和软件的操作手册,并确保已做好备份工作以防止数据丢失。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值