5.系统镜像备份并重新烧录¶

5.系统镜像备份并重新烧录¶

5.2. 使用dd命令压缩备份SD卡系统镜像并重新烧录¶

使用dd命令进行SD卡压缩备份虽然需要借助运行Linux系统的主机或虚拟机,但是备份出的镜像体积较小,便于再次发布和烧录。

将已经搭建好环境的SD卡从板卡取出并插到读卡器上,然后将读卡器接入PC机(Ubuntu中),

打开Gparted磁盘管理工具,将磁盘切换到SD卡,就能看到一下信息(烧录debian系统的SD卡为例)

没有Gparted的可以使用以下命令安装。

1sudo apt install gparted

从图中可以看到SD卡中共8个已分配的分区,要备份的内容是最后一个分区及之前的内容。

最后一个分区大小为23.43GiB,但是已用空间只有450KiB,我们将最后一个分区的大小进行压缩,就可以减小备份镜像的大小。

选中要调整大小的分区,点击鼠标右键,选中 更改大小/移动

从图中看到,此分区的最小大小为481M,我们将它压缩到500M,然后点击 调整大小/移动

配置完成后点击绿色对钩,开始执行的更改

如果希望备份的镜像可以在烧录启动时自动扩展最后一个分区,可以在终端执行以下命令。

挂载rootfs分区,根据上图可知,也就是/dev/sdb6,然后删除其中的一个文件

1

2

3

4

5

6

7

8#挂载rootfs分区

sudo mount /dev/sdb6 /mnt

#删除此文件,使用备份镜像启动会自动扩展分区

sudo rm /mnt/var/lib/misc/firstrun

# 删除完成后,卸载已挂载的分区

sudo umount /mnt

现在再计算一下需要备份的大小 (8+4+4+64+64+32+6.00x1024+128+500)MiB≈6948MiB,

由于显示的大小通过四舍五入的方式保留2位小数,所以我们可以加一点余量,备份7000MiB的大小。

注解

在Linux下 1MiB=1024KiB=1048576Byte,1MB=1000KB=1000000Byte。

使用 mkdir 命令创建一个新的目录,用于存放从带镜像的SD卡中拷贝的镜像。

然后使用 dd 命令将带镜像的SD中的镜像拷贝到新创建的目录中。

1

2

3

4

5

6

7

8

9

10#创建新目录

mkdir backup

#将带镜像的SD卡中的镜像拷贝到创建的目录中

sudo dd if=/dev/sdb of=./backup/backup.img count=7000 bs=1024k conv=sync

#拷贝需要时间,请耐心等待,打印消息如下

记录了7000+0 的读入

记录了7000+0 的写出

7340032000 bytes (7.3 GB, 6.8 GiB) copied, 492.74 s, 14.9 MB/s

提示

若备份的镜像烧录后仍无法正常运行,请将bs=1024k改为bs=1M并去掉conv参数,即

sudo dd if=/dev/sdb of=./backup/backup.img count=7000 bs=1M

等待dd命令运行完成后,就得到了RAW格式的backup.img镜像

dd命令参数的含义:

if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=/dev/sdb >

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=./backup/backup.img,

这里的.img是镜像的格式,转成.img格式的文件后方便后续使用etcher烧录镜像 >

bs = bytes:同时设置读入/输出的块大小为bytes个字节,此处填的是1024k,表示1M大小。

count = blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数,此处设置的是7000,

表示7000个bs,也就是7000M。

conv= sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

RAW格式的backup.img镜像,可以使用使用Win32DiskImager或Etcher等软件来烧录到SD卡,也可以使用dd命令去写入到空的SD卡中。

将空白SD卡插入PC,确认插入SD卡的设备号,这里演示的设备号是/dev/sdc,烧录时以SD卡实际对应的设备号灵活修改。

1

2

3

4

5

6

7#将backup.img写入SD卡

sudo dd if=./backup/backup.img of=/dev/sdc bs=1024k conv=sync

#写入完成后,打印消息如下

记录了7000+0 的读入

记录了7000+0 的写出

7340032000 bytes (7.3 GB, 6.8 GiB) copied, 427.027 s, 17.2 MB/s

不指定count,会将整个backup.img文件写入目标位置。

等待写入完成后,即可使用烧录好的SD卡来启动板卡了。

📚 相关推荐

股票账户如何开通或转签创业板权限? 今天给大家细说下 创业板 开通和转签的问题,发现问这问题的投资者还是特别多。首先,先明确一点,目前所有股票账户交易权限只...
基本字义解释
365下载手机版

基本字义解释

📅 07-15 👁️ 971
卡塔尔世界杯
365不让提款

卡塔尔世界杯

📅 09-07 👁️ 7464
流言侦探体力多久(揭秘流言侦探体力之谜,多久才能恢复?深度解析与实用建议)
什么是西四命
365不让提款

什么是西四命

📅 09-04 👁️ 3148
卧底归来第二部有无开拍 卧底归来第二部有了吗
beat365手机下载

卧底归来第二部有无开拍 卧底归来第二部有了吗

📅 08-10 👁️ 6634
什么是点测光?应该什么时候使用?静下心看完这篇科普
be动词后面加什么?
365不让提款

be动词后面加什么?

📅 08-06 👁️ 3677
打印店刻录光盘价格 刻录一张光盘多少钱
365不让提款

打印店刻录光盘价格 刻录一张光盘多少钱

📅 09-19 👁️ 3413