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.