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卡,选择刚刚的镜像,用烧录工具烧录

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

相关推荐
理智的煎蛋13 小时前
MySQL高可用架构:MHA
linux·数据库·mysql·架构·可用性测试
zz-zjx14 小时前
进程与线程详解, IPC通信与RPC通信对比,Linux前台与后台作业
linux·网络协议·rpc
大筒木老辈子15 小时前
Linux笔记---计算机网络概述
linux·笔记·计算机网络
keep__go16 小时前
postgresql9.2.4 跨版本升级14.6
linux·运维·数据库·postgresql
深思慎考16 小时前
LinuxC++项目开发日志——高并发内存池(1-定长内存池)
linux·c++
川石课堂软件测试17 小时前
Oracle 数据库如何查询列
linux·数据库·sql·功能测试·oracle·grafana·prometheus
光电的一只菜鸡19 小时前
ubuntu之坑(十九)——VMware虚拟机扩容磁盘
linux·数据库·ubuntu
岚天start20 小时前
网络计算工具ipcalc详解
linux·运维·网络·网关·广播地址·掩码·ipcalc
deeper_wind20 小时前
Jenkins主机中安装ansible部署lnmp论坛(小白的”升级打怪“成长之路)
linux·ansible·jenkins
格林威20 小时前
Linux使用-Linux系统管理
linux·运维·服务器·深度学习·ubuntu·计算机视觉