Pogreška prilikom učitavanja Linuxa na Hyper-V hash slike i certifikata nisu dopušteni

Suočio se sa zanimljivom greškom prilikom pokušaja instaliranja Linuxa CentOS-a na virtualni stroj koji radi na Hyper-V poslužitelju (vrsta virtualnog stroja Generacija 2 - uz podršku UEFI). Preuzeo sam ISO instalacijsku datoteku iz CentOS 7, stvorio novu gen2 VM na Hyper-V, spojio ISO datoteku i pokušao učitati VM s instalacijskog diska. No prilikom utovara VM-a, na konzoli Hyper-V pojavila se sljedeća poruka:

 SCSI DVD (0,0). Slikovni hash i certifikat nisu dopušteni (DB). Nije pronađen nijedan datotečni sustav kompatibilan sa UEFI. Nije učitan niti jedan operativni sustav. Pritisnite tipku da biste pokušali redoslijed pokretanja ... 


Problem je ovdje što za generaciju 2 virtualnih računala Hyper-V koristi UEFI okruženje sa zaštićenim pokretanjem omogućenim zadanim postavkama. Način sigurnog pokretanja ne dopušta pokretanje sustava s nepouzdanog Linux bootloader-a u ISO datoteci (Linux bootloader očito nije potpisan ili certificiran od strane Microsofta).

Za početak instalacije Linuxa morao sam zatvoriti siguran način pokretanja u postavkama virtualnog stroja (Postavke -> Sigurnost -> Omogući sigurno pokretanje).

Ili možete ostaviti omogućeno Sigurno pokretanje, ali upotrijebite "Microsoft UEFI certifikat"Umjesto" Microsoft Windows ". Prema Microsoftu, ovaj predložak omogućuje pokretanje većine distribucija Linuxa u kompatibilnom načinu sa Secure Boot.

Ponovo pokrenite VM i pokušajte ponovo učitati VM sa instalacijske izo slike CentOS-a ili neke druge distribucije Linuxa (uspio sam pokrenuti instalaciju CentOS 7 i Ubuntu 19.04 na ovaj način).

Možete kontrolirati i način sigurnog pokretanja i predloške iz PowerShell-a. Dohvati trenutne postavke softvera za VM:

Get-VMFirmware -VMName "centos7"

Onemogućite način sigurnog pokretanja za VM:

Set-VMFirmware -VMName "centos7" -EnableSecureBoot Off

Promijenite obrazac provjere valjanosti certifikata za pokretač programa u kompatibilan s većinom distribucija Linuxa:

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