Chyba při načítání Linuxu na Hyper-V hash a certifikát obrázku nejsou povoleny

Při pokusu o instalaci systému Linux CentOS na virtuální stroj, který běží na serveru Hyper-V (typ virtuálního počítače generace 2 - s podporou UEFI), došlo k zajímavé chybě. Stáhl jsem instalační soubor ISO z CentOS 7, vytvořil nový gen2 VM na Hyper-V, připojil soubor ISO a pokusil se načíst VM z instalačního disku. Při načítání virtuálního počítače se však v konzole Hyper-V objevila následující zpráva:

 SCSI DVD (0,0). Hash a certifikát obrázku nejsou povoleny (DB). Nebyl nalezen žádný souborový systém kompatibilní s UEFI. Nebyl načten žádný operační systém. Stisknutím klávesy zopakujte spouštěcí posloupnost ... 


Problém je v tom, že u virtuálních počítačů generace 2 používá Hyper-V prostředí UEFI s výchozím povoleným zabezpečeným spouštěním. Bezpečný spouštěcí režim neumožňuje spouštění z nedůvěryhodného zavaděče systému Linux do souboru ISO (zaváděcí systém pro Linux není jednoznačně podepsán ani certifikován společností Microsoft).

Abych začal instalovat Linux, musel jsem odpojit bezpečný spouštěcí režim v nastavení virtuálního počítače (Nastavení -> Zabezpečení -> Povolit zabezpečené spuštění).

Nebo můžete nechat Secure Boot povoleno, ale použijte „Certifikační autorita společnosti Microsoft UEFI“Místo„ Microsoft Windows “. Podle společnosti Microsoft tato šablona umožňuje spouštět většinu distribucí systému Linux v režimu kompatibility se zabezpečeným spouštěním.

Restartujte VM a zkuste načíst VM znovu z instalačního iso obrazu CentOS nebo jiné distribuce Linuxu (tímto způsobem jsem mohl spustit instalaci CentOS 7 a Ubuntu 19.04).

Bezpečný spouštěcí režim a šablony můžete také ovládat z prostředí PowerShell. Získejte aktuální nastavení firmwaru VM:

Get-VMFirmware -VMName "centos7"

Zakázat režim Secure Boot pro VM:

Set-VMFirmware -VMName "centos7" -EnableSecureBoot Off

Změňte vzor ověření certifikátu bootloaderu na kompatibilní s většinou distribucí Linux:

Set-VMFirmware -VMName "centos7" -EnableSecureBoot On -SecureBootTemplate "MicrosoftUEFICertificateAuthority"