Přepínání Hyper-V (VirtualBox, VMware, Docker)

Pokud pracujete na Windows 10 Pro s virtuálními stroji a jinými virtualizacemi, můžete narazit na problém, že některé nástroje potřebují ke spuštění Hyper-V (např. Docker Desktop) a jiné naopak nepoběží, pokud je nainstalován (např. VirtualBox nebo VMware).

Problém je v tom, že hardwarová virtualizace (Intel VT-x nebo AMD-V) vyžaduje přímý přístup, který může mít současně pouze jeden program. A jelikož je Hyper-V součástí operačního systému, zajistí si přístup k virtualizace již při spuštění počítače, takže ostatní programy (VirtualBox, VMware, atd.) již přístup získat nemohou.

Vytvoření Dual-boot

Problém se dá řešit snadno a elegantně pomocí bootovacího nástroje přítomného ve Windows 10. Stačí vytvořit dvě oddělené konfigurace pro váš současný systém a při startu počítače si vybrat, zda chcete Hyper-V spustit či zakázat.

Pokud již máte Hyper-V nainstalované, můžete pokračovat. Pokud Hyper-V ještě nemáte, podívejte se níže, jak ho nainstalovat.

Spusťte Příkazový řádek jako správce a zadejte příkaz:

> bcdedit /set {current} description "Enable Hyper-V"

Tím změníte popis aktuálně spuštěného systému, abyste věděli, že Hyper-V je zapnuté. Zadejte další příkaz, kterým vytvoříte kopii současného systému (resp. jen jeho spouštěcí konfigurace):

> bcdedit /copy {current} /d "Disable Hyper-V"

Příkaz odpoví větou:

The entry was successfully copied to {XXX123456-abcd-0123-9876-000abcdef123}.

Označte kód ve složených závorkách (včetně závorek) a stiskem Enter ho zkopírujte do schránky. Zadejte další příkaz (zkopírovaný kód vložíte pravým tlačítkem myši nebo SHIFT+INSERT), který Hyper-V vypne:

> bcdedit /set {XXX123456-abcd-0123-9876-000abcdef123} hypervisorlaunchtype off

Nakonec zadejte příkaz, kterým nastavíte, jak dlouho se má zobrazit volba při spuštění počítače (zde 3 sekundy):

> bcdedit /set {bootmgr} timeout 3

Restartujte PC a vyzkoušejte, zda můžete přepínat mezi systémy.

Rychlejší přepnutí a výchozí režim

System s a bez Hyper-V můžete přepínat při spuštění počítače. Když ale zvolíte „druhý“ režim, dojde k novému restartu PC a zdržuje to.

Pro rychlejší restart PC postupujte následovně: otevřete Nabídku Start a zadejte „msconfig“ (nebo jen „msc“). Spusťte „System Configuration“, přepněte se na záložku Spuštění počítače a klikněte na zvolený systém (s nebo bez Hyper-V). Pak klikněte na Nastavit jako výchozí, pak OK a nakonec Restartovat.

Po restartu systému rovnou naběhne zvolený systém bez nutnosti přepínat ho během bootování.

Zkušenější uživatelé mohou vytvořit skript CMD, který bude systém přepínat sám:

REM přepnutí na systém s vypnutým Hyper-V
bcdedit /set {bootmgr} default {XXX123456-abcd-0123-9876-000abcdef123}
shutdown /r /t 1

Abyste zjistili kód (UUID) současného systému (ve výpisu bcdedit zobrazený jako {current}), nejprve spusťte výše uvedený skript a restartujte PC do druhého režimu (jinak se bude stále zobrazovat jako {current} nebo {default}, což nelze ve skriptu použít).

Skript uložte (třeba na plochu) a spouštějte ho jako správce! Pokud chcete, aby si skript automaticky vyžádal administrátorská práva, přidejte do něj tento kód. Pokud spustíte skript bez administrátorských práv, jen restartuje PC, ale nic nepřepne.

Pozor na to, že skript automaticky ukončí všechny programy, takže před spuštěním musíte uložit veškerou rozdělanou práci (např. ukončit všechny spuštěné virtuální stroje).

Instalace/Odinstalace Hyper-V

Poznámka: Do Windows 10 Home není možné Hyper-V nainstalovat!

Poznámka: Docker umí Hyper-V sám nainstalovat, podívejte se níže.

