跳转到内容

装完无法引导 ​

适用范围 ​

安装程序顺利跑完、机器重启之后,却进不了 Proxmox VE:黑屏、卡在 BIOS/UEFI 界面、提示找不到可引导设备、或者掉进 grub rescue> 提示符。

不适用于:

开始排查前 ​

记录这几件事,决定了后面走哪条排查路线:

  • 安装时选的是 ext4/xfs,还是 ZFS on root?两者的引导修复方式完全不同。
  • 安装时用的 UEFI 还是 传统 BIOS (Legacy) 引导?
  • 屏幕上到底显示了什么——完全黑屏、卡在主板 Logo、还是有具体的报错文字?原样记下报错文字,不要凭印象复述。
  • 这台机器只有一块盘,还是多块?

先别急着重装

装完一次就引导失败,直觉是"重装一遍",但多数原因是 BIOS 设置或引导记录写入的小问题,几分钟能修好。重装意味着重新过一遍安装向导,而且如果问题出在 BIOS 设置上,重装也解决不了,会重复失败。

排查步骤 ​

1. 先确认是「没显示」还是「真没引导」 ​

很多所谓的"黑屏"其实是系统起来了,只是本地控制台没有画面输出(常见于独立显卡直通配置残留、某些核显在 UEFI 下的 GOP 驱动问题)。

在另一台电脑上,查路由器的 DHCP 租约列表,找这台机器的主机名或 MAC 地址,看有没有拿到 IP。拿到了就试着访问:

sh
# 在另一台电脑上,把 <ip> 换成查到的地址
curl -kI https://<ip>:8006

能访问 Web UI:系统其实是好的,只是本地显示故障,不影响使用,可以先接着用。想修显示问题,检查显卡直通配置(见显卡直通)或者换个显示输出接口。

没有拿到 IP、也访问不到:继续下一步。

2. 核对 BIOS 的引导模式与启动顺序 ​

进 BIOS/UEFI 设置,确认两件事和安装时一致:

项目检查什么
引导模式安装时选的是 UEFI 就必须用 UEFI 启动;选的是 Legacy 就不能切到纯 UEFI 模式
启动顺序系统盘排在最前面,而不是 U 盘或网卡 PXE
多块盘时选对盘确认启动项指向的是装了系统的那块物理盘,不是另一块数据盘

分支:BIOS 的启动菜单里根本看不到这块系统盘作为启动项 → 跳到步骤 5(硬件层面)。能看到但选了还是不引导 → 下一步。

3. 检查 Secure Boot ​

Secure Boot 开启后,如果加载的引导器没有被信任的签名链覆盖,可能直接拒绝启动而不给出明确提示。先临时关闭 Secure Boot 测试:

  • 关掉之后能引导 → 长期方案是保持关闭,或者按官方文档确认 Secure Boot 的证书注册方式。
  • 关掉也不行 → 排除了这个因素,继续下一步。

4. 用安装 U 盘进调试模式,检查引导记录 ​

保留好当时制作的安装 U 盘(见制作安装介质),重新插入并从启动菜单进入,选择高级选项里的调试/救援模式,把系统盘挂载进去。

ext4/xfs(传统 GRUB):

sh
# 在救援环境的 chroot 里,只读检查
ls /boot/grub/
cat /boot/grub/grub.cfg | grep -i "menuentry" | head

看不到 grub.cfg 或目录为空,说明 GRUB 没有正确安装。

ZFS on root(proxmox-boot-tool):ZFS 安装不使用传统 MBR 引导,而是把引导文件放在每块盘的一个小 ESP(EFI 系统分区)里,由 proxmox-boot-tool 统一管理和同步。

sh
# 只读检查,先看现状
proxmox-boot-tool status

预期输出会列出每块参与引导的盘及其 ESP 分区状态。如果提示某块盘的 ESP 未配置或者根本没有找到 ESP,说明引导没写全。

5. 重新写入引导记录 ​

确认了问题出在引导记录之后再动手。

写错目标会破坏别的磁盘的引导记录

下面这类命令都需要精确指定分区,而且是覆盖式写入。执行前用以下命令按容量、型号和分区标签确认目标,不要凭盘符猜:

sh
lsblk -o NAME,SIZE,FSTYPE,PARTLABEL,MODEL

多块盘的机器尤其容易搞混——插拔顺序变化会让 /dev/sda、/dev/sdb 这类名字漂移。不确定就先在测试机或者备用盘上练习一遍完整流程,再对生产机动手。

  • ZFS on root:确认好 ESP 分区后重新初始化并同步:
sh
proxmox-boot-tool init <esp-partition>
proxmox-boot-tool refresh

<esp-partition> 是上一步 lsblk 确认过的、这块系统盘上的 ESP 分区(通常是分区表里较小的那个、PARTLABEL 类似 EFI 的分区)。

  • 传统 GRUB:重新安装到系统盘(不是分区,是整块盘):
sh
grub-install <目标磁盘,例如 /dev/sda>
update-grub

6. 排除存储控制器模式的干扰 ​

部分主板的 RAID 模式(Intel RST / VMD)会让系统盘在某些引导阶段不可见,即使装的时候一切正常。如果安装时用的是 AHCI 模式,后来 BIOS 被改成了 RAID 模式(比如刷了 BIOS 或者别人动过设置),会导致引导失败。确认当前模式和安装时一致。

7. 排除硬件本身的问题 ​

前面都排除了,检查磁盘本身:

sh
# 在救援环境或另一台机器上接上这块盘
smartctl -a /dev/sdX

关注 Reallocated_Sector_Ct、Current_Pending_Sector 等字段有没有异常增长。如果盘本身有问题,引导修复没有意义,需要先救数据、再换盘,参考磁盘健康。

确认恢复 ​

拔掉安装 U 盘,正常重启,不接入任何救援介质:

  1. 屏幕上能看到 Proxmox VE 的启动菜单或直接进入登录提示符。
  2. 屏幕提示的 Web UI 地址(https://<ip>:8006/)能在浏览器打开。
  3. SSH 或本机 Shell 里执行 pveversion -v,输出正常的版本列表。
  4. systemctl --failed 没有异常输出。

重启两次,确认不是偶发的一次性成功——第一次可能是缓存生效,冷启动后的稳定性更能说明问题。

仍未解决 ​

带上以下信息去如何有效求助或官方论坛:

  • 安装时选的文件系统(ext4/xfs/ZFS)和引导模式(UEFI/Legacy)。
  • BIOS 屏幕上的原始报错文字或截图(脱敏主机名和序列号)。
  • proxmox-boot-tool status 或 GRUB 相关检查的完整输出。
  • lsblk -o NAME,SIZE,FSTYPE,PARTLABEL,MODEL 的输出。

参考资料 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。