跳转到内容

虚拟机开不了机 ​

适用范围 ​

点 Start 后任务失败、卡住不动,或者虚拟机变成 running 状态但屏幕上什么都没有。

不适用于这些更具体的情况,本页只做分流:

开始排查前 ​

先弄清楚三件事,避免做无用功:

  1. 这台虚拟机之前能正常开机吗? 一直不能开机(新建的)和「昨天还好好的」是两类完全不同的问题。
  2. 最近有没有改动? 改过配置(BIOS 类型、磁盘总线、CPU 类型)、做过迁移、扩过盘、宿主机是否断电或异常重启过、存储是否有变化。
  3. 谁在依赖这台虚拟机? 如果上面跑着别人在用的服务,先评估要不要先通知,再决定排查花多长时间。

下面的检查大多是只读的

除了「改回原配置」这一步,本页其余检查都不会碰数据,可以放心按顺序做。

排查步骤 ​

第一步:在命令行直接启动,看完整报错 ​

Web UI 的失败提示常常只有一句话。宿主机 shell 里执行:

sh
qm start <vmid>

命令行会把完整错误打出来,按报错内容分流:

报错关键字大概率原因下一步
unable to acquire lock / ... is locked虚拟机处于锁定状态到 虚拟机被锁定,不要直接 qm unlock
存储名 + not found / not online / no such logical volume存储不可用pvesm status 确认,见下一节
Cannot allocate memory / 内存相关宿主机可用内存不够检查其他虚拟机占用、气球驱动设置,或先关掉别的客户机腾内存
PCI/设备相关(Device eth0 not found、vfio 相关)直通设备不存在或被占用到直通常见问题
没有报错,命令直接返回成功启动层面没问题,看下面「黑屏」部分见第三步

第二步:存储不可用时,先确认范围 ​

sh
pvesm status

关注这台虚拟机的磁盘所在的存储,状态是不是 active。

  • NFS/SMB 存储掉线:宿主机侧的挂载断了,通常是网络或对端 NAS 的问题,其他用这个存储的虚拟机会一起受影响。
  • 本地 LVM-Thin 或 ZFS 报错:可能是空间写满或池本身异常,分别见 local-lvm 满了 和 ZFS 池降级。
  • 只有这一台虚拟机受影响,存储本身状态正常:检查这台虚拟机的磁盘条目是否还在(例如被误删、被其他任务占用):
sh
qm config <vmid> | grep -E '^(scsi|sata|virtio|ide)[0-9]'

把输出里的卷名拿去和存储里实际存在的卷核对(pvesm list <存储名>)。

第三步:任务返回成功,但没有画面或卡在启动动画 ​

先确认它是不是真的卡住了,而不是还在走 BIOS/引导阶段:

sh
qm status <vmid>

看到 status: running 但 Console 里长时间黑屏,检查这几项——这些也是创建虚拟机时反复强调「装完别乱改」的选项:

  • Options → Boot Order:光驱或网卡排在了硬盘前面。
  • BIOS 类型改过(SeaBIOS ↔ OVMF):系统装的时候是哪种就必须一直是哪种,中途切换基本等于换了引导方式,会直接起不来。
  • 磁盘总线改过(比如从 SATA 换成 SCSI):客户机里没有对应驱动,Linux 可能进不去根文件系统,Windows 会蓝屏。
  • ISO 还挂着:装完系统忘记弹出安装介质,导致又从安装程序启动。检查 虚拟机 → Hardware → CD/DVD Drive。

UEFI 客户机偶尔需要手动介入

OVMF/UEFI 模式下,如果启动项丢失,可能会停在 EFI Shell。这种情况下通常不是「坏了」,而是需要在 Shell 里手动选择或重建启动项,参考具体系统的 UEFI 修复方法。

第四步:看更详细的日志 ​

sh
journalctl -u qmeventd -n 100 --no-pager
tail -100 /var/log/pve/tasks/active

日志里通常能看到 QEMU 进程本身抛出的错误(比如具体哪个设备初始化失败),比 Web UI 的摘要更有用。

第五步:这台虚拟机是 HA 资源 ​

如果它被纳入了高可用管理,反复启动失败会被 HA 判定为 error 状态并停止自动重试,避免无限循环重启浪费资源。

sh
ha-manager status

看到对应资源处于 error,先按前面几步排查根因,解决后再让 HA 重新接管,而不是直接反复点 Start。

确认恢复 ​

  1. qm status <vmid> 输出 status: running。
  2. Console 能看到正常的登录界面,或者能 SSH 进去。
  3. Web UI 的 Summary 页能看到客户机 IP(说明系统和网络都正常,前提是装了 QEMU Guest Agent)。
  4. 如果是断电、OOM 或存储抖动引起的,观察一段时间(比如一天)确认不会复发,而不是解决了当下这次就结束。

仍未解决 ​

按 如何有效求助 整理信息,至少准备:

sh
pveversion -v
qm config <vmid>

加上 qm start <vmid> 的完整报错、journalctl -u qmeventd 相关片段,以及这台虚拟机磁盘所在存储的配置和状态。

参考资料 ​

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