Otevřete Nabídku Start a zadejte „funkce systému“. Klikněte na „Zapnout nebo Vypnout funkce systému Windows“ a v seznamu najděte Hyper-V. Položku zaškrtněte nebo odškrtněte podle toho, zda chcete Hyper-V nainstalovat nebo odinstalovat. Klikněte na OK a restartujte PC. Spustí se instalátor stejně jako při instalaci aktualizace.

Zapnutí virtualizace v BIOS

Pokud již používáte nějakou virtualizici, pravděpodobně ji máte zapnutou. Pokud ne, musíte ji zapnout v BIOSu nebo UEFI.

Stiskněte CTRL+ALT+DELETE a zvolte Správce úloh. Přepněte se na záložku Výkon (pokud ji nevidíte, klikněte na Více informací) a klikněte na Procesor. Vpravo najděte položku Virtualizace a podívejte se, zda je u ní napsáno Povoleno.

Pokud ne, spusťte příkazový řádek a zadejte příkaz:

> shutdown /r /fw /t 1

Tím restartujete počítač do BIOSu nebo UEFI, kde můžete položku zapnout. Projděte nastavení (obvykle pod „Advanced“, „Processor“ nebo „Security“) a hledejte položky Virtualization, SVM (Secure Virtual Machine), VT-x, VT-d, AMD-V, apod.). Až ji najdete, přepněte ji na Enabled, uložte nastavení (obvykle F10) a restartujte PC (ESC nebo „Save and Quit“).

Pokud ji nenajdete, ověřte, že váš procesor podporuje VT-x (Intel Pentium, Celeron, Core iX) nebo AMD-V (AMD Athlon, Ryzen).

Instalace Docker Desktop

Docker je virtualizační nástroj určený pro spouštění a testování nejrůznějších serverových aplikací (Apache, Nginx, Node.js, atd.). Docker Desktop je nástroj pro Windows a MacOS, abyste mohli spouštět Linuxové balíky na uvedených OS. Problém je, že nejnovější verze pro Windows používá Hyper-V, které není kompatibilní se staršími virtualizačními nástroji (jako Oracle VirtualBox nebo VMware).

Pro instalaci Dockeru se musíte zaregistrovat na Docker.com. Po ověření emailu se přihlaste, klikněte na Products – Desktop a stáhněte si instalátor. Po instalace a restartu (nebo jen odhlášení) se zobrazí výzva na instalaci Hyper-V (pokud již není nainstalováno).

Klikněte na OK a počkejte, dokud se PC nerestartuje (několik minut).

Pokud potřebujete přepínat mezi Hyper-V a ostatní virtualizací, po spuštění systému najděte ikonu Dockeru (velryba) v liště u hodin, klikněte na ni a zvolte Settings. Počkejte, než se Docker úplně spustí (text „Docker is running“ vlevo dole) a pod General zrušte „Start Docker Desktop when you log in“. To proto, aby se Docker nezkoušel spustit, když je Hyper-V vypnuté. Po spuštění systému se zapnutým Hyper-V klikněte na ikonu na ploše, aby se Docker spustil.

Spuštění virtualizace s Hyper-V

Pokud se pokusíte spustit nějaký virtuální počítač (VirtualBox, VMware, apod.), když je zapnuté Hyper-V, zobrazí se chyba:

Call to WHvSetupPartition failed: ERROR_SUCCESS (VERR_NEM_VM_CREATE_FAILED).

Případně jiná podobná v závislosti na prostředí. Tím vám systém říká, že není možné spustit virtuální stroj, zatímco běží Hyper-V (i když momentálně neběží žádná virtualizace). Přepněte se do OS s vypnutým Hyper-V (viz výše) a zkuste spustit virtuální stroj znovu.

VirtualBox s Hyper-V

Nový Oracle VirtualBox od verze 6.0 podporuje spuštění virtuálního počítače přes Hyper-V. Pro jeho zapnutí je potřeba změnit nastavení daného virtuálního PC.

Spusťte VirtualBox, klikněte na zvolené PC a otevřete jeho Nastavení. Pod Systém přepněte na záložku Akcelerace a pro Rozhraní paravirtualizace zvolte Hyper-V.

Uložte nastavení a zkuste virtuální PC spustit.

Pokud naopak chcete spustit virtuální počítač, když je Hyper-V vypnuté (viz výše), jděte do Nastavení a Rozhraní paravirtualizace přepněte na Výchozí (což znamená přímý přístup k VT-x nebo AMD-V).

Poznámka: Ve verzi 6.0 je podpora Hyper-V pouze v testovacím režimu, takže, takže na některých procesorech nemusí fungovat nebo může zpomalovat počítač.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..