遇到由于服务器意外断电关机造成kvm虚拟机无法启动了,而且用realvnc能连但是却连不进去的情况,实际解决方法如下:
询问gemini之后得到了解决方案,国内的豆包、元宝全都解决不了问题。

在使用 RealVNC Viewer 连接 KVM/QEMU 虚拟机时遇到“Protocol error: invalid message
type”(如 141 或 255)这类错误,通常是因为 VNC 客户端与服务器之间的协议协商不一致 或者 画质协商冲突 导致的。

这个问题在连接虚拟化环境(如 KVM、FreeNAS、Unraid 等)时比较常见。你可以按照以下步骤逐一排查并解决:

  1. 调整 VNC Viewer 的显示设置 (最快解决方式) RealVNC 等老牌 VNC 客户端在自动检测网络带宽时,有时会与虚拟机后端产生协议冲突。

修改画质设置:

打开 RealVNC Viewer,右键点击你的连接图标,选择 Properties (属性) 或 Options (选项)。

在 Options 中找到 Picture quality (画质) 设置。

不要使用“Auto (自动)”或“Negotiate (协商)”,请将其手动设置为 High (高) 或 Best (最高)。

关闭网络优化:

如果在 Expert 选项卡中,尝试关闭 "Adapt to network speed"(适应网络速度)选项。

  1. 强制使用旧版协议版本 (如需) 如果调整画质后仍然报错,可以强制要求 VNC Viewer 使用更兼容的协议版本:

在 RealVNC Viewer 的 Properties -> Expert 标签页中。

搜索 ProtocolVersion。

将其值手动改为 4.1。

然后就可以登陆进去了,发现原来是由于意外断电造成ubuntu虚拟机的虚拟磁盘文件有损伤,造成的无法进系统。
2026-04-03T01:19:07.png
2026-04-03T01:19:40.png
出现了如上图的提示之后,就可以进行修改了。
1、在命令行下输入:blkid
2026-04-03T01:22:40.png
2、输入fsck -f /dev/vda2 然后一路yes重启就可以修复好kvm虚拟机了。

标签: none

添加新评论