电脑(Mac系统)由于某种问题自动重启了,重启后之前在用的VirtualBox(虚拟机管理器)能恢复运行,但VirtualBoxVM(虚拟机终端)进程已停止,点击管理器的「显示」也出现报错,导致虚拟机不能使用。
一、报错现象
此时如果关闭虚拟机管理器,再启动后管理器中会显示虚拟机正在运行,但点击「显示」还是报错。
注:先区分 虚拟机管理器 和 虚拟机终端。VirtualBox 是虚拟机管理器,负责虚拟机的参数配置管理,一般每次启动虚拟机都是通过管理器进行启动的。VirtualBoxVM 是虚拟机终端,即虚拟机运行进程,虚拟机操作都是在这里进行的,如下图所示:
二、解决方法
目前发现有两种解决方法,其中方法二更快更简单,对应方法如下:
方法一:根据提示,使用指令直接启动虚拟机(官方弹窗建议)
根据图1-1报错提示,可通过指令对虚拟机进行重启,该指令需要使用虚拟机UUID(通用唯一标识符)。虚拟机的UUID是多少?查询UUID的方法如下:
MacBook-Pro:~ fy$
MacBook-Pro:~ fy$ VBoxManage list vms
"Windows_7" {fa800cfb-6c97-451a-9573-020ec852dc03}
MacBook-Pro:~ fy$
获取虚拟机的UUID后,再使用启动指令开启虚拟机,方法如下:
MacBook-Pro:~ fy$
MacBook-Pro:~ fy$ VirtualBoxVM --startvm fa800cfb-6c97-451a-9573-020ec852dc03
DEBUG: issetugid_for_AppKit was called by 0x7fff302003d3 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit::_NSCheckForIllegalSetugidApp+0xb (via 0x7fff30200172)
指令执行后,就会看到虚拟机被直接呼起了(即不是通过虚拟机管理器启动的),如图所示:
方法二:打开「用户与群组」,有解锁操作就行(简单快捷)
还有一种方法,就是进入「系统偏好设置」,打开「用户与群组」,解锁后随便点击操作几下,然后再去打开VirtualBox,这时就会发现虚拟机能正常启动了,操作步骤如下: