Skip to content

前言

早在 2023 年,我就开始了有关无盘启动的探索。一开始看到主板上的 PXE 网络启动选项,非常好奇它能做什么。去网上搜索后,我了解到了 PXE 批量装机等实用方案。2025 年,我接触到一台 IBM 服务器,无意中在 BIOS 中看到了 iSCSI Target 的配置项。iSCSI 我在 NAS 上研究过,它能将硬盘以块设备的方式共享,挂载后能获得与本地硬盘一致的体验。既然在企业级服务器的 BIOS 里看到了 iSCSI,那岂不是可以直接从 iSCSI 硬盘上启动系统?企业级设备的功能确实全面。

虽然当时没有机会在这台服务器上深入研究,但我意识到:如果只有企业级设备才能用上无盘启动,那这套方案显然不具备普适性。

遗憾的是,互联网上关于无盘启动的技术探索大多零星散乱,缺少一个开源且完整跑通的方案。市面上常见的多是商业黑盒软件,并不适合我们日常折腾与学习。后来在 Bilibili 上,我看到一位 UP 主用 iPXE 成功启动了 ESXi 系统,尽管他也没有彻底研究明白其他系统的启动流程,但这让我看到了开源社区在无盘启动领域的努力——至少已经有项目在支持这条路了。

在随后的一年里,我开始断断续续地研究 iPXE 项目。但 iPXE 官方并没有提供像 K8s 社区那样详尽的部署文档,这让我不禁怀疑:iPXE 无盘启动真的能跑通吗?尽管如此,我还是进行了大量尝试,将 iPXE 所依赖的环境用 Docker Compose 编排起来,整理成了开源项目 ipxe-netboot-stack-docker。然而,Docker 编排解决不了 iPXE 启动链路本身的黑盒问题,项目一度停滞不前。

2026 年 7 月初,我下定决心要彻底攻克 iPXE 无盘启动,哪怕面对的是一片混乱。但我并不畏惧。我曾经攻克过毫无资料的“明控创能”MKC3568 开发板(基于 RK3568 芯片),迁移过 ARM 飞牛系统至 NVMe 启动还逆向过飞牛的存储栈。既然曾在那么多断头路中蹚出了生路,iPXE 也不应该成为阻挡我前行的拦路虎。于是,我将 ipxe-netboot-stack-docker 项目正式重命名为 iPXE-All-Ready,寓意“全部搞定,一切就绪”,誓要彻底扫清 iPXE 无盘路上的所有障碍。

在 Qwen、Codex、DeepSeek 等 AI 助手的协同下,Debian 的无盘启动终于取得重大突破。我乘胜追击,继续对 Ubuntu 和 Windows 发起攻坚。7 月 15 日,Phase 1 全面收官。iPXE 无盘启动,终于不再是一门玄学。

接下来,还有 Phase 2,3,4 等待我们去攻克。万事开头难,但最难的开局已经被我们撕开了一道口子。我们有信心,也有能力完成一个又一个目标。

创造历史的人是怎样的?我们不知道,但今天,我们正在成为他们。