检测到系统程序问题后无法连接到 Hyper-V Ubuntu 20.04 VM

检测到系统程序问题后无法连接到 Hyper-V Ubuntu 20.04 VM

我只是一名普通的 Ubuntu 用户,而且我刚开始管理自己的虚拟机,所以我希望我忽略了一些显而易见的东西。我在 Windows 10 上使用 Hyper-V 来运行 Ubuntu 20.04 VM,我只需要用它来运行一些工作模型。经过几个月的常规使用,一切都运行良好。

今天,在虚拟机上,我不得不终止一个设置错误、运行时间过长并占满虚拟硬盘的模型进程。也许重要的是,当这个过程仍在运行时,我取消了“检测到系统程序问题”弹出窗口(当然,然后很快就忘记了它)。

在终止有问题的进程后,会话似乎没问题。我过去总是top确保终止的是正确的进程。然后我本想从终端关闭虚拟机,但我却意外地重新启动了它 - 错误的肌肉记忆,可能并不重要。

但是,自从虚拟机重新启动后,我就无法连接到它了。从 Hyper-V 管理器中,我可以关闭并启动虚拟机(根据 Hyper-V 的说法,成功了),当我尝试连接时,我得到了 xrdp 登录屏幕。但是输入我的用户名和密码后,连接挂在蓝屏上,然后最终弹出此错误:

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
login successful for display 10
started connecting
connection problem, giving up
some problem

我发现其他人也遇到过类似的蓝屏问题(例如连接错误/问题(Windows 10 RDP 到 XRDP)) 解决方案通常表明 xrdp 存在问题。或者问题可能与“检测到系统程序问题”错误有关,不幸的是,我有机会时没有仔细查看。

然而,我的问题就在这里:即使探索这些问题也可能需要访问 Ubuntu VM 上的终端 - 但我无法连接到 Ubuntu VM - 所以似乎我无法访问终端甚至尝试修复问题。

那么 - 有人能指点一下如何使用 Moba 或其他方法访问虚拟机上的终端吗?还是虚拟机就此完蛋了?一开始可能出了什么问题?欢迎提出任何建议。

(据记录,我关心的主要原因是虚拟硬盘上保存了一些脚本和其他文件,我不想重新创建它们。因此,如果有办法只访问 VHDX 上的文件,那将是一个可以接受的解决方法。)



我还尝试过其他方法,希望它们能提供更多的启发:

  • 重新启动 Windows 10 主机,因为如果这样能解决问题而我却没有尝试过,我会觉得自己特别愚蠢。没有效果。
  • 在 Hyper-V 设置中禁用增强会话模式:在这种情况下,在“连接”并启动 VM 后,会出现 Hyper-V/Ubuntu 启动画面,然后大量文本运行得太快而看不见(我认为是启动信息),然后黑屏上会出现一个永远闪烁的光标。
  • 使用 Hyper-V“编辑磁盘”实用程序中的“转换”选项复制 VHDX,然后扩展此副本的大小并将其附加到 VM(以防问题是由于被终止的进程导致磁盘已满)。这没有效果 - 与原始问题一样,蓝屏挂起。
  • 通过 mobaxterm 使用其 IP 地址访问正在运行的 VM。连接被拒绝,尽管我对 ssh、端口等了解甚少,而且我可能设置错误。
  • 为了访问 VHD 文件,我构建了一个新的 Hyper-V VM,并将其附加到我上面创建的 VHDX 副本。但是,这个新的 VM 找不到启动映像,无法加载操作系统 - 我没有进一步研究这个问题,因为这超出了我的能力范围,而且看起来可能性不大。

再次感谢您的见解。

答案1

我也遇到了这个问题,但在 22.04 LTS 上,我发现两年内没有人回答过这个问题,我能够解决这个问题 - 从 Hyper-V VM 连接器菜单转到查看,如果增强会话选项被勾选 - 禁用它。

另见屏幕截图

答案2

我的系统上出现了完全相同的症状,禁用增强视图也没有解决问题。

我可以通过释放客户机 Ubuntu 20.04 VM 上的磁盘空间来修复此问题。我按照如下方式操作:

  • 启动虚拟机并禁用增强会话(对我来说这会导致黑屏冻结,无响应)
  • 在主机 Windows 10 中,在 cmd 中运行“arp -a”。可以在此处找到正在运行的 VM 的 IP。可能需要一点尝试才能找到正确的 IP(可能有更好的方法来找到正在运行的 VM 的 IP)。
  • 使用 WinSCP 连接到正在运行的虚拟机。在这里,我能够将我不想丢失的文件返回到主机 Windows 10 并备份它们。(请注意,除了 WinSCP 之外,还有很多其他工具可以做同样的事情)
  • 使用 WinSCP,删除正在运行的 VM 上的大文件以释放虚拟磁盘空间。
  • 重新连接到虚拟机,启用增强会话,就我而言,重新获得访问权限。

我学到的教训是:始终确保您没有在虚拟机的虚拟磁盘空间上运行关键程序。(并且始终备份您不想丢失的文件,您的系统可能随时出现故障。)

第一次在这个论坛上发帖,欢迎就此回复的结构提出任何反馈。

答案3

请参阅此答案。 从 Windows 到 Ubuntu 22.04 的远程桌面将带我进入 XRDP 登录,然后出现空白屏幕

按照 Sridhar Sarnobat 的回答,我可以使用增强模式。问题是禁用增强会话才能进入,运行以下命令然后重新启动。然后您可以启用增强会话并登录。

~/.xsession-errors

# Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Failed to execute child process “dbus-launch” (No such file or directory)
dbus-update-activation-environment: error: unable to connect to D-Bus: /usr/bin/dbus-launch terminated abnormally without any error message
dbus-update-activation-environment: error: unable to connect to D-Bus: /usr/bin/dbus-launch terminated abnormally without any error message

解决方案:

sudo apt install dbus-x11
dbus-launch

致谢:https://c-nergy.be/blog/?p=16698

更多信息:https://gist.github.com/milnak/54e662f88fa47a5d3a317edb712f957e

相关内容