我的 Ubuntu VM(16.04 桌面版)无法访问,我不知道原因。VM 为我提供 Web 服务(实际上是网站的开发端),托管在 Ubuntu 16.04 Server 主机上。发生故障时,网站开始出现各种错误,这些错误通常指向文件系统变为只读,但当我尝试通过 ssh 进入 VM 时,连接超时。我使用 vboxmanage 检查 VM 是否仍在运行。确实如此。
我重启了虚拟机,但仍然无法 ssh 进入。也没有网络活动。
我重启了主机,然后重启了虚拟机。仍然没有 ssh 或 http 活动。在上述所有尝试中,我检查了 VirtualBox 客户日志文件以查看是否有任何异常。有几个错误我稍后会讲到。
接下来,我将虚拟机文件复制到 Windows 10 主机上并启动它。我没有对配置文件进行任何更改。突然间,我可以通过 ssh 进入虚拟机。HTTP 也正常工作。这表明虚拟机文件没有问题,问题出在主机上。
所以我回到 Ubuntu 主机,试着看看发生了什么。启动虚拟机后,我尝试向客户机查询信息。首先我尝试
vboxmanage debugvm aow_main osinfo
这返回了一个错误(在某些日志文件中也可以看见):
VBoxManage: error: DBGFR3OSQueryNameAndVersion failed with VERR_DBGF_OS_NOT_DETCTED
VBoxManage: error: Details: code VBOX_E_VM_ERROR (0x80bb0003), component MachineDebuggerWrap, interface IMachineDebugger, callee nsISupports
VBoxManage: error: Context: "GetOSName(bstrName.asOutParam())" at line 366 of file VBoxManageDebugVM.cpp
我也尝试过:
VBoxManage guestproperty enumerate aow_main
返回:
Name: /VirtualBox/GuestInfo/OS/Product, value: Linux, timestamp: 1482248718375707200, flags:
Name: /VirtualBox/HostInfo/GUI/LanguageID, value: en_US, timestamp: 1482249727470339600, flags: RDONLYGUEST
Name: /VirtualBox/HostInfo/VBoxVerExt, value: 6.0.6, timestamp: 1557737810049398001, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/GuestAdd/Vbgl/Video/SavedMode, value: 1920x1080x32, timestamp: 1445589583275156701, flags:
Name: /VirtualBox/VMInfo/ResumeCounter, value: 0, timestamp: 1557737809981173000, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/GuestInfo/OS/Version, value: #26~14.04.1-Ubuntu SMP Fri Jul 24 21:18:00 UTC 2015, timestamp: 1482248718379707701, flags:
Name: /VirtualBox/GuestAdd/VersionExt, value: 4.3.36_Ubuntu, timestamp: 1482248718380207801, flags:
Name: /VirtualBox/GuestAdd/Revision, value: 105129, timestamp: 1482248718380207802, flags:
Name: /VirtualBox/HostGuest/SysprepExec, value: , timestamp: 1557737809981173000, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/GuestAdd/Vbgl/Video/0, value: 1920x1080x32,0x0,1, timestamp: 1445589583275156700, flags:
Name: /VirtualBox/HostGuest/SysprepArgs, value: , timestamp: 1557737809981173000, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/GuestAdd/Version, value: 4.3.36, timestamp: 1482248718380207800, flags:
Name: /VirtualBox/VMInfo/ResetCounter, value: 0, timestamp: 1557737809981173000, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/HostInfo/VBoxRev, value: 130049, timestamp: 1557737810049398002, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/HostInfo/VBoxVer, value: 6.0.6, timestamp: 1557737810049398000, flags: TRANSIENT, RDONLYGUEST
Name: /VirtualBox/GuestInfo/OS/Release, value: 3.19.0-25-generic, timestamp: 1482248718379707700, flags:
Name: /VirtualBox/GuestAdd/HostVerLastChecked, value: 5.0.6, timestamp: 1445591681341077300, flags:
我将这些状态与 Windows 10 主机的状态进行了比较。我注意到这里的状态不包括任何有关网络适配器的信息。
我已经想不出如何调试这个问题了,所以任何想法都会受到感激。如果有人知道任何软件冲突,主机正在运行 Docker 18.06 和 Virtual Box 6.0.6。除了操作系统之外,主机上没有运行任何其他东西。
我没有发布日志文件,因为它们太大了,但如果需要我可以添加它们。
谢谢。