Como desabilitar o Hyper-V na linha de comando?


106

Estou tentando abrir o VMware, diz que o VMware player e o Hyper-V não são compatíveis. Encontrei aqui , mas não funciona com o comando que oferece.

Tentei ver a ajuda, descobri que há /hypervisorsettingsopção aí. Mas ainda não funciona com isso, diz ele The parameter is incorrect.

Alguém pode ajudar com isso?


5
Achei um jeito de funcionar aqui: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Ve dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, mas ainda não sei como bcdeditfunciona.
Sky

Respostas:


240

Em um prompt de comando elevado, escreva o seguinte:

Desabilitar:

bcdedit /set hypervisorlaunchtype off

Para habilitar:

bcdedit /set hypervisorlaunchtype auto 

(Dos comentários - reinicie para fazer efeito)


Eu até esqueci essa pergunta. Eu usei isso na verdade, mas não funcionou. Enfim, agora funciona. Obrigado.
Sky

5
Caso você não precise especificamente de uma solução de linha de comando, mas apenas de algo realmente simples e rápido, você pode usar minha ferramenta Hyper-V Switch que usa o método bcdedit internamente e coloca uma GUI de um clique sobre ele. Funciona no meu computador Windows 10.
ygoe,

1
Certifique-se de reiniciar o computador após alterar esta configuração
justderb

2
@LukeSkCzEnDeRuPl Você provavelmente deve editar sua resposta e mencionar que deve reinicializar após o comando.
ChrisB

Eu simplesmente fui em frente e editei a resposta adicionando uma frase no final mencionando que é necessário reiniciar.
Dan Nissenbaum

31

Este comando funciona

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

Execute-o e concorde em reiniciar o computador quando solicitado.

Eu o executei no PowerShell de permissões elevadas no Windows 10, mas também deve funcionar no Win 8 ou 7.


1
Existe alguma maneira de conseguir isso sem reiniciar?
rustyx

E que tal reativar o Hyper-V via cmd? Obrigado!
statosdotcom

2
Este comando remove totalmente o recurso HyperV com seus arquivos e programas. O comando bcdedit é melhor desativá-lo e executar o VirtualBox ou VMware em vez dele.

Minha instalação do Hyper-V decidiu desistir de mim sem motivo (estou executando o Windows 10 Pro v1703 build 15063.786). Tentei (des / re) instalar por meio do menu Recursos do Windows, Powershell e DISM. Todos eles não deram nenhum erro, mas assim que tento criar / adicionar uma nova VM e quero terminar a última etapa, o Hyper-V gera um erro que não pôde abrir / acessar algo porque um objeto não parece existe (captura de tela em holandês): i.imgur.com/07hem57.png Mesma história ao executá-lo com privilégios de administrador / elevados. Aparentemente, não é possível restaurar / reparar totalmente o produto / módulos Hyper-V ...
script'n'code

30

Você pode ter uma configuração do Windows 10 com e sem Hyper-V da seguinte maneira em um prompt de administrador:

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

encontre a nova id da recém-criada bootentry "Windows 10 no Hyper-V", por exemplo. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Após a reinicialização, você pode escolher entre o Windows 10 com e sem Hyper-V na inicialização


1
Para encontrar o novo id, digite "bcdedit" e procure o identificador {XXX} na configuração do carregador de inicialização adicionada.
user797717

Socorro !!!!!!! Fazendo isso meu pc não inicia mais ... fico na tela de boas-vindas do windows 10 a noite toda ???!?!?
Falco

você substituiu o id no meu exemplo?
hfmanson

2
Se você executar este comando no PowerShell, certifique-se de colocar o {current}e {GUID}entre " "como:"{current}"
Nicke Manarin

15

Linha de comando:

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

Se alguém está recebendo:

Não foi possível concluir as atualizações, desfazendo alterações

depois de tentar desabilitar o Hyper-V, tente desinstalar os adaptadores de rede virtual Hyper-V do seu Gerenciador de Dispositivos-> Adaptadores de Rede


Isso faz com que a atualização do Windows falhe, obrigado pela informação
Benny

5

Abra um prompt de comando como admin e execute este comando:

bcdedit /set {current} hypervisorlaunchtype off

Após uma reinicialização, o Hyper-V ainda está instalado, mas o Hypervisor não está mais em execução. Agora você pode usar o VMware sem problemas.

Se você precisar do Hyper-V novamente, abra um prompt de comando como administrador e execute este comando:

bcdedit /set {current} hypervisorlaunchtype auto

Existe alguma diferença / vantagem em usar bcdedit /set {current} ...over bcdedit /set ...?
mwfearnley

3

Abra o prompt de comando como administrador e escreva:

bcdedit /set hypervisorlaunchtype off

2

O OP tinha a melhor resposta para mim e parece que outros descobriram a adição -Todas também. Eu configurei dois arquivos em lote e, em seguida, atalhos para eles para que você possa definir as permissões Executar como Admin para eles, facilmente.

Batch Off

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

Batch On

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

Clique com o botão direito -> criar atalho na área de trabalho. Clique com o botão direito no atalho -> propriedades -> na guia de atalho -> Avançado -> Executar como administrador


0

você pode usar meu script. cole as linhas de código no bloco de notas e salve como vbs (por exemplo 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
Normalmente, deve-se tentar explicar o que um trecho de código faz / como funciona ao responder uma pergunta.
Sebastian Lenartowicz

1
@SebastianLenartowicz parece autoexplicativo para mim. O script apenas definirá o hypervisorlaunchtype como automático ou desligado e também exportará as configurações atuais por meio do comando bcdedit.
user797717
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.