You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将BerryBoot部署的无GUI版Raspbian系统打包为ISO镜像,以便刷入SD卡去除BerryBoot并保留原有系统

如何将BerryBoot部署的无GUI版Raspbian系统打包为ISO镜像,以便刷入SD卡去除BerryBoot并保留原有系统

嘿,我完全懂你的困扰——BerryBoot确实给多系统部署带来了便利,但启动慢、偶尔兼容性拉胯的问题,对于你这种要无显示器全天候跑的场景来说真的闹心。下面是一套经过验证的步骤,帮你把现有Raspbian系统打包成可以直接刷入SD卡的镜像,彻底摆脱BerryBoot的束缚:

准备工作

  • 一台备用电脑(Windows/macOS/Linux都行,Linux处理分区最顺手)
  • 读卡器,用来读取树莓派的SD卡
  • 至少比你现有Raspbian系统占用空间大1-2GB的存储空间(用来存自定义镜像)
  • 重要:先备份原SD卡的所有内容! 万一操作失误,还能恢复原状

步骤1:识别SD卡上的分区

把SD卡插读卡器接备用电脑,你会看到两个主要分区:

  • 一个是BerryBoot的引导分区(通常是FAT32格式,几百MB大小)
  • 另一个是你的无GUI Raspbian系统分区(ext4格式,占用空间较大)
    注意:我们只需要Raspbian系统分区里的内容,BerryBoot的引导分区可以直接忽略

步骤2:创建空白镜像文件

我们需要先生成一个空白的镜像文件,后续把系统内容塞进去:

Linux/macOS 命令行方式

# 创建一个10GB的空白镜像(根据你系统实际占用空间调整,比如系统用了8GB就设10GB)
dd if=/dev/zero of=raspbian-custom.img bs=1G count=10

Windows 方式

可以用DiskGenius直接创建空白镜像文件,或者用命令行:

# 创建10GB的空白镜像(10*1024*1024*1024=10737418240字节)
fsutil file createnew raspbian-custom.img 10737418240

步骤3:给空白镜像分区

现在要给镜像分两个区,和树莓派官方镜像的结构一致:

  1. 引导分区:FAT32格式,大小建议256MB(足够装Raspbian引导文件)
  2. 系统分区:ext4格式,占用镜像剩余的所有空间

Linux/macOS 操作

  1. 把镜像挂载为循环设备:
LOOP_DEV=$(losetup -f --show raspbian-custom.img)
  1. 用fdisk分区:
fdisk $LOOP_DEV

在fdisk交互界面里:

  • 输入g创建GPT分区表(兼容树莓派所有型号)
  • 输入n创建第一个分区:选择主分区,起始扇区默认2048,大小输入+256M
  • 输入t修改分区类型,输入1选择EFI系统分区(或者c选W95 FAT32,都可以)
  • 输入n创建第二个分区:选择主分区,起始扇区默认,大小直接按回车用剩余空间
  • 输入t修改分区类型,输入2,然后输入83选择Linux分区
  • 输入w保存分区表
  1. 格式化分区:
mkfs.fat -F32 ${LOOP_DEV}p1
mkfs.ext4 ${LOOP_DEV}p2

Windows 操作

用DiskGenius打开刚才创建的空白镜像文件,右键选择“建立新分区”,依次创建FAT32引导分区和ext4系统分区,然后格式化即可(需要支持ext4格式的工具,比如DiskGenius自带支持)

步骤4:复制系统和引导文件

先把镜像的两个分区挂载到电脑上:

  • 引导分区挂载到/mnt/boot(Linux/macOS)或者某个盘符(Windows)
  • 系统分区挂载到/mnt/root(Linux/macOS)或者某个盘符(Windows)

然后执行复制:

  1. 复制系统文件:把原SD卡中Raspbian系统分区的所有文件,完整复制到镜像的系统分区。Linux/macOS推荐用rsync保证权限和属性完整:
rsync -avx /path/to/original/raspbian/root/ /mnt/root/

Windows用户可以用DiskGenius直接拖拽,注意勾选“保留文件权限”选项

  1. 复制引导文件:找到原Raspbian系统分区里的/boot目录,把里面的所有文件复制到镜像的引导分区里。这里要注意:不要用BerryBoot的引导文件,必须用Raspbian自身的引导文件!

步骤5:修复系统引导配置

这一步是关键,不然刷入SD卡后会无法启动:

  1. 修改cmdline.txt:打开镜像引导分区里的cmdline.txt,确保root参数指向系统分区,比如:
console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash

/dev/mmcblk0p2是树莓派SD卡的第二个分区,对应我们创建的系统分区,不要改错

  1. 修改fstab:打开镜像系统分区里的/etc/fstab,把引导分区和系统分区的UUID替换成新镜像分区的UUID:
  • Linux/macOS可以用blkid ${LOOP_DEV}p1和blkid ${LOOP_DEV}p2获取UUID
  • Windows可以用DiskGenius查看分区的UUID
    替换后的fstab大概长这样:
UUID=XXXX-XXXX  /boot           vfat    defaults          0       2
UUID=XXXXXX-XXXX-XXXX-XXXX-XXXXXX  /               ext4    defaults,noatime  0       1

步骤6:优化镜像大小(可选)

如果你的镜像比实际系统大很多,可以缩小它节省空间:

  1. 先把系统分区缩小到实际使用大小:
resize2fs ${LOOP_DEV}p2
  1. 然后用fdisk查看系统分区的结束扇区,计算需要截断的镜像大小,最后执行:
truncate --size=$((END_SECTOR * 512)) raspbian-custom.img

END_SECTOR是你在fdisk里看到的系统分区结束扇区号

步骤7:刷入SD卡

最后用Raspberry Pi Imager、Etcher或者Win32 Disk Imager,把你制作好的raspbian-custom.img刷入SD卡,然后插回树莓派,开机就能直接启动你的无GUI Raspbian,彻底告别BerryBoot了!

备注:内容来源于stack exchange,提问作者Jimmy Bungalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:45:27