我在使用vagrant up来启动虚拟机的时候,经常遇到这样的错误:
there was an error while executing vboxmanage
, a cli used by vagrant for controlling virtualbox. the command and stderr is shown below.there was an error while executing vboxmanage
, a cli used by vagrant for controlling virtualbox. the command and stderr is shown below.
command: ["startvm", "e3088608-a6e8-49d5-b04d-72fe944fac85", "--type", "headless"
试了网上的很多答案,都不能优雅的解决我的问题,绝大多数的解决办法都是删除虚拟机,重新初始化它(不论是删除virtualbox ms文件夹还是删除用户目录下的.vagrant文件,其实就是删除虚拟机)。但是虚拟机怎么能说删就删,删掉容易,重新vagrant up以下又能搞个新的,但是麻烦的不是装虚拟机,而是我在虚拟机上装了很多环境,删了原来,我还得全部重新来一遍。不过,好在现在找到病根在哪了。一句话说掉:导致这个错误出现的原因就是你的虚拟机没有正常关机。
如何解决
- 命令行窗口键入此命令:sc.exe query vboxdrv ,该命令用于查看vboxdrv的运行状态,要确保
state
是RUNNING
,如果查询发现不是RUNNING
则需要使用sc start vboxbrv启动该服务。 - 如果启动失败,可以尝试重新安装vboxbrv,找到安装目录下的vboxdrv文件夹,如D:\VirtualBox\drivers\vboxdrv, 右击VBoxDrv.inf,选安装,然后重启电脑就可
以了,如果查询出来是RUNNING
则直接重启电脑,再次启动虚拟机就会发现可以启动了。
非正常关机的方式各种各样,说一下如何正常关机:
- 命令行窗口使用 vagrant halt
- virtualbox 右键当前虚拟机,选择正常关机