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

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

相关推荐
渡我白衣2 小时前
Linux操作系统之线程(四):线程控制
linux
青竹易寒9 小时前
Linux命令技术笔记-sed+awk命令详解
linux·运维·服务器
Kiri霧9 小时前
Kotlin泛型约束
android·linux·windows·kotlin
试着9 小时前
零基础学习性能测试第二章-linux服务器监控:CPU监控
linux·服务器·学习·零基础·性能测试·cpu监控
绵绵细雨中的乡音10 小时前
Linux进程通信——共享内存:System V 进程间通信的极速方案
linux·运维·服务器
老马啸西风11 小时前
windows wsl ubuntu 如何安装 open-jdk8
linux·windows·ubuntu·docker·容器·k8s·kvm
研究是为了理解12 小时前
Linux 阻塞等待框架
linux
小白的程序空间13 小时前
Anaconda Prompt中删除库虚拟环境【保姆级教程】
linux·开发语言·python
努力自学的小夏13 小时前
RK3568 Linux驱动学习——SDK安装编译
linux·arm开发·笔记·学习
basketball61613 小时前
Linux C 信号操作
linux·c语言·开发语言