Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法
Hyper-V是微软的虚拟化软件,功能类似VirtualBox、VMware,可以用来创建虚拟机。 虚拟化软件都是基于CPU等底层硬件的Hypervisor机制来实现的,而他们必须独占管理 Hypervisor,因此不能在一台电脑中同时运行多个虚拟化软件。由于Hyper-V与VirtualBox、VMware不能共存,因此当Hyper-V打开时,VirtualBox、VMware就不能正常工作了。目前还没有找到VirtualBox虚拟机和Hyper-V同时运行的方法。
目前解决方法就是禁用Hyper-V。途径有多种:
第一种方法:使用管理员权限运行命令:
bcdedit /set hypervisorlaunchtype off
对应的打开Hyper-V的命令:
bcdedit /set hypervisorlaunchtype auto
第二种方法:使用”添加或删除Windows组件“图形界面程序,在里面取消勾选Hyper-V。
上述方法都需要重启计算机。
这里把命令做成了bat文件,可以方便快速切换Hyper-V虚拟机服务状态。
@echo off
title Hyper-V虚拟机开关,需要以管理员身份运行,切换状态后将重启电脑 :: 开始获取管理员权限
cd/d"%~dp0"&(cacls "%SystemDrive%\System Volume Information" >nul 2>nul)||start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~s0"" %*","","runas",1)(window.close)&&exit /b :menu
cls
color 0A
echo.
echo Hyper-V虚拟机开关
echo.
echo ==============================
echo ***本程序适用于Windows8, Windows10操作系统环境***
echo ***本程序需要以管理员身份运行***
echo ***切换Hyper-V开关状态后将自动重启电脑,请做好数据保存工作***
echo ==============================
echo.
echo Hyper-V是微软的虚拟化软件,功能类似于VirtualBox和VMware,可以用来创建虚拟机。虚拟化软件都是基于CPU等底层硬件的Hypervisor机制来实现的,而他们必须独占管理Hypervisor,因此不能在一台电脑中同时运行多个虚拟化软件,所以Hyper-V与VirtualBox、VMware不能共存。当Hyper-V打开时,VirtualBox、VMware就不能正常工作了,如果要正常使用其他虚拟机,解决方法就是禁用Hyper-V。
echo.
echo ==============================
echo 请选择要进行的操作,然后按回车
echo ==============================
echo.
echo 1.关闭Hyper-V虚拟机并重启
echo.
echo 2.开启Hyper-V虚拟机并重启
echo.
echo Q.退出
echo.
:cho
set choice=
set /p choice=请选择:
if not \"%choice%\"==\"\" set choice=%choice:~0,1%
if /i \"%choice%\"==\"1\" goto sub_open
if /i \"%choice%\"==\"2\" goto sub_close
if /i \"%choice%\"==\"Q\" goto sub_exit
goto :eof
echo 选择无效,请重新输入
echo.
goto cho
:sub_open
bcdedit /set hypervisorlaunchtype off
shutdown -r
pause
:sub_close
bcdedit /set hypervisorlaunchtype auto
shutdown -r
pause
:sub_exit
echo.
echo 亲,再见 :)
echo. & pause