Skip to content

树莓派4B自建网页服务器指南 (3):TF 卡镜像备份 —— 自制Golden Image (下)

回看上篇 !

承接上篇 继续:

八、缩容 root 分区 (打造最小镜像包)

8.1 在 GParted 中选择 TF 卡

  1. GParted 右上角下拉菜单,选择你的 TF 卡(通常是 /dev/sdb或 /dev/sdc)

  2. 确认容量是你那张 64GB 的树莓派 TF 卡,不要选错成电脑硬盘

8.2 缩容操作

  1. 选中分区表中最大的那个 ext4 分区(通常是 /dev/sdb2,大小约 58GB)
  2. 右键 → 调整大小/移动
  3. 在弹出的窗口中:
    • 新大小(MiB):输入 5303(或比 df -h已用值略大的整数)
    • 前面的空闲空间(MiB):保持 0
    • 点击 调整大小/移动
  4. 回到主界面,点击工具栏上的绿色 ✔ 应用所有操作
  5. 确认弹窗 → 点击 应用
  6. 等待进度条完成(通常 1-3 分钟)

8.3 关闭虚拟机

  1. 缩容完成后,关闭 GParted 窗口
  2. 点击桌面左下角 退出​ → Shutdown
  3. 虚拟机自动关闭

九、读取镜像

9.1 确认 TF 卡被 Windows 识别

  1. 关闭虚拟机后,TF 卡仍在读卡器中
  2. Windows 可能会弹出提示“是否需要格式化”,选择取消(不要格式化)
  3. 打开文件资源管理器,确认 TF 卡盘符存在(如 F:)

9.2 用 Win32DiskImager 读取镜像

  1. 打开 Win32DiskImager
  2. 映像文件:点击文件夹图标,选择保存路径,输入文件名raspios-jiejinx-ssh-clean.img
  3. 设备(Device):选择你的 TF 卡盘符(务必确认正确)
  4. 勾选 ☑ 仅读取已分配分区(⚠️ 这一步很重要,否则仍会全盘读取,读到 59GB大小)
  5. 点击 读取 (Read)
  6. 等待进度完成(约 5-15 分钟)
  7. 弹出 读取成功(Read Successful)→ 点击 OK
  8. 不要弹出 TF 卡(下一步压缩仍需读取)

此时你得到了一个 约 5GB​ 的 raspios-jiejinx-ssh-clean.img✅

十、压缩为 .img.xz

10.1 用 7-Zip 压缩

  1. 右键 raspios-jiejinx-ssh-clean.img
  2. 选择 7-Zip → 添加到压缩包
  3. 压缩格式:选择 xz
  4. 压缩级别:选择 极限压缩 (9)或 标准压缩 (5)
  5. 字典大小:选择 16 MB或 32 MB
  6. 点击 确定
  7. 等待压缩完成(约 3-8 分钟,取决于 CPU)

10.2 得到最终文件

raspios-jiejinx-ssh-clean.img.xz(约 500–600MB)

10.3 备份留存

建议存两份:

  • 电脑本地(如 D:\GoldenImages
  • 云盘 / 移动硬盘

十一、写入新卡(以后任何时候)

11.1 用 Raspberry Pi Imager 写入

  1. 打开 Raspberry Pi Imager
  2. 设备(Raspberry Pi Device):选择 Raspberry Pi 4
  3. 操作系统(Operating System):滚动到底部 → Use custom​ → 选择 raspios-jiejinx-ssh-clean.img.xz
  4. 储存设备(Storage):选择你的 新 TF 卡(容量 ≥64GB)
  5. 点击 下一步
  6. 确认写入,等待进度完成

✅ Imager 原生支持 .img.xz格式,写入时自动解压,无需手动解压。
若写入失败,可尝试更换usb2.0接口 接入TF存储卡

11.2 首次开机自动扩容

  1. 将写好的 TF 卡插入树莓派
  2. 首次开机,first-boot-expand.service自动运行:
    • growpart扩分区表
    • resize2fs扩文件系统
    • 创建 /boot/firmware/.expanded标记
  3. 自动重启 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,无需手动解压)
恢复方式写镜像 → 插卡开机 → 自动扩容 → 配置全在