linux制作镜像、压缩镜像、烧录的方法

最近在玩香橙派的时候,需要搞多个板子,一个一个配环境也太麻烦了吧......

于是通过搜索,发现可以把linux设备(比如香橙派,树莓派等等)制作为镜像,然后像烧录官方镜像一样烧进新的sd卡,就可以了。

下面说干就干!手机开热点,和电脑、香橙派连接到一起,香橙派终端输入ifconfig,看ip地址

打开电脑终端,输入ssh orangepi@192.168.81.127,后面改成你的用户名@ip地址,输入密码orangepi,ssh成功。

在香橙派上插上移动硬盘或者u盘用来存放镜像文件.img。注意u盘一定不要是FAT32格式(插入 U 盘 → 打开「此电脑」/「资源管理器」→右键 U 盘 → 选择「属性」在「常规」标签页里→「文件系统」一行会显示格式),不然只能存4gb大小的文件,可能会出问题,可以按以下步骤改为exfat:

  1. 备份U盘里所有文件(格式化会清空数据)
  2. 插入U盘,打开「此电脑」
  3. 右键U盘 → 选择「格式化」
  4. 文件系统选择 exFAT(或NTFS)
  5. 勾选「快速格式化」 → 点击「开始」
  6. 完成后,就可以复制超过4GB的大文件了

输入lsblk,查看挂载

可以看到:

mmcblk0 179:0 0 29.7G 0 disk

说明 整个 SD 卡设备是 /dev/mmcblk0,我们就是要备份它。

sda1 8:1 0 476.9G 0 part

说明 U 盘设备是 /dev/sda,分区是 /dev/sda1,最后要把文件生成到此。

接下来,我们先创建挂载目录并挂载 U 盘

复制代码
sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb

然后输入ls /mnt/usb,如果能看到你 U 盘里的文件,说明挂载成功。

使用 dd 备份整个 SD 卡到 U 盘:

复制代码
sudo dd if=/dev/mmcblk0 of=/mnt/usb/orangepi5pro_backup.img bs=4M status=progress

这会导致出现一个29.7gb的镜像(我的sd卡是32gb),这显然是不可接受的。

因此我们需要裁剪镜像,只保留实际分区数据。

先检查镜像文件是否完整:

复制代码
fdisk -l /mnt/usb/orangepi5pro_backup.img

有以下内容输出,则没问题。

接着用 pi-shrink 工具,自动裁剪空白

复制代码
git clone https://github.com/Drewsif/PiShrink.git
cd PiShrink
sudo ./pishrink.sh /mnt/usb/orangepi5pro_backup.img /mnt/usb/orangepi5pro_small.img

可以看到,运行结束后被压缩到了11g

最后卸载u盘

复制代码
sudo umount /mnt/usb

重新插入电脑,可以看到映像文件

插上sd卡,选择刚刚的镜像,用烧录工具烧录

烧录完成,插入香橙派,成功!一模一样!

相关推荐
HLC++9 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy13 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕14 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫15 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生15 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1117 小时前
linux基础IO
linux·运维·服务器
BelongPanda18 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯19 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983419 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器