2015-05-28 23 views
34

Próbuję otworzyć VMware, mówi, że odtwarzacz VMware i Hyper-V nie są kompatybilne. Znalazłem go here, ale nie działa on za pomocą polecenia, które oferuje.Jak wyłączyć funkcję Hyper-V w wierszu poleceń?

Próbowałem zobaczyć pomoc, okazało się, że jest tam opcja /hypervisorsettings. Ale nadal nie działa z nim, mówi The parameter is incorrect.

Czy ktoś może w tym pomóc?

+4

znalazłem działający sposób tutaj: 'dism.exe/online/Wyłącz-cecha: Microsoft Hyper -V' i 'dism.exe/Online/Enable-Feature: Microsoft-Hyper-V/All', ale wciąż nie wiem jak działa' bcdedit'. – Sky

Odpowiedz

83

W podwyższonej wiersza polecenia write to:

Aby wyłączyć:

bcdedit /set hypervisorlaunchtype off 

Aby włączyć:

bcdedit /set hypervisorlaunchtype auto 

(od komentarzy - uruchom ponownie zaczął działać)

+0

Nawet zapomniałem tego pytania. Używałem tego właściwie wtedy, ale to nie działało. W każdym razie teraz działa. Dzięki. – Sky

+1

Jeśli nie potrzebujesz konkretnego rozwiązania z linii poleceń, a raczej czegoś naprawdę prostego i szybkiego, możesz użyć mojego narzędzia [Hyper-V Switch] (https://github.com/dg9ngf/HyperVSwitch), które używa bcdedit metoda wewnętrznie i umieszcza na niej GUI z jednym kliknięciem. Działa na moim komputerze z systemem Windows 10. – ygoe

+1

Upewnij się, że uruchomiłeś ponownie komputer po zmianie tego ustawienia. – justderb

9

To polecenie działa pod numerem

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

Uruchom, a następnie zgódź się ponownie uruchomić komputer po wyświetleniu monitu.

wpadłem jej w podwyższonym poziomem uprawnień w systemie Windows PowerShell 10, ale powinien również pracować na Win 8 lub 7.

+0

Czy jest jakiś sposób, aby to osiągnąć bez restartu? – rustyx

+0

A co z ponownym włączeniem Hyper-V ponownie poprzez cmd? Dziękuję Ci! – statosdotcom

+0

To polecenie całkowicie usuwa funkcję HyperV z jej plików i programów. Polecenie bcdedit najlepiej jest wyłączyć i uruchomić zamiast niego VirtualBox lub VMware. –

9

Linia komend:

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

Jeśli ktoś robi:

Nie można wykonać aktualizacji, Cofanie zmian

po próbując wyłączyć Hyper-V, odinstaluj Hyper-V wirtualne adaptery sieciowe z urządzenia Manager-> Karty sieciowe

5

Można mieć konfigurację systemu Windows 10 i bez Hyper-V w następujący Administratora monit:

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

znajdź nowy identyfikator nowo utworzonego bootowania "Windows 10 no Hyper-V", np. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Po ponownym uruchomieniu można wybrać pomiędzy Windows 10 i bez Hyper-V przy starcie

+0

Aby znaleźć nowy identyfikator, wpisz "bcdedit", a następnie wyszukaj identyfikator {XXX} w dodanej konfiguracji modułu rozruchowego. – user797717

0

można używać mojego skryptu. linii kodu wklej do notatnika i zapisać jako VBS (na przykład 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 
+0

Zwykle należy próbować wyjaśnić, jak działa fragment kodu/jak działa podczas odpowiadania na pytanie. –

+0

@SebastianLenartowicz wygląda na mnie nie wymagającego wyjaśnienia. Skrypt ustawi hypervisorlaunchtype na auto lub off, a także wyeksportuje bieżące ustawienia za pomocą polecenia bcdedit. – user797717

1

otworzyć wiersz polecenia jako administrator i uruchom polecenie:

bcdedit /set {current} hypervisorlaunchtype off 

Po restarcie, Hyper-V nadal zainstalowane, ale Hypervisor już nie działa. Teraz możesz używać VMware bez żadnych problemów.

Jeśli potrzebujesz Hyper-V ponownie otworzyć wiersz polecenia jako administrator i uruchom polecenie:

bcdedit /set {current} hypervisorlaunchtype auto 
Powiązane problemy