问题:之前在VirtualBox中安装了一个MacOS系统且运行都正常。隔段时间后再次启动VirtualBox中的MacOS系统时出现如下错误提示:
尝试了网上的各种方法都未解决。关键是上面的提示看不到具体出错的原因。接着,想通过日志文件看能否找到出错的具有原因。日志一般存在于 C:\Users\[当前用户]\VirtualBox VMs\[虚拟机名]\Logs\VBoxHardening.log (备注:该路径是虚拟机上所安装系统的路径。此外VirtualBox的版本不同,log的名字不同。可以根据提示查看日志文件路径和文件名)。
在一个网页查看到:如果日志文件的错误信息里面包含C:\Windows\system32\oleaut32.dll那么需要修改注册表。
参考链接:http://www.doczj.com/doc/1714188710-2.html
1)打开注册表。按键win + R 打开运行对话框,输入命令regedit即可打开注册表。
2)在注册表中,找到项
HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}\Inpro cServer32
和
HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}\Inpro cServer32
可以看到默认键的值为oleaut32.dll
修改默认键的值为C:\Windows\system32\oleaut32.dll
重新打开虚拟机,即可启动虚拟机了。
看到上述信息后,我想起前几天在安装某个软件的过程中修改过 HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}\Inpro cServer32 的值,具体是增加一个字段值:InprocSever32 REG_SZ C:\Windows\system32\oleaut32.dll,导致
HKEY_CLASSES_ROOT\CLSID\{00020420-0000-0000-C000-000000000046}\Inpro cServer32 和
HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}\Inpro cServer32 的内容不同。
我的做法是删除我增加的内容,如下所示:
重新打开虚拟机,成功启动虚拟机了。