树莓派4B自建网页服务器指南 (3):TF 卡镜像备份 —— 自制Golden Image (下)
回看上篇 !
承接上篇 继续:
八、缩容 root 分区 (打造最小镜像包)
8.1 在 GParted 中选择 TF 卡
GParted 右上角下拉菜单,选择你的 TF 卡(通常是 /dev/sdb或 /dev/sdc)
确认容量是你那张 64GB 的树莓派 TF 卡,不要选错成电脑硬盘
8.2 缩容操作
- 选中分区表中最大的那个 ext4 分区(通常是 /dev/sdb2,大小约 58GB)
- 右键 → 调整大小/移动
- 在弹出的窗口中:
- 新大小(MiB):输入 5303(或比 df -h已用值略大的整数)
- 前面的空闲空间(MiB):保持 0
- 点击 调整大小/移动
- 回到主界面,点击工具栏上的绿色 ✔ 应用所有操作
- 确认弹窗 → 点击 应用
- 等待进度条完成(通常 1-3 分钟)
8.3 关闭虚拟机
- 缩容完成后,关闭 GParted 窗口
- 点击桌面左下角 退出 → Shutdown
- 虚拟机自动关闭
九、读取镜像
9.1 确认 TF 卡被 Windows 识别
- 关闭虚拟机后,TF 卡仍在读卡器中
- Windows 可能会弹出提示“是否需要格式化”,选择取消(不要格式化)
- 打开文件资源管理器,确认 TF 卡盘符存在(如 F:)
9.2 用 Win32DiskImager 读取镜像
- 打开 Win32DiskImager
- 映像文件:点击文件夹图标,选择保存路径,输入文件名raspios-jiejinx-ssh-clean.img
- 设备(Device):选择你的 TF 卡盘符(务必确认正确)
- 勾选 ☑ 仅读取已分配分区(⚠️ 这一步很重要,否则仍会全盘读取,读到 59GB大小)
- 点击 读取 (Read)
- 等待进度完成(约 5-15 分钟)
- 弹出 读取成功(Read Successful)→ 点击 OK
- 不要弹出 TF 卡(下一步压缩仍需读取)
此时你得到了一个 约 5GB 的 raspios-jiejinx-ssh-clean.img✅
十、压缩为 .img.xz
10.1 用 7-Zip 压缩
- 右键 raspios-jiejinx-ssh-clean.img
- 选择 7-Zip → 添加到压缩包
- 压缩格式:选择 xz
- 压缩级别:选择 极限压缩 (9)或 标准压缩 (5)
- 字典大小:选择 16 MB或 32 MB
- 点击 确定
- 等待压缩完成(约 3-8 分钟,取决于 CPU)
10.2 得到最终文件
raspios-jiejinx-ssh-clean.img.xz(约 500–600MB)
10.3 备份留存
建议存两份:
- 电脑本地(如
D:\GoldenImages) - 云盘 / 移动硬盘
十一、写入新卡(以后任何时候)
11.1 用 Raspberry Pi Imager 写入
- 打开 Raspberry Pi Imager
- 设备(Raspberry Pi Device):选择 Raspberry Pi 4
- 操作系统(Operating System):滚动到底部 → Use custom → 选择 raspios-jiejinx-ssh-clean.img.xz
- 储存设备(Storage):选择你的 新 TF 卡(容量 ≥64GB)
- 点击 下一步
- 确认写入,等待进度完成
✅ Imager 原生支持 .img.xz格式,写入时自动解压,无需手动解压。
若写入失败,可尝试更换usb2.0接口 接入TF存储卡
11.2 首次开机自动扩容
- 将写好的 TF 卡插入树莓派
- 首次开机,first-boot-expand.service自动运行:
- growpart扩分区表
- resize2fs扩文件系统
- 创建 /boot/firmware/.expanded标记
- 自动重启 3.重启后即可 SSH 登录
11.3 验证
bash
# 确认 root 已扩容
df -h /
# 确认配置完整
ssh pi@jiejinx.local
ip -6 addr show wlan0 | grep 'scope global'十二、文件清单
| 文件 | 大小 | 用途 |
|---|---|---|
| raspios-jiejinx-ssh-clean.img.xz | ~500–600MB | 金卡镜像(压缩包),可写入任意 ≥64GB TF 卡 |
| raspios-jiejinx-ssh-clean.img | ~5GB | 中间产物(解压后),压缩后可删除 |
| GParted Live ISO | ~600MB | 缩容工具(一次下载,随用随开) |
| VirtualBox VM | 无硬盘 | 缩容工作站(一次创建,永久复用) |
十三、注意事项
| 注意点 | 说明 |
|---|---|
| 操作顺序 | 清理操作在树莓派端执行,缩容操作在 Windows 端执行,顺序不可颠倒 |
| 缩容前确认 | TF 卡已配置完成且验证通过,缩容后不要再修改系统,否则配置不一致 |
| 选对设备 | 缩容时务必确认选中的是 TF 卡,不是电脑硬盘,GParted 中看容量和型号确认 |
| 仅读取已分配分区 | Win32DiskImager 读镜像时勾选“仅读取已分配分区”,否则仍会读到 59GB |
| 删除扩容标记 | 每次制作新版本 Golden Image 前,删除 /boot/firmware/.expanded,否则新镜像首次开机不会自动扩容 |
| 备份文件 | 建议存两份:电脑本地 + 移动硬盘/云盘 |
十四、本文小结
| 项目 | 说明 |
|---|---|
| 制作目的 | 将已配置完成的系统制成可移植小体积镜像 |
| 前置操作 | 清理 apt 缓存 + journal 日志 + 追加自动扩容服务 |
| 核心工具 | VirtualBox + GParted Live ISO + Win32DiskImager + 7-Zip |
| 写入工具 | Raspberry Pi Imager(原生支持 .img.xz,无需手动解压) |
| 恢复方式 | 写镜像 → 插卡开机 → 自动扩容 → 配置全在 |