虚拟机假死?SSH 能连却卡 Logo 界面


date: 2026-1-11 20:30
categories: [技术]
tags: [技术,分享]

作为一名后端开发,虚拟机常常是我们用来跑中间件(MySQL、Redis、RocketMQ 等)或者模拟线上环境必不可少的工具,其重要程度不言而喻。

最近因为有些懈怠,有一段时间没打开虚拟机了。今天本想登上虚拟机看看,结果打开 VMware上的龙蜥 8(AnoliOS 8),发现一个怪事:虚拟机启动后,画面一直卡在 Anolis 的 Logo 界面,死活进不去登录页,仿佛"假死"了一样。

如下图所示:

但随后更奇怪的事发生了,我试了一下 SSH,居然能秒连!仿佛这次故障没发生一样。

这就像是 Tomcat 启动成功了,端口也能访问,但浏览器打开页面全是 404。这篇文章记录一下排查过程,以及从这次故障中延伸出的一些关于"环境一致性"的思考。

故障现象

  • 宿主机:Windows 11 + VMware Workstation
  • 虚拟机:Anolis OS 8(兼容 CentOS 8)
  • 症状:开机黑屏,画面下方有一个 Logo,有时间和操作设置,但无法进入图形登陆界面
  • 反常点:通过 SSH 可以正常登录系统,执行命令流畅,说明系统内核(Kernal)和基础服务都在运行,只是图形子系统(GUI)挂了

排查与尝试

既然 SSH 能连,说明已经将问题范围缩小到了 **Display Server(显示服务)**层级。

我的第一反应是查看日志和配置问题。我先后尝试了以下"常规"操作,但都无效:

  1. 多次关机重启:俗话说重启能解决电脑 90% 问题,但这次很"幸运"遇见了那 10%。
  2. 关闭 3D 加速:这是 VMware 常见的坑,但检查设置发现我本来就没开。
  3. 禁用Wayland :修改 /etc/gdm/custom.conf 强制使用 Xorg,重启后依然卡在 Logo。

解决方案

最终的解决方案,居然是简单粗暴的一行命令:

在 SSH 终端中执行全系统更新:

bash 复制代码
sudo dnf update -y

等待几分钟更新完成(下载了一堆 kernel, open-vm-tools, gdm 等包),然后重启:

bash 复制代码
sudo reboot

重启后,熟悉的界面秒弹出,问题成功解决。

深度解析:为什么仅仅是更细就能修复问题?

这个问题本事上是宿主机环境虚拟机环境 发生了代沟,在运维领域常被称为环境飘逸(Environment Drift)

1. 驱动与硬件的不兼容

在我没打开虚拟机的这段时间里,宿主机 Windows 可能更新了显卡驱动,VMware 软件本身可能也打过补丁。

这意味着,虚拟机底层的"虚拟硬件接口"变了。而 Anolis OS 里的驱动(Kernel Modules)还是之前的旧版本。

2. dnf update 做了什么?

执行更新命令,实际上完成了两个核心操作:

  • 升级内核与驱动 :安装了最新的 open-vm-tools 和显卡驱动,相当于更新了 Consumer 端的 jar 包,使其重新匹配宿主机的接口。
  • Rebuild Initramfs:系统在更新内核时会重新构建引导镜像,清理了可能存在的脏缓存。

扩展思考:从虚拟机到 Docker

这次经历让我联想到了为什么现代后端开发越来越推崇 DockerK8s,对于大家来说,这两个名词可能并不陌生。

传统的虚拟机(VM)模式,操作系统是非常厚重的一层。像我这次遇到的问题,仅仅是因为时间问题,宿主机和客户机之间就产生了不兼容。

如果在生产环境,这种"跑着跑着因为环境没更新而挂掉"的情况是灾难性的。这也正是 容器化技术 解决的痛点:

  • VM 模式:像是在维护一台精密的物理机器,你需要关心显卡驱动、内核版本、GUI 服务。
  • Docker 模式 :应用与其依赖环境被打包在镜像(Image)里。FROM openjdk:17 锁死了环境。无论宿主机怎么变,容器内部的环境是恒定的。

总结一下

如果你的虚拟机很久没开,突然出现各种"灵异"的显示问题,不要急着改配置文件。只要 SSH 能连上,先试着 yum/dnf update 一把。大多数时候,让它"跟上时代",问题就迎刃而解了。

相关推荐
tap.AI2 小时前
Deepseek(九)多语言客服自动化:跨境电商中的多币种、多语种投诉实时处理
运维·人工智能·自动化
ling-453 小时前
Linux-day09 11
linux·运维·服务器
202321336054 刘3 小时前
Linux常用命令分类整理
linux·运维·数据库
oMcLin3 小时前
如何在 Debian 11 上通过配置 LVM 和 RAID 结合,提升大规模存储系统的性能与冗余性
运维·debian
C_心欲无痕3 小时前
网络相关 - Ngrok内网穿透使用
运维·前端·网络
宇钶宇夕3 小时前
CoDeSys入门实战一起学习(四):应用程序运行、监控与调试
运维·自动化
zhyf1193 小时前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu
谢平康3 小时前
ssh-copy-id 后还是一直需要密码登录的一个解决办法
运维·ssh
zhangdawei8383 小时前
英伟达GB200,GB300和普通服务器如dell R740xd有什么区别?
运维·服务器·人工智能