你手里有一块 Raspberry Pi 5,面前没有显示器、没有键盘鼠标,只有一台日常用的笔记本电脑,却想给它装一个 Ubuntu 操作系统。这听起来像是装机教程里最不愿意碰到的开局,但实际并没有那么复杂。只要抓住安装的实质——写卡、预配置、开机、登录,这几个环节全部可以脱离外设完成。我在多次无头(headless)装机中实测过一条非常稳的路径,这篇文章就把完整过程、每一步的底层逻辑、以及我踩过的坑都拆开讲清楚。
这套方法尤其适合手里只有笔记本、不想为一块开发板专门去翻显示器和键鼠的人,也适合那些需要在多台树莓派上批量刷系统的场景。无论你是第一次接触树莓派,还是已经用过 Pi 4 想升级到 Pi 5,这条无外设安装 Ubuntu 的路线都可以直接抄作业。
注意:Raspberry Pi 5 和 Pi 4 在供电、引导方式、发热控制上都有明显差别。如果你用的是旧版 Pi 4 的经验,部分细节需要调整,本文会针对 Pi 5 单独标注。
1. 无外设安装的核心思路和方案选型
1.1 看似“无外设”,实际上是把外设搬到了另一台电脑上
没有显示器、键盘、鼠标,不代表系统安装就无法交互。常规装系统需要人通过屏幕和键鼠跟安装程序交互,但 Ubuntu 官方以及树莓派基金会提供的烧录工具,让我们可以在另一台电脑上提前完成系统的“预安装”和“预配置”。
具体来说,无外设安装的本质就三步:
- 把 Ubuntu 系统镜像写入 SD 卡或 NVMe 硬盘,这一步用的是读卡器或硬盘盒。
- 在烧录的同时,把无线网络信息、SSH 开关、用户名密码等配置也一并写入启动分区。
- 把卡插进树莓派,通电开机,树莓派自动完成系统展开,然后通过局域网连接它。
所以所谓的“没有外设”,只是把交互从树莓派的 HDMI 和 USB 接口,转移到了你手里的那台主力电脑上。树莓派通电之后,完全不需要人去碰它。
1.2 为什么选择 Ubuntu 而不是 Raspberry Pi OS
很多教程默认推荐 Raspberry Pi OS,因为它自带桌面、对树莓派硬件支持最完善。但如果你要跑的是 Ubuntu 生态下的软件、要用较新的内核、或者做服务器类应用,Ubuntu 是更合适的选择。
- Ubuntu 提供专门针对树莓派优化过的官方镜像,分为 Server 版和 Desktop 版。
- Server 版默认无桌面环境,内存占用低,非常适合无外设场景。
- Ubuntu 的软件源、文档、社区资源比 Raspberry Pi OS 更丰富,很多云原生工具链(比如 Docker、Kubernetes)官方优先支持 Ubuntu。
- Ubuntu 24.04 LTS 对树莓派 5 支持得很好,64 位 ARM 架构。
如果你的目标是跑一个带界面的系统,可以选择 Ubuntu Desktop。但如果你的目标是“装完能用、稳定运行、方便远程管理”,Server 版是首选。本文以 Ubuntu Server 24.04 LTS 为例说明无外设安装过程。
1.3 关键工具选型:Raspberry Pi Imager
无外设安装最关键的辅助工具是树莓派官方的烧录工具Raspberry Pi Imager。它同时支持 Windows、macOS 和 Linux,功能远不只是把镜像写进 SD 卡,还内置了丰富的系统预配置能力。
Raspberry Pi Imager 的主要优势:
- 自动下载官方系统镜像,免去手动找镜像的麻烦。
- 支持烧录时直接写入网络配置、SSH、用户密码。
- 支持验证写入结果,避免碰上残次 SD 卡导致的莫名问题。
- 跨平台一致,团队协作时大家用同一套流程,避免环境差异。
在其他烧录工具(比如 balenaEtcher、Win32DiskImager)里,你只能得到一张“裸”系统卡,开机后如果没有外设,你既不知道怎么联网,也不知道能不能开启 SSH,这在前几步就会卡死。而 Raspberry Pi Imager 的预配置功能,正是无外设安装的突破口。
2. 准备工作:硬件清单与系统镜像获取
2.1 树莓派 5 的硬件要点
树莓派 5 在供电和数据接口上相比前代做了明显改动,我先把硬件方面最容易出问题的点列出来:
- 供电要求更高:树莓派 5 官方建议使用 5V/5A USB-C 电源(支持 PD 协议)。如果使用普通手机充电器,可能因为供电不足导致系统反复重启,或者 USB 外设无法稳定工作。这是一个看起来无关紧要、实际上影响非常大的细节。
- SD 卡启动仍然支持:树莓派 5 延续了从 SD 卡启动的方式,这也是大多数人最容易上手的存储方案。
- NVMe 启动:如果配合官方 NVMe HAT,可以从 M.2 固态硬盘启动。这个方案理论上读取速度更快,但首次安装过程比 SD 卡多一些步骤。这篇文章以 SD 卡为主,后续可以延伸说 NVMe。
供电和数据存储是树莓派 5 无外设安装中最容易翻车的两个点,如果你用的是在树莓派 4 上一直正常的电源,要注意可能喂不饱 Pi 5。
2.2 系统镜像选择:Ubuntu Server vs Desktop
Ubuntu 官方镜像主页提供了树莓派专用的多个版本,选择时需要想清楚用途:
| 版本 | 适用场景 | 说明 |
|---|---|---|
| Ubuntu Server 24.04 LTS | 服务器、后台任务、远程开发 | 体积小,无桌面,适合无外设安装 |
| Ubuntu Desktop 24.04 LTS | 需要图形界面的桌面应用 | 安装体积大,首启动时间长 |
| Ubuntu Core | 物联网场景、嵌入式 | 适合对容器化、自动更新有要求的场景 |
个人建议:第一次尝试无外设安装,优先选Ubuntu Server 24.04 LTS,因为它在无外设条件下最容易配置成功,且后续可随时通过sudo apt install ubuntu-desktop补装桌面环境。一开始就装 Desktop 版本也可以,但首启动展开时间长、占用 SD 卡空间大,如果 SD 卡质量一般,过程会拖得比较久。
2.3 使用 Raspberry Pi Imager 自动下载镜像
打开 Raspberry Pi Imager,点击“Choose OS”,在列表里找到“Other general-purpose OS”并展开,选中“Ubuntu”分类。这里会列出多个 Ubuntu 版本,选择你需要的版本。
一个实用技巧:如果你所在地区访问官方源很慢,可以提前手动下载 Ubuntu 树莓派镜像(.img.xz文件),然后在 Imager 里选择“Use custom”,直接选取本地镜像文件。这样可以避开 Imager 内置下载源速度不稳定的问题,也方便团队内部统一镜像版本。
3. 烧录系统时完成预配置,这是整套流程的灵魂
3.1 进入预配置界面
Raspberry Pi Imager 在点击“Write”之后,烧录完成前会弹出一个齿轮图标,提示“Edit settings”。有些人会直接跳过,但无外设安装的全部秘密都藏在这个设置里。
点击齿轮图标后,建议逐一填好以下内容:
- Set hostname:给树莓派起一个主机名,比如
ubuntu-pi。方便后续通过主机名访问。 - Enable SSH:勾选并选择“Use password authentication”或“Allow public-key authentication only”。如果只是为了快速上手,用密码认证最简单;如果要长期远程管理,建议配置 SSH 公钥。
- Set username and password:设定登录用户名和密码。注意,Ubuntu 的系统默认用户不是
pi,pi用户是 Raspberry Pi OS 才有的。 - Configure wireless LAN:填 Wi-Fi 的 SSID 和密码,选择国家代码(比如 CN 或 US),这个信息会写入系统的网络配置。
- Set locale settings:设置时区(比如 Asia/Shanghai)和键盘布局。
3.2 预配置背后的原理
预配置这一步看似只是填个表,实际上是把原本需要人工在安装界面里完成的工作提前做完了。树莓派启动后,系统首次引导会读取 SD 卡启动分区(boot)里预先写入的配置,并自动应用这些设置。
具体来说:
- SSH 配置会写入
ssh文件或系统级 SSH 服务配置,使 openssh-server 在首次启动时自动启用。 - 无线网络写入
user-data文件(cloud-init 配置),系统通过 Netplan 或 cloud-init 自动连接指定 Wi-Fi。 - 用户创建也是通过 cloud-init 机制完成的,Ubuntu 默认使用 cloud-init 做首次引导配置。
理解这一点后,你就能明白为什么烧录时填好配置是“灵魂”——它相当于替树莓派完成了所有需要人为输入的第一次配置。
3.3 想自定义更多配置怎么办
Raspberry Pi Imager 自带的预配置选项覆盖了大多数场景,但如果你需要更细粒度的控制,可以在烧录完成之后,手动编辑 SD 卡里的user-data文件。SD 卡被识别为可移动磁盘时,会分成两个分区:bootfs和writable。
你会看到bootfs分区里有user-data和network-config两个文件,其中:
network-config:控制网络配置,默认包含 Wi-Fi 的配置模板,可以修改静态 IP、网关、DNS。user-data:cloud-init 的用户数据文件,包含用户、SSH、时区、软件包安装等指令。
如果想让树莓派开机后自动执行某条命令(比如安装指定软件包、拉取代码),都可以写进user-data的runcmd字段。这个文件是 YAML 格式,缩进错误会导致配置不生效,修改时务必小心。
4. 烧录和首次启动,无外设安装的实操环节
4.1 烧录过程实测记录
以我用的 32GB A2 级 SD 卡为例,烧录 Ubuntu Server 24.04 镜像(约 1.1GB 下载体积,写入后系统占用约 3.5GB)的全过程大约 5 到 8 分钟。Imager 界面会显示进度条和写入速度,写入完成后自动进入校验阶段。
烧录完成后,Imager 会提示“The drive has been written successfully”。这时候就可以安全弹出 SD 卡。
有一次我用了一张年代久远的 Class 4 卡,写入速度很慢,校验阶段还报错了。换了一张 A2 规格的卡后一切正常。给树莓派装系统,SD 卡质量不能太差,真的会直接影响成败。
4.2 插入 SD 卡并通电开机
把烧录好的 SD 卡插入树莓派 5,接好网线(如果不想依赖 Wi-Fi,直接用有线网络更稳),然后插上电源。
这时候你可能想确认系统有没有开始跑,但因为没有外设,只能通过两种方式判断状态:
- 观察绿 PWR 灯和 ACT 灯(闪烁表示 SD 卡读写活跃)。
- 等两分钟,然后在同一局域网内用电脑尝试连接它。
如果是首次启动 Ubuntu Server,系统展开可能需要 1 到 5 分钟,取决于 SD 卡速度和镜像大小。耐心等待,别急着断电。
4.3 找到树莓派的 IP 地址
无外设安装中最容易卡住的一步,就是怎么知道树莓派拿到什么 IP。操作系统装好了,但得能连上才算成功。这里有几种方法:
- 从路由器后台看:进入路由器管理界面,在“DHCP 客户端列表”或“已连接设备”里找
ubuntu-pi或类似主机名,记录 IP 地址。 - 用主机名直接访问:如果在预配置里设置了主机名,且电脑和树莓派在同一局域网,可以直接
ssh ubuntu-pi.local。macOS 和 Linux 通常会解析.local后缀,Windows 不一定。 - 用
arp-scan扫描局域网:在电脑上安装arp-scan,扫描当前网段,找出树莓派的 MAC 地址(树莓派网卡 MAC 通常以dc:a6:32或e4:5f:01等开头)。 - 用官方工具查找:Raspberry Pi Imager 没有直接的 IP 扫描功能,但可以配合
nmap等工具扫描局域网。
我比较推荐的方法:先在路由器后台看主机名对应的 IP,找不到再用arp-scan。快速、零额外依赖。
4.4 SSH 连接并完成首次登录
拿到 IP 后,在电脑终端执行:
ssh ubuntu-pi@192.168.1.100输入在预配置阶段设置的用户名和密码,登录成功后你会看到 Ubuntu 的命令行提示符。到这里,无外设安装就已经走通了一大半。
首次登入后,如果烧录时写入了user-data里的runcmd指令,系统可能还在后台执行安装任务,可以运行sudo cloud-init status --wait查看是否完成。等状态变成done后,再继续做系统更新。
sudo apt update && sudo apt upgrade -y这一步更新系统核心软件包,建议每次都做,因为刚烧录完的镜像可能离发布日已经过去很久,里面可能有安全更新。
5. 特殊情况和高级玩法
5.1 预配置 SSH 没有生效怎么办
有时候按照流程填了 SSH 配置,但开机后 SSH 连接被拒绝。排查思路:
- SD 卡里的
user-data是否正确生成。可以在烧录完成后重新插回电脑,查看bootfs分区里有没有ssh这个空文件,以及user-data里是否包含 ssh 相关配置。 - Ubuntu Server 默认是否放行 SSH 服务的防火墙规则。检查系统内
sudo ufw status。 - 树莓派是否拿到了正确的 IP,而不是连接到了其它设备。
如果user-data配置有问题,最简单的解法是把 SD 卡重新插回电脑,用文本编辑器手动修改user-data,或者把ssh文件放到bootfs分区(注意是空文件,无扩展名),这样系统每次启动都会开启 SSH 服务。
5.2 没有 Wi-Fi 环境怎么办
如果你所处的网络环境没有无线网络,或者不方便告知 Wi-Fi 密码,还有一个备用方案:直接把树莓派用网线连接到路由器或交换机。这种方式不需要配置 Wi-Fi,系统启动后通过 DHCP 自动获取 IP。
如果连路由器都没有,只有一台电脑,也可以用网线直连树莓派和电脑。电脑手动配置一个169.254.x.x或指定静态 IP(例如192.168.1.10/24),树莓派通过 link-local 自分配地址后,理论上可以用ssh ubuntu@192.168.1.1等方式连接,但这种方法比较复杂,且和网络环境具体配置强相关,只建议在有经验的场景下使用。
5.3 从 SD 卡启动迁移到 NVMe 启动
树莓派 5 支持从 NVMe 固态硬盘启动,如果你计划长期跑服务,建议后续迁移到 NVMe。迁移方式有两种:
- 重新烧录:把 NVMe 硬盘通过 USB 转 M.2 硬盘盒接在电脑上,直接用 Raspberry Pi Imager 烧录,重复上面的预配置步骤。
- 从 SD 卡系统克隆:在树莓派运行的系统里,把根文件系统复制到 NVMe 硬盘上,然后通过
config.txt设置引导顺序(树莓派 5 默认支持自动探测)。
NVMe 启动对比 SD 卡,加载速度提升是天壤之别,尤其适合数据库、Web 服务、AI 推理等 I/O 密集型任务。
6. 常见问题与排查技巧实录
6.1 树莓派通电后无反应
可能原因:
- 供电不足:换用官方 5V/5A 电源。
- SD 卡未插紧或卡损坏:重新插拔,或换卡。
- 系统镜像未烧好:用 Imager 重新烧录一次,烧录完成同时勾选校验。
6.2 SSH 提示连接超时或拒绝
先 ping 树莓派 IP:
ping 192.168.1.100能通但 SSH 连不上,多半是 OpenSSH 服务没启动,或者端口被防火墙拦截。不能通,说明树莓派没有拿到 IP,或者不在同一网段。
最常见的坑:电脑连着 5G Wi-Fi,树莓派连接 2.4G Wi-Fi,看起来都是同一个路由器,但不同的 SSID 可能划分成不同 VLAN,导致两个设备互相访问不到。这时候用有线网络最省心。
6.3 Ubuntu 的默认用户是什么
Ubuntu 树莓派镜像里没有默认的pi用户。如果你在安装阶段没有设置用户,登录时会发现不知道用户名是什么。解决办法:
- 重新烧录,并确保在 Imager 设置里填写 username。
- 如果卡里的
user-data已经存在,可以编辑它,添加用户字段。
6.4 cloud-init 卡住的问题
有时候首次启动后系统会在 cloud-init 阶段停留很久,尤其是在网络不好的情况下。可以用sudo cloud-init status --wait或者tail -f /var/log/cloud-init-output.log查看进度和错误。
如果确认 cloud-init 卡死,且不急着重试,也可以在启动阶段等待 5 分钟后再复查。如果持续卡住,最稳妥的解决办法就是重新烧录,配置阶段先不填 Wi-Fi,直接插网线,等系统起来后再手动配置网络。
我在实际使用中遇到过一次 Wi-Fi 密码填错的情况,烧录时不会报错,开机后系统一直尝试连接 Wi-Fi 失败,表现为 IP 一直找不到。后来我把 SD 卡拔下来,仔细看了network-config才发现密码少了一位,修正后重新插回,马上就连上了。
6.5 Raspberry Pi 5 发热保护导致掉线
Raspberry Pi 5 性能比前代强很多,但发热也更猛。如果没有散热片或风扇,高强度运行时可能触发过热降频,极端情况下系统会卡顿甚至死机。无外设安装时你看不到温度,但可以通过 SSH 远程查看:
vcgencmd measure_temp如果温度过高,一是给树莓派加上官方散热风扇,二是别把树莓派闷在密闭盒子里。
7. 总结一下无外设安装的关键经验
整个过程走下来,你会发现无外设安装 Ubuntu 其实并不神秘,它只是将交互式安装过程拆分成了“预配置 + 自动部署”两个阶段。对我个人来说,最有价值的技巧有几点:
- 宁可多花两分钟检查预配置的 Wi-Fi 密码、用户名、SSH 开关,也别等到开机后两眼一黑找 IP。
- 优先用有线网络做首次启动连接,能省掉很多 Wi-Fi 环境下的奇怪问题。
- 系统起来后第一时间做
apt update && apt upgrade,避免带着陈旧软件包跑服务。 - 把烧录工具、常用镜像、
arp-scan这类查找工具提前装好,让整个流程保持完整闭环。
之后你再拿到一块树莓派 5,哪怕周围什么都没有,只要带一台电脑、一张卡、一根电源线,就可以在十分钟内让它安静地跑起 Ubuntu,并把你带到它的命令行前面。这种感觉试过一次就会明白,真的很省事。