Як відключити Hyper-V в командному рядку?


106

Я намагаюся відкрити VMware, там написано, що плеєр VMware та Hyper-V не сумісні. Я знайшов його тут , але він не працює за допомогою запропонованої ним команди.

Я спробував переглянути допомогу, виявив, що є /hypervisorsettingsваріант. Але все одно не працювати з цим, йдеться The parameter is incorrect.

Хтось може допомогти у цьому?


5
Тут я знайшов робочий шлях: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Vі dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, але досі не знаю, як bcdeditпрацює.
Небо

Відповіді:


239

У підвищеному командному рядку напишіть це:

Щоб відключити:

bcdedit /set hypervisorlaunchtype off

Для того, щоб:

bcdedit /set hypervisorlaunchtype auto 

(З коментарів - перезапуск набирає чинності)


Я навіть забув це питання. Я використовував це фактично ще тоді, але це не спрацювало. У всякому разі, це працює і зараз. Дякую.
Небо

5
Якщо вам не потрібно конкретно рішення командного рядка, а просто щось дійсно просте і швидке, ви можете скористатися моїм інструментом Hyper-V Switch, який використовує метод bcdedit внутрішньо і накладе на нього графічний інтерфейс одним клацанням. Працює на моєму комп'ютері Windows 10.
ygoe

1
Переконайтесь, що перезавантажте комп'ютер після зміни цього параметра
justderb

2
@LukeSkCzEnDeRuPl Ви, ймовірно, повинні відредагувати свою відповідь і зазначити, що вам доведеться перезавантажуватися після команди.
КрісБ

Я просто пішов вперед і відредагував відповідь, додавши речення в кінці, вказуючи, що необхідний перезапуск.
Dan Nissenbaum

31

Ця команда працює

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

Запустіть його та погодиться перезавантажити комп'ютер, коли буде запропоновано.

Я запускав його з підвищеними дозволами PowerShell в Windows 10, але він також повинен працювати на Win 8 або 7.


1
Чи є спосіб досягти цього без перезавантаження?
rustyx

А як щодо повторного включення Hyper-V знову через cmd? Дякую!
statosdotcom

2
Ця команда повністю видаляє функцію HyperV за допомогою файлів та програм. Команду bcdedit найкраще відключити та замість неї запустити VirtualBox або VMware.

Моя установка Hyper-V вирішила відмовитись від мене без причини (я працюю під керуванням Windows 10 Pro v1703, збірка 15063.786). Я спробував (скасувати / повторно) встановити його через меню "Особливості Windows", "Powershell" та "DISM". Усі вони не помилялися, але як тільки я намагаюся створити / додати новий VM, і хочу завершити останній крок, Hyper-V видає помилку, що вона не могла щось відкрити / отримати доступ, оскільки об'єкт не здається існує (знімок екрана голландської мови): i.imgur.com/07hem57.png Та ж історія, коли вона працює з підвищеними правами адміністратора. Мабуть, неможливо повністю відновити / відремонтувати продукт / модулі Hyper-V ...
script'n'code

30

Ви можете мати конфігурацію Windows 10 із Hyper-V та без нього, як зазначено нижче у запиті адміністратора:

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

знайдіть новий ідентифікатор щойно створеної бутехніки "Windows 10 no Hyper-V", наприклад. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Після перезавантаження ви можете вибрати Windows 10 з Hyper-V і без його запуску


1
Щоб знайти новий ідентифікатор, введіть "bcdedit" і знайдіть ідентифікатор {XXX} у доданій конфігурації завантажувача.
користувач797717

Допоможіть !!!!!!! Це мій ПК не запускається більше ... залишатися на вітальному екрані Windows 10 всю ніч ???!?!?
Falco

ви замінили ідентифікатор у моєму прикладі?
hfmanson

2
Якщо запустити цю команду на PowerShell, переконайтеся , що поставити {current}і {GUID}між " "як:"{current}"
Nicke Manarin

15

Командний рядок:

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

Якщо хтось отримує:

Не вдалося завершити оновлення. Скасувати зміни

після відключення Hyper-V спробуйте видалити адаптери віртуальної мережі Hyper-V з диспетчера пристроїв-> мережеві адаптери


Це призводить до
Бенні

5

Відкрийте командний рядок як адміністратор та запустіть цю команду:

bcdedit /set {current} hypervisorlaunchtype off

Після перезавантаження Hyper-V все ще встановлюється, але Hypervisor більше не працює. Тепер ви можете користуватися VMware без проблем.

Якщо вам знову потрібен Hyper-V, відкрийте командний рядок як адміністратор та запустіть цю команду:

bcdedit /set {current} hypervisorlaunchtype auto

Чи є якась різниця / перевага у використанні bcdedit /set {current} ...над bcdedit /set ...?
mwfearnley


2

ОП отримала найкращу відповідь для мене, і, схоже, інші також з'ясували додаток - Я налаштовував два пакетні файли, потім клавіші швидкого доступу до тих, щоб ви могли встановити на них дозволи на запуск адміністратора.

Пакет вимкнений

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

Batch On

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

Клацніть правою кнопкою миші -> створити ярлик на робочому столі. Клацніть правою кнопкою миші ярлик -> властивості -> на вкладці ярлика -> Додатково -> Запустити як адміністратор


0

ви можете використовувати мій сценарій. вставити рядки коду в блокнот і зберегти як vbs (наприклад, перемикач_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
Зазвичай слід намагатися пояснити, що робить фрагмент коду / як він працює, відповідаючи на запитання.
Себастьян Ленартович

1
@SebastianLenartowicz здається мені зрозумілим. Сценарій просто встановить тип гіпервивірки для автоматичного вимкнення або вимкнення, а також експортує поточні налаштування за допомогою команди bcdedit.
user797717
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.