Wygodny sposób włączania / wyłączania funkcji Hyper-V w systemie Windows 8


76

Naprawdę podoba mi się obsługa funkcji Hyper-V w systemie Windows 8, jednak są sytuacje, w których muszę wyłączyć funkcję Hyper-V, aby uruchomić niektóre aplikacje, które nie lubią być uruchamiane nawet na partycji głównej środowiska zwirtualizowanego .
To, co aktualnie robię, to całkowite wyłączenie tej funkcji w oknie dialogowym „Dodaj lub usuń funkcje systemu Windows” i jej ponowne uruchomienie, w razie potrzeby włączając ją ponownie.
Chciałbym wiedzieć, czy przychodzi mi na myśl lepszy sposób, aby to zrobić, może to być nawet skrót, który mógłbym kliknąć dwukrotnie i faktycznie dodać lub usunąć tę funkcję i uruchomić ją ponownie (myślę, że może to być możliwe przy skrypt PowerShell).


Metoda, której używasz, jest najlepszą i jedyną obsługiwaną metodą.
Ramhound

1
@Ramhound Za pomocą dism.exe można włączyć funkcje z wiersza polecenia. W ten sposób automatyzujemy instalowanie .NET 3.5 na przykład w systemie Windows 8. Teoretycznie możesz również wyłączyć funkcje w ten sposób, ale nie próbowałem tego.
Mark Allen

Odpowiedzi:


66

Oświadczenie : Nie zrobiłem tego, aby usunąć funkcję, I jako ostateczne zastrzeżenie prawdopodobnie będzie mnóstwo aktualizacji Windows Update do zainstalowania za każdym razem, gdy ją włączysz ponownie.

Powiedziawszy to, z wiersza polecenia z podwyższonym poziomem uprawnień:

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

i

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

Oto, jak wygląda uruchamianie polecenia enable na moim komputerze, na którym jest już włączona funkcja Hyper-V i działa:

> dism / Online / enable-feature: Microsoft-Hyper-V / All

Narzędzie do obsługi i zarządzania obrazami wdrażania Wersja: 6.2.9200.16384

Wersja obrazu: 6.2.9200.16384

Włączanie funkcji [========================== 100,0% ================ ==========] Operacja zakończyła się powodzeniem.

Podczas włączania tej funkcji, ponieważ jest to Hyper-V, może pojawić się monit o ponowne uruchomienie i ponowne uruchomienie polecenia. To wydaje się niejasno znajome. Innymi słowy, możesz skończyć z koniecznością ponownego uruchomienia komputera dwa razy. Ale może ci to nie pomoże, ponieważ na tym komputerze była już włączona funkcja Hyper-V.


Dzięki !, działało jak urok. Ponownie uruchomił się dwa razy, ale nie sądzę, żeby można było to zrobić wcześniej. Można również argumentować, że nie jest to tak duża poprawa w porównaniu z przejściem do ekranu funkcji systemu Windows, ale po pozostawieniu na pulpicie lub przypięciu do ekranu startowego z pewnością jest dla leniwych ludzi takich jak ja.
Fredy Treboux

Pewnie! Cieszę się, że zadziałało. Tak, zwykle wiersze poleceń są używane do początkowej konfiguracji komputerów, więc w ten sposób, jeśli musisz zainstalować .NET 3.5, I Hyper-V, I kilka innych rzeczy, możesz to zrobić całkowicie automatycznie.
Mark Allen

1
Możesz użyć /NoRestartw trybie nieinteraktywnym (podczas wywoływania ze skryptu).
krlmlr

Odpowiedź poniżej z bcdeditjest znacznie szybsza i jest jedyną konieczną rzeczą (nadal musisz zrestartować się bez względu na wszystko). Tak właśnie robię, ilekroć muszę przejść na VMWare.
user276648,

@ user276648 Zakładając, że Hyper-V jest zainstalowany, po czym może być. Zamieściłem tylko odpowiedź, którą znałem.
Mark Allen

82

To stara odpowiedź, ale ze względu na kompletność i ponieważ wiedziałem, że istnieje lepszy sposób niż najlepszy wynik.

Z wiersza polecenia z podwyższonym poziomem uprawnień:

bcdedit /set hypervisorlaunchtype off

wyłączyć hiperwizora i:

bcdedit /set hypervisorlaunchtype auto

włączyć ponownie (wartość domyślna).

Oczywiście nadal wymaga ponownego uruchomienia.


1
Jest to odpowiedni sposób, jeśli tworzysz aplikacje na Windows Phone na Microsoft Surface Pro 3 (więc potrzebujesz Hyper-V), ale chcesz, aby podłączony tryb gotowości działał zawsze, gdy nie aktywnie się rozwijasz (pod koniec 2014 r. Tryb gotowości podłączony jest nie obsługiwane, gdy hiperwizor jest uruchomiony).
Chris,

