使用dd命令打包jetson nano 树莓派等linux开发板SD卡中的镜像
2023-12-24 18:28:24
使用dd命令打包jetson nano SD卡中的镜像----linux
很多时候我们为了防止sd卡损坏,需要备份一个镜像,下面是使用dd命令将sd卡中的镜像一模一样的复制一份的教程
首先使用df -h
命令查看挂在的u盘
最下面的三个sdb1 sdb2 sdb3 就是需要打包的镜像的分区
sudo dd if=/dev/sdb | pv -s $(sudo blockdev --getsize64 /dev/sdb) | xz -9 > image.xz
- 将sd卡插入电脑,被虚拟机识别之后,通过lsblk命令确定sd卡的设备名称(也就是上图命令里面的sdb)
- 把要复制的源sd卡插到虚拟机所在的宿主机上
- 然后会生成源sd卡的镜像文件image.xz
- 最后把镜像烧录到新的sd卡里面去
- sdb是sd卡的设备名称
- 将sdb(sd卡)的镜像成 名image.xz的文件
- 下面这句话这句话会把sd卡(设备路径为/dev/sdX,X自行确定)这里是sdb内容拷贝为镜像,并且压缩为image.xz文件,放置在当前工作目录下
- dd命令会忠实地从源设备拷贝数据到目的文件或设备
- 然后把image.xz放到windows下,通过windows的balena etcher烧录器,把image.xz烧录到任意新卡中去
- balena etcher下载地址:https://etcher.balena.io/
- balena etcher支持xz格式的压缩镜像
可以安装pv
sudo apt install pv
这个工具是检测管道流数据的,不用pv的话,你就不知道已经传了多少数据,心情会更加煎熬
这样右下角显示百分比和剩余时间了
如何提高速度
提高 dd
命令和整个管道操作的速度可以通过以下几种方式实现:
- 增加
dd
的块大小:dd
默认的块大小可能不是最优的。增加块大小可以减少读写操作的次数,从而提高速度。你可以尝试使用较大的块大小,例如bs=1M
或bs=4M
。例如:
sudo dd if=/dev/sdb bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdb) | xz -9 > latestqingyun.xz
- 调整
xz
压缩级别:xz -9
使用的是最高压缩级别,这意味着它会占用更多的CPU资源和时间来压缩数据。降低压缩级别(例如使用-6
或-7
)可能会减少压缩时间,尽管这可能会导致最终的压缩文件稍大一些。
sudo dd if=/dev/sdb bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdb) | xz -7 > latestqingyun.xz
- 使用更快的硬盘或设备:如果可能的话,使用速度更快的硬盘或SSD,特别是对于输出文件
latestqingyun.xz
,这样可以提高写入速度。 - 并行处理:如果你有多个核心和足够的内存,可以考虑使用
pixz
(并行xz压缩工具),这样可以在压缩时使用多个CPU核心。
sudo dd if=/dev/sdb bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdb) | pixz > latestqingyun.xz
- 检查硬件限制:确保没有其他进程显著占用磁盘或CPU资源,这可能会减慢
dd
和xz
的速度。
请注意,提高速度的同时可能会牺牲一些压缩率。你需要根据你的具体需求和资源情况来决定使用哪种方式。
文章来源:https://blog.csdn.net/Johnor/article/details/135184355
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!