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?


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)


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.


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


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


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

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

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


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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.