Wystarczy opublikować aktualizację, gdy przyszedłem tutaj, szukając ponownie powyższych poleceń (Aby tymczasowo uruchomić VM Ware Player) - Windows 10 obsługuje jednocześnie Hyper-V i Connected Standby w podglądzie technicznym i mogę tylko założyć, że zachowa tę funkcję do RTM. Wygląda na to, że działa dobrze w podglądzie na moim Surface Pro 3.
Dan Harris

To uratowało mnie przed tak wielką frustracją. Hyper-V nie lubi mojego sterownika wideo i Dell zablokował aktualizacje sterownika, więc nie mogę używać zaktualizowanych sterowników Intela. Muszę wyłączyć Hyper-V, jeśli nie chcę uruchamiać wielu monitorów.
Ed Charbeneau,

10

Możesz utworzyć dwa wpisy rozruchu, aby wybrać system operacyjny z funkcją Hyper-V lub bez niej.

  1. Wpisz następujące polecenie w wierszu polecenia:
bcdedit /copy {default} /d "No Hypervisor"
  1. To mówi:
"The entry was successfully copied to {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}."
  1. Następnie wpisz następujące polecenie:
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} hypervisorlaunchtype off

Widziałem to teraz i wydaje się dobre! Ale nie miałem jeszcze czasu, aby samemu spróbować.
Fredy Treboux,

3
Tylko uwaga: jeśli w systemie Windows 10 musisz użyć {current}. Wystarczy uruchomić bcdedit, aby sprawdzić. Ponadto nie chce działać w programie PowerShell dla każdego, kto go wypróbował.
dotbat

1
W PowerShell musisz użyć cudzysłowu dla identyfikatora. Na przykład:bcdedit /set "{current}" hypervisorlaunchtype off
kishkin

Moim zdaniem jest to jak dotąd najbardziej elegancka odpowiedź. Inną wskazówką jest to, że możesz przytrzymać Shiftklawisz po kliknięciu Start -> Power button -> Restart, co pozwoli ci wybrać, czy uruchomić komputer z włączoną funkcją Hyper-V lub bez niej przed ponownym uruchomieniem komputera. Jest to szczególnie przydatne, gdy jakaś forma „fastboot” jest włączona w BIOSie i prawie niemożliwe jest naciśnięcie klawisza „enter BIOS”, zanim bootloader Windows przejmie kontrolę.
Ben Johnson

najlepsza jak dotąd odpowiedź
Tien Dinh

8
  • Naciśnij klawisz Windows i wpisz „funkcje systemu Windows”
  • Naciśnij kombinację klawiszy Windows + W, aby wyświetlić panel Ustawienia systemu Windows na ekranie startowym.
  • Kliknij Włącz lub wyłącz funkcje systemu Windows
  • Gdy pojawi się okno dialogowe Włącz lub wyłącz funkcje systemu Windows, poszukaj Hyper-V i odznacz ją
  • Kliknij OK
  • Po wyświetleniu monitu uruchom ponownie komputer
  • Zainstaluj VMware Workstation
  • Włącz ponownie Hyper-V poprzez okno dialogowe Włącz lub wyłącz funkcje systemu Windows
  • Zrestartuj swój komputer

W systemie Windows 10:

  • Naciśnij klawisz Windows
  • Wpisz „Włącz lub wyłącz funkcje systemu Windows”
  • Odznacz pole wyboru obok Hyper-V
  • Wybierz OK
  • Wybierz Uruchom ponownie teraz

Zainstalowałem vs2013 w wersji 8.1 i najwyraźniej zainstalowałem hyper v, dzięki czemu mój vbox nie działa. Dzięki za dobrą stałą odpowiedź.
MvcCmsJon

4

Powershell jest również możliwy, używając DISM zawiniętego jako cmdlety PS, i przed zmianą można najpierw przeczytać ustawienia.

//Test
PS> Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

//Turn off
PS> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

//Turn on
PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

Refs

  1. Powershell widział w tym poście 2014-03, który podsumowuje wszystkie opcje, http://www.eightforums.com/tutorials/42041-hyper-v-enable-disable-windows-8-a.html ; MS Doc mówi o opcji Get-WindowsOptionalFeature, http://technet.microsoft.com/en-us/library/hh852173.aspx
  2. Edycja danych konfiguracji rozruchu (BECD) może również czytać (eksportować) ustawienia, zgodnie z http://technet.microsoft.com/en-us/library/cc709667%28v=ws.10%29.aspx i innymi Doc http : //msdn.microsoft.com/en-us/library/windows/hardware/ff542202%28v=vs.85%29.aspx

3

Możesz użyć przełącznika Hyper-V, który zasadniczo wykorzystuje opisaną tutaj metodę bcdedit, ale nakłada na nią prosty interfejs GUI jednym kliknięciem. Pokazuje aktualny stan konfiguracji i umożliwia włączenie lub wyłączenie funkcji Hyper-V, a także ponowne uruchomienie komputera. Zrobiłem to małe narzędzie i działa na moim komputerze z systemem Windows 10.


1

Zrobiłem skrypt PowerShell, aby pomóc włączyć / wyłączyć Hyper-V. Sprawdza to stan, więc nie uruchomisz się ponownie, jeśli jesteś już w pożądanym stanie:

param([string]$state='Off')
'Set Hyper-V ' + $state
$lines = bcdedit
ForEach($line in $lines) {
    $pos = $line.IndexOf(' ')
    If($pos -gt 0) {
        $prompt = $line.Substring(0, $pos)
        $curstate = $line.Substring($pos).Trim()
        If($prompt -eq 'hypervisorlaunchtype') {
            '[' + $prompt + '] = [' + $curstate + ']'
            If($curstate -ne $state) {
                'Setting hypervisorlauchtype to ' + $state
                $result = bcdedit /set hypervisorlaunchtype $state
                'Result = [' + $result + ']'
                If($result -eq 'The operation completed successfully.') {
                    'Restarting in two seconds'
                    Start-Sleep -s 2
                    Restart-Computer
                } Else {
                    'Error setting state'
                    Start-Sleep -s 5
                }
            } Else {
                'Hypervisor launch type is already ' + $state
                Start-Sleep -s 5
            }
        }
    } 
}

Następnie utwórz dwa skróty na pulpicie Cel „Hyper-V Off”:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\Scripts\SetHyper-V.ps1 -state Off

i cel „Hyper-V On”:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\Scripts\SetHyper-V.ps1 -state Auto`

0
  1. Z konsoli Windows (cmd) z uprawnieniami administratora:

Oczyszczanie i utrzymanie domu w sklepie Windows Component Store (WinSxS)

Dism /Online /Cleanup-Image /RestoreHealth
Dism.exe /online /Cleanup-Image /StartComponentCleanup

Analizuje pliki systemowe i przywraca w razie potrzeby

sfc /scannow

(Według https://ugetfix.com/ask/how-to-disable-hyper-v-in-windows-10/ )

  1. Wyłącz automatyczne uruchamianie hypervisora ​​podczas konfiguracji rozruchu
bcdedit /set {current} hypervisorlaunchtype off

(Źródło: https://blogs.technet.microsoft.com/gmarchetti/2008/12/07/turning-hyper-v-on-and-off/ )

  1. Windows PowerShell (z uprawnieniami administracyjnymi):
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

(Źródła: https://ugetfix.com/ask/how-to-disable-hyper-v-in-windows-10/ i https://support.microsoft.com/en-us/help/3204980/virtualization- aplikacje-nie-nie-współpracują-z-hyper-v-device-g )

  1. Włącz lub wyłącz funkcje systemu Windows -> Hyper-V wszystkie odznaczone

( https://support.microsoft.com/en-us/help/3204980/virtualization-applications-do-not-work-together-with-hyper-v-device-g )

  1. Ten komputer, Właściwości, Menedżer urządzeń, Urządzenia systemowe i tam również usuń Hyper-V.

Dla kompletności, niektóre problemy związane z wirtualizacją są związane z funkcjami bezpieczeństwa Device Guard i Credential Guard:

  1. mmc.exe, dodaj przystawkę Lokalne zasady komputera w obszarze Konfiguracja komputera / Szablony administracyjne / System / Ochrona urządzenia / Włącz zabezpieczenia oparte na wirtualizacji

  2. Izolacja rdzenia w Ustawieniach / Aktualizacjach i zabezpieczeniach / Zabezpieczenia systemu Windows / Zabezpieczenia urządzenia / Izolacja rdzenia

(Patrz: https://support.microsoft.com/en-us/help/3204980/virtualization-applications-do-not-work-together-with-hyper-v-device-g

https://www.tenforums.com/tutorials/68913-enable-disable-device-guard-windows-10-a.html ; https://blogs.technet.microsoft.com/ash/2016/03/02/windows-10-device-guard-and-credential-guard-demystified/

https://weblogs.asp.net/dixin/run-hyper-v-and-vmware-virtual-machines-on-windows-10

https://www.dell.com/support/article/lu/fr/lubsd1/sln304974/windows-10-enterprise-security-credential-guard-and-device-guard?lang=en ...)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.