code

명령 줄에서 Hyper-V를 비활성화하는 방법은 무엇입니까?

codestyles 2020. 9. 20. 09:59
반응형

명령 줄에서 Hyper-V를 비활성화하는 방법은 무엇입니까?


VMware를 열려고하는데 VMware 플레이어와 Hyper-V가 호환되지 않는다고합니다. 여기 에서 찾았 지만 제공하는 명령을 사용하여 작동하지 않습니다.

나는 도움을 보려고 노력했고 거기에 /hypervisorsettings옵션이 있다는 것을 알았 습니다. 그러나 여전히 작동하지 않습니다 The parameter is incorrect.

누구든지 이것을 도울 수 있습니까?


에서 상승 된 명령 프롬프트 쓰기이 :

비활성화하려면 :

bcdedit /set hypervisorlaunchtype off

사용하려면:

bcdedit /set hypervisorlaunchtype auto 

(댓글에서-다시 시작하여 적용)


이 명령은 작동합니다

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

그것을 실행하고 메시지가 나타나면 컴퓨터를 다시 시작하는 데 동의하십시오.

Windows 10의 관리자 권한 PowerShell에서 실행했지만 Win 8 또는 7에서도 작동합니다.


관리자 프롬프트에서 다음과 같이 Hyper-V를 포함하거나 포함하지 않는 Windows 10 구성을 가질 수 있습니다.

bcdedit /copy {current} /d "Windows 10 no Hyper-V"

방금 만든 "Windows 10 no Hyper-V"부팅 항목의 새 ID를 찾습니다. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

bcdedit /set {094a0b01-3350-11e7-99e1-bc5ec82bc470} hypervisorlaunchtype Off

재부팅 후 시작시 Hyper-V가있는 Windows 10과없는 Windows 10 중에서 선택할 수 있습니다.


명령 줄 :

dism /online /disable-feature /featurename:microsoft-hyper-v-all

누군가 얻는 경우 :

업데이트를 완료 할 수 없습니다. 변경 취소 중입니다.

Hyper-V를 비활성화 한 후 장치 관리자-> 네트워크 어댑터에서 Hyper-V 가상 네트워크 어댑터를 제거해보십시오.


관리자로 명령 프롬프트를 열고 다음 명령을 실행하십시오.

bcdedit /set {current} hypervisorlaunchtype off

재부팅 후에도 Hyper-V는 계속 설치되지만 Hypervisor는 더 이상 실행되지 않습니다. 이제 문제없이 VMware를 사용할 수 있습니다.

Hyper-V가 다시 필요한 경우 관리자로 명령 프롬프트를 열고 다음 명령을 실행합니다.

bcdedit /set {current} hypervisorlaunchtype auto

내 스크립트를 사용할 수 있습니다. 메모장에 코드 줄을 붙여넣고 vbs (예 : switch_hypervisor.vbs)로 저장

Option Explicit

Dim backupfile
Dim record
Dim myshell
Dim appmyshell
Dim myresult
Dim myline
Dim makeactive
Dim makepassive
Dim reboot
record=""
Set myshell = WScript.CreateObject("WScript.Shell")

If WScript.Arguments.Length = 0 Then
    Set appmyshell  = CreateObject("Shell.Application")
    appmyshell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1
    WScript.Quit
End if




Set backupfile = CreateObject("Scripting.FileSystemObject")
If Not (backupfile.FileExists("C:\bcdedit.bak")) Then
    Set myresult = myshell.Exec("cmd /c bcdedit /export c:\bcdedit.bak")
End If

Set myresult = myshell.Exec("cmd /c bcdedit")
Do While Not myresult.StdOut.AtEndOfStream
    myline = myresult.StdOut.ReadLine()

    If myline="The boot configuration data store could not be opened." Then
        record=""
        exit do
    End If
    If Instr(myline, "identifier") > 0 Then
        record=""
        If Instr(myline, "{current}") > 0 Then
            record="current"
        End If
    End If
    If Instr(myline, "hypervisorlaunchtype") > 0 And record = "current" Then
        If Instr(myline, "Auto") > 0 Then
            record="1"
            Exit Do
        End If
        If Instr(myline, "On") > 0 Then
            record="1"
            Exit Do
        End If
        If Instr(myline, "Off") > 0 Then
            record="0"
            Exit Do
        End If
    End If
Loop

If record="1" Then
    makepassive = MsgBox ("Hypervisor status is active, do you want set to passive? ", vbYesNo, "Hypervisor")
    Select Case makepassive
    Case vbYes
        myshell.run "cmd.exe /C  bcdedit /set hypervisorlaunchtype off"
        reboot = MsgBox ("Hypervisor chenged to passive; Computer must reboot. Reboot now? ", vbYesNo, "Hypervisor")
        Select Case reboot
            Case vbYes
                myshell.run "cmd.exe /C  shutdown /r /t 0"
        End Select
    Case vbNo
        MsgBox("Not Changed")
    End Select
End If

If record="0" Then
    makeactive = MsgBox ("Hypervisor status is passive, do you want set active? ", vbYesNo, "Hypervisor")
    Select Case makeactive
    Case vbYes
        myshell.run "cmd.exe /C  bcdedit /set hypervisorlaunchtype auto"
        reboot = MsgBox ("Hypervisor changed to active;  Computer must reboot. Reboot now?", vbYesNo, "Hypervisor")
        Select Case reboot
            Case vbYes
                myshell.run "cmd.exe /C  shutdown /r /t 0"
        End Select
    Case vbNo
        MsgBox("Not Changed")
    End Select
End If

If record="" Then
        MsgBox("Error: record can't find")
End If

참고URL : https://stackoverflow.com/questions/30496116/how-to-disable-hyper-v-in-command-line

반응형