Làm cách nào để tắt Hyper-V trong dòng lệnh?


106

Tôi đang cố gắng mở VMware, nó nói rằng VMware player và Hyper-V không tương thích. Tôi đã tìm thấy nó ở đây , nhưng nó không hoạt động bằng cách sử dụng lệnh mà nó cung cấp.

Tôi đã cố gắng xem trợ giúp, thấy rằng có /hypervisorsettingstùy chọn ở đó. Nhưng vẫn không hoạt động với nó, nó nói The parameter is incorrect.

Bất cứ ai có thể giúp đỡ với điều này?


5
Tôi đã tìm thấy một cách hoạt động ở đây: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Vdism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, nhưng vẫn không biết cách bcdedithoạt động.
Bầu trời

Câu trả lời:


239

Trong Command Prompt nâng cao, hãy viết như sau:

Để tắt:

bcdedit /set hypervisorlaunchtype off

Để kích hoạt:

bcdedit /set hypervisorlaunchtype auto 

(Từ nhận xét - khởi động lại để có hiệu lực)


Tôi thậm chí đã quên câu hỏi này. Tôi đã sử dụng điều này thực sự trở lại sau đó, nhưng nó không hoạt động. Dù sao, nó hoạt động ngay bây giờ. Cảm ơn.
Bầu trời

5
Trong trường hợp bạn không cần một giải pháp dòng lệnh cụ thể mà chỉ cần một thứ gì đó thực sự đơn giản và nhanh chóng, bạn có thể sử dụng công cụ Hyper-V Switch của tôi, sử dụng phương thức bcdedit nội bộ và đặt GUI bằng một cú nhấp chuột lên nó. Hoạt động trên máy tính Windows 10 của tôi.
ygoe

1
Đảm bảo bạn khởi động lại máy tính sau khi thay đổi cài đặt này
justderb

2
@LukeSkCzEnDeRuPl Bạn có thể nên chỉnh sửa câu trả lời của mình và đề cập rằng bạn phải khởi động lại sau lệnh.
ChrisB

Tôi chỉ cần tiếp tục và chỉnh sửa câu trả lời bằng cách thêm một câu ở cuối đề cập đến việc khởi động lại là cần thiết.
Dan Nissenbaum

31

Lệnh này hoạt động

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

Chạy nó rồi đồng ý khởi động lại máy tính khi được nhắc.

Tôi đã chạy nó trong PowerShell quyền nâng cao trên Windows 10, nhưng nó cũng sẽ hoạt động trên Win 8 hoặc 7.


1
Có cách nào để đạt được điều này mà không cần khởi động lại không?
gỉ sắt

Và điều gì về việc kích hoạt lại Hyper-V một lần nữa thông qua cmd? Cảm ơn bạn!
statosdotcom

2
Lệnh này loại bỏ hoàn toàn tính năng HyperV với các tệp và chương trình của nó. Tốt nhất bạn nên tắt lệnh bcdedit và chạy VirtualBox hoặc VMware thay vì nó.

Bản cài đặt Hyper-V của tôi đã quyết định từ bỏ tôi mà không có lý do gì (tôi đang chạy Windows 10 Pro v1703 bản dựng 15063.786). Tôi đã cố gắng (bỏ / lại) cài đặt nó qua menu Tính năng của Windows, Powershell và DISM. Tất cả đều không có lỗi nhưng ngay sau khi tôi cố gắng tạo / thêm một máy ảo mới và muốn hoàn thành bước cuối cùng, Hyper-V gặp lỗi không thể mở / truy cập thứ gì đó vì một đối tượng không xuất hiện tồn tại (ảnh chụp màn hình tiếng Hà Lan): i.imgur.com/07hem57.png Câu chuyện tương tự khi chạy nó với các đặc quyền quản trị / nâng cao. Rõ ràng nó không thể khôi phục đầy đủ / sửa chữa các sản phẩm Hyper-V / module ...
script'n'code

30

Bạn có thể cấu hình Windows 10 có và không có Hyper-V như sau trong lời nhắc Quản trị viên:

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

tìm id mới của khởi động "Windows 10 no Hyper-V" vừa tạo, ví dụ. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Sau khi khởi động lại, bạn có thể chọn giữa Windows 10 có và không có Hyper-V khi khởi động


1
Để tìm id mới, hãy nhập "bcdedit" rồi tìm số nhận dạng {XXX} trong cấu hình bộ tải khởi động đã thêm.
user797717

Cứu giúp !!!!!!! Làm điều này máy tính của tôi không khởi động nữa ... vẫn ở trên màn hình chào mừng của windows 10 suốt đêm ???!?!?
Falco

bạn đã thay thế id trong ví dụ của tôi?
hfmanson

2
Nếu bạn chạy lệnh này trên PowerShell, hãy chắc chắn để đặt {current}{GUID}giữa " "như:"{current}"
Nicke Manarin

15

Dòng lệnh:

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

Nếu ai đó nhận được:

Chúng tôi không thể hoàn thành cập nhật, Đang hoàn tác thay đổi

sau khi cố gắng tắt Hyper-V, hãy thử gỡ cài đặt bộ điều hợp mạng ảo Hyper-V khỏi Trình quản lý thiết bị của bạn-> Bộ điều hợp mạng


Điều này làm cho cửa sổ cập nhật thất bại, thanks for the info
Benny

5

Mở dấu nhắc lệnh với tư cách quản trị viên và chạy lệnh này:

bcdedit /set {current} hypervisorlaunchtype off

Sau khi khởi động lại, Hyper-V vẫn được cài đặt nhưng Hypervisor không còn chạy nữa. Bây giờ bạn có thể sử dụng VMware mà không gặp bất kỳ vấn đề gì.

Nếu bạn cần lại Hyper-V, hãy mở dấu nhắc lệnh với tư cách quản trị viên và chạy lệnh này:

bcdedit /set {current} hypervisorlaunchtype auto

Có sự khác biệt / lợi thế nào trong việc sử dụng bcdedit /set {current} ...hơn bcdedit /set ...không?
mwfearnley

3

Mở dấu nhắc lệnh với tư cách quản trị viên và viết:

bcdedit /set hypervisorlaunchtype off

2

OP đã có câu trả lời tốt nhất cho tôi và có vẻ như những người khác cũng đã tìm ra -Tất cả phần bổ sung. Tôi thiết lập hai tệp hàng loạt, sau đó là các phím tắt cho những tệp đó để bạn có thể đặt quyền Chạy với tư cách quản trị viên trên chúng, thật dễ dàng.

Hàng loạt

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

Batch On

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

Nhấp chuột phải -> tạo lối tắt trên màn hình. Nhấp chuột phải vào lối tắt -> thuộc tính -> trong tab lối tắt -> Nâng cao -> Chạy với tư cách quản trị viên


0

bạn có thể sử dụng kịch bản của tôi. dán các dòng mã vào notepad và lưu dưới dạng vbs (ví dụ: 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
Thông thường, người ta nên cố gắng giải thích đoạn mã hoạt động như thế nào / cách nó hoạt động khi trả lời một câu hỏi.
Sebastian Lenartowicz

1
@SebastianLenartowicz có vẻ tự giải thích cho tôi. Tập lệnh sẽ chỉ đặt hypervisorlaunchtype thành tự động hoặc tắt và cũng xuất các cài đặt hiện tại thông qua lệnh bcdedit.
user797717
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.