Bagaimana cara menonaktifkan Hyper-V di baris perintah?

106

Saya mencoba membuka VMware, dikatakan bahwa VMware player dan Hyper-V tidak kompatibel. Saya menemukannya di sini , tetapi tidak berfungsi menggunakan perintah yang ditawarkannya.

Saya mencoba untuk melihat bantuan, menemukan bahwa ada /hypervisorsettingspilihan di sana. Tapi tetap tidak berhasil, katanya The parameter is incorrect.

Adakah yang bisa membantu dengan ini?

Langit
sumber
5
Saya menemukan cara kerja di sini: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Vdan dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, tetapi masih belum tahu cara bcdeditkerjanya.
Sky

Jawaban:

240

Di Command Prompt yang ditinggikan, tulis ini:

Untuk menonaktifkan:

bcdedit /set hypervisorlaunchtype off

Untuk mengaktifkan:

bcdedit /set hypervisorlaunchtype auto 

(Dari komentar - mulai ulang untuk menerapkannya)

LukeSkCzEnDeRuPl
sumber
Saya bahkan lupa pertanyaan ini. Saya menggunakan ini sebenarnya saat itu, tetapi tidak berhasil. Bagaimanapun, itu berhasil sekarang. Terima kasih.
Sky
5
Jika Anda tidak secara khusus membutuhkan solusi baris perintah melainkan hanya sesuatu yang sangat sederhana dan cepat, Anda dapat menggunakan alat saya Hyper-V Switch yang menggunakan metode bcdedit secara internal dan menempatkan GUI sekali klik di atasnya. Berfungsi di komputer Windows 10 saya.
ygoe
1
Pastikan Anda memulai ulang komputer setelah mengubah pengaturan ini
justderb
2
@ LukeSkCzEnDeRuPl Anda mungkin harus mengedit jawaban Anda dan menyebutkan bahwa Anda harus reboot setelah perintah.
ChrisB
Saya hanya melanjutkan dan mengedit jawabannya dengan menambahkan kalimat di bagian akhir yang menyebutkan bahwa perlu dimulai ulang.
Dan Nissenbaum
31

Perintah ini berfungsi

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

Jalankan lalu setujui untuk memulai ulang komputer saat diminta.

Saya menjalankannya di izin yang ditinggikan PowerShell di Windows 10, tetapi itu juga harus berfungsi pada Win 8 atau 7.

DivineOps
sumber
1
Apakah ada cara untuk mencapai ini tanpa reboot?
rustyx
Dan bagaimana dengan mengaktifkan kembali Hyper-V melalui cmd? Terima kasih!
statosdotcom
2
Perintah ini sepenuhnya menghapus fitur HyperV dengan file dan programnya. Perintah bcdedit paling baik untuk menonaktifkannya dan menjalankan VirtualBox atau VMware sebagai gantinya.
Instalasi Hyper-V saya memutuskan untuk menyerah tanpa alasan (saya menjalankan Windows 10 Pro v1703 build 15063.786). Saya sudah mencoba (un / re) menginstalnya melalui menu Fitur Windows, Powershell dan DISM. Mereka semua tidak memberikan kesalahan tetapi begitu saya mencoba membuat / menambahkan VM baru, dan ingin menyelesaikan langkah terakhir, Hyper-V melontarkan kesalahan yang tidak dapat membuka / mengakses sesuatu karena suatu objek tidak tampak. ada (tangkapan layar Belanda): i.imgur.com/07hem57.png Cerita yang sama saat menjalankannya dengan hak istimewa / admin yang ditinggikan. Rupanya tidak mungkin untuk sepenuhnya memulihkan / memperbaiki produk / modul Hyper-V ...
script'n'code
30

Anda dapat memiliki konfigurasi Windows 10 dengan dan tanpa Hyper-V sebagai berikut di prompt Admin:

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

temukan id baru dari entri boot "Windows 10 no Hyper-V" yang baru saja dibuat, mis. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Setelah reboot, Anda dapat memilih antara Windows 10 dengan dan tanpa Hyper-V saat startup

hfmanson.dll
sumber
1
Untuk menemukan id baru, ketik "bcdedit" dan kemudian cari pengenal {XXX} di konfigurasi boot loader yang ditambahkan.
user797717
Tolong !!!!!!! Melakukan ini pc saya tidak mulai lagi ... tetap di layar selamat datang windows 10 sepanjang malam ???!?!?
Falco
apakah Anda mengganti id dalam contoh saya?
hfmanson
2
Jika Anda menjalankan perintah ini di PowerShell, pastikan untuk meletakkan {current}dan di {GUID}antara " "seperti:"{current}"
Nicke Manarin
15

Garis komando:

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

Jika ada yang mendapatkan:

Kami tidak dapat menyelesaikan pembaruan, Mengurungkan perubahan

setelah mencoba menonaktifkan Hyper-V, coba hapus instalan adapter jaringan virtual Hyper-V dari Device Manager Anda-> Network Adapters

Ignas Vyšnia
sumber
Hal ini menyebabkan pembaruan windows gagal, terima kasih atas infonya
Benny
5

Buka prompt perintah sebagai admin dan jalankan perintah ini:

bcdedit /set {current} hypervisorlaunchtype off

Setelah reboot, Hyper-V masih diinstal tetapi Hypervisor tidak lagi berjalan. Sekarang Anda dapat menggunakan VMware tanpa masalah apa pun.

Jika Anda membutuhkan Hyper-V lagi, buka prompt perintah sebagai admin dan jalankan perintah ini:

bcdedit /set {current} hypervisorlaunchtype auto
Iasmini Gomes
sumber
Apakah ada perbedaan / keuntungan dalam menggunakan bcdedit /set {current} ...over bcdedit /set ...?
mwfearnley
3

Buka command prompt sebagai admin dan tulis:

bcdedit /set hypervisorlaunchtype off
Fodor Codrut
sumber
2

OP memiliki jawaban terbaik untuk saya dan tampaknya orang lain telah menemukan penambahan -Semua juga. Saya menyiapkan dua file batch, lalu pintasan ke file tersebut sehingga Anda dapat mengatur izin Jalankan Sebagai Admin padanya, sangat mudah.

Batch Off

Call dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All

Batch On

Call dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

Klik kanan -> buat pintasan desktop. Klik kanan pintasan -> properti -> di bawah tab pintasan -> Lanjutan -> Jalankan sebagai admin

Bob Phrapples
sumber
0

Anda dapat menggunakan skrip saya. rekatkan baris kode ke notepad dan simpan sebagai vbs (misalnya 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
teknokadim
sumber
2
Biasanya, seseorang harus mencoba menjelaskan apa yang dilakukan cuplikan kode / cara kerjanya saat menjawab pertanyaan.
Sebastian Lenartowicz
1
@SebastianLenartowicz terlihat jelas bagi saya. Skrip hanya akan mengatur hypervisorlaunchtype ke auto atau off dan juga mengekspor pengaturan saat ini melalui perintah bcdedit.
user797717