树莓派双系统实战:从分区规划到无缝切换的完整避坑手册
手里只有一张存储卡,却总想在树莓派上体验不同的操作系统?反复刷写镜像、备份数据、重新配置,这套流程折腾几次就让人心生疲惫。对于很多开发者、创客和极客来说,树莓派不仅是学习工具,更是生产力环境的一部分。你可能需要一个稳定的 Raspberry Pi OS 作为日常服务器,同时又想保留一个 Ubuntu Server 或 LibreELEC 来测试新项目或搭建媒体中心。传统的单系统方案显然无法满足这种灵活切换的需求。
市面上虽然有 NOOBS 这类多系统安装器,但其依赖网络下载、占用额外空间、且对无头(Headless)操作不友好的特性,让很多追求极致控制和效率的玩家望而却步。自己动手实现双系统,不仅能完全掌控分区布局和启动流程,更能深入理解树莓派的启动机制,这份成就感远非一键安装可比。然而,手动分区、修改启动配置、处理文件系统挂载,每一步都暗藏玄机,稍有不慎就会导致分区表损坏、系统无法启动,甚至数据丢失。
这篇文章正是为你准备的。我将抛开那些浅尝辄止的教程,从一个实践者的角度,带你完整走一遍树莓派双系统的构建之路。我们不仅会完成安装,更会深入探讨分区策略的权衡、启动引导的底层原理,以及如何设计一套无需物理短接、可远程切换的优雅方案。无论你是第一次尝试的新手,还是曾经踩过坑的老玩家,这里都有值得你仔细琢磨的细节。
1. 核心概念与准备工作:理解双系统的底层逻辑
在动手之前,我们必须先建立正确的认知。树莓派的双系统,与PC上的 GRUB 引导多系统有本质区别。树莓派没有传统的 BIOS/UEFI,它的启动流程非常直接:上电后,GPU 首先运行,从 SD卡/USB存储设备 的第一个分区(必须是 FAT32 格式)中读取固件和配置文件,然后加载并启动内核。这个第一分区通常被称为 boot 分区。
因此,实现双系统的核心思路,并非在启动时提供一个选择菜单,而是通过不同的硬件或软件条件,引导至不同的内核和配置文件。常见的方法有:
- 硬件引脚法:通过短接特定的 GPIO 引脚(如 GPIO2)到 3.3V 或 GND,在启动时让 GPU 读取不同的配置路径。
- 配置文件替换法:在
boot分区中放置多套配置,通过脚本或手动方式覆盖主配置文件。 - U-Boot 引导法:引入更强大的 U-Boot 作为二级引导器,实现类似 GRUB 的菜单选择(更复杂,但更灵活)。
对于大多数用户,前两种方法在可靠性和易用性上取得了最佳平衡。我们将主要围绕这两种方法展开。
1.1 工具与材料清单
工欲善其事,必先利其器。以下是确保过程顺利的必需品和推荐品:
硬件部分:
- 树莓派:本文以 树莓派 4B 为例,但其原理适用于 3B+ 及更新型号。
- 存储介质:一张 Class 10 或以上速度的 MicroSD 卡,容量建议 32GB 起。如果使用 USB 3.0 SSD,体验会更好。
- 读卡器:用于连接存储卡到操作电脑。
- 杜邦线(可选):如果采用硬件引脚切换法,需要母-母杜邦线若干。
软件与环境:
-
操作终端:你可以在另一台 Linux 电脑(如 Ubuntu)、macOS 终端,甚至直接在另一台树莓派上操作。本文将展示在 Ubuntu 22.04 桌面环境下的命令。
-
必要的软件包:我们将使用一系列强大的命令行工具。
# 更新软件源并安装必要工具 sudo apt update sudo apt install -y dosfstools parted rsync kpartxparted/fdisk:磁盘分区工具。dosfstools:用于创建和操作 FAT32 文件系统。rsync:高效的文件同步工具,保留权限和属性。kpartx:用于映射磁盘镜像内的分区,方便我们直接访问其中的文件。
-
系统镜像:准备两个你希望安装的 .img 格式系统镜像。例如:
raspios_lite_arm64_latest.img(官方 Raspberry Pi OS Lite)

&spm=1001.2101.3001.5002&articleId=154596497&d=1&t=3&u=0134eb8409964cacbfaf9465f48869ea)
1046

被折叠的 条评论
为什么被折叠?



