web-dev-qa-db-ja.com

コマンドラインでHyper-Vを無効にする方法

私はVMwareを開こうとしている、それはそれはVMwareプレーヤーとHyper-Vは互換性がないことを言います。私はそれを見つけました ここ 、しかしそれはそれが提供するコマンドを使って働いていません。

私は助けを見ようとしました、そこに/hypervisorsettingsオプションがあることがわかりました。それでもまだ動作しません、The parameter is incorrectと言います。

誰もがこれを手伝ってくれる?

79
Sky

昇格コマンドプロンプトでこれを書いてください:

無効にするには:

bcdedit /set hypervisorlaunchtype off

有効にする:

bcdedit /set hypervisorlaunchtype auto 

(コメントから - 有効にするには再起動してください)

165

このコマンドは機能します

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

それを実行し、プロンプトが表示されたらコンピュータを再起動することに同意します。

私はそれをWindows 10上で高度な権限PowerShellで実行しましたが、Win 8または7でも動作するはずです。

26
DivineOps

次のように、管理者プロンプトで、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を選択できます。

20
hfmanson

コマンドライン:

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

誰かが手に入れている場合:

更新を完了できませんでした、変更を元に戻す

hyper-Vを無効にしようとした後、あなたのデバイスマネージャからHyper-V仮想ネットワークアダプタをアンインストールしてみてください - >ネットワークアダプタ

12
Ignas Vyšnia

Adminとしてコマンドプロンプトを開き、次のコマンドを実行します。

bcdedit /set {current} hypervisorlaunchtype off

再起動後、Hyper-Vはまだインストールされていますが、Hypervisorは実行されていません。これでVMwareを問題なく使用できます。

Hyper-Vが再び必要な場合は、[管理者としてプロンプト]コマンドを開き、次のコマンドを実行します。

bcdedit /set {current} hypervisorlaunchtype auto
3
Iasmini Gomes

あなたは私のスクリプトを使うことができます。コード行をメモ帳に貼り付けて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
1
teknokadim