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"