我在Windows 7上使用的虚拟机软件是VirtualBox,它支持x64的虚拟机,而且是免费的。不像Hyper-V和VMWare Workstation,一个不支持客户端操作系统,另一个的License很贵。
在我的这台笔记本上,我最开始用的VirtualBox版本是4.0.4,很不稳定,虚机动不动就失去响应死机了。后来升级到4.0.6,稳定了许多,不太会死机了,不过虚机的网络驱动似乎有点问题,时间一长就连不上host的网络了。前几天出了4.0.8,我就又顺手升级了。可是在升级其中一个虚机的Guest Additions的时候遇到了问题,主要是我没有先卸载4.0.6的Additions,而是直接安装4.0.8的。以前我也是这么做的,一直没问题,这次不知怎么回事,4.0.8的装显卡驱动报错,导致显卡,鼠标和一个system设备统统没装上。糟糕的是4.0.6的驱动还被它卸掉了,虚机一下变得没法用了。
看了VirtualBox论坛里相关的问题,大部分都说没救了。可是这个虚机里有正在做的一个项目代码,不能轻易废掉。研究了半天各种帖子,终于找到一个方法,记在这里。
- 显卡驱动装不上可以通过修改VBoxVideo.inf解决。这个文件在C:Program FilesOracleVirtualBox Guest Additions目录下,打开,删掉NTAmd64.6.0相关的项目,保存。
- 执行下面的命令来安装显卡驱动:
- 鼠标驱动比较简单,在VBoxMouse.inf上右击,选安装应该就能装上。
- 用下面的命令手工安装系统设备驱动,添加网络驱动和鼠标驱动
VBoxDrvInst /i “PCIVEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00” “VBoxVideo.inf” “Display”
VBoxDrvInst /i “PCIVEN_80ee&DEV_cafe&SUBSYS_00000000&REV_00” “VBoxGuest.inf” “System”
VBoxDrvInst /addnetprovider VBoxSF 1
这样,重启之后Guest Additions的功能就恢复了。美中不足的是,在添加删除程序里看不到Guest Additions对应的项目,意味着它没法被轻易卸载了。要卸载只能通过手工来进行了。以后再升级还会是个麻烦。
所以升级VirtualBox Guest Additions的最好方式还是先卸载旧的Additions,再安装新的。