Kesalahan memuat Linux di Hyper-V Hash dan sertifikat gambar tidak diizinkan

Menghadapi kesalahan yang menarik ketika mencoba menginstal Linux CentOS pada mesin virtual yang berjalan pada server Hyper-V (jenis mesin virtual Generasi 2 - dengan dukungan UEFI). Saya mengunduh file instalasi ISO dari CentOS 7, membuat VM gen2 baru di Hyper-V, menghubungkan file ISO dan mencoba memuat VM dari disk instalasi. Tetapi ketika memuat VM, pesan berikut ini muncul di konsol Hyper-V:

 SCSI DVD (0,0). Tanda dan sertifikat gambar tidak diizinkan (DB). Tidak ada sistem file yang kompatibel dengan UEFI ditemukan. Tidak ada sistem operasi yang dimuat. Tekan tombol untuk mencoba kembali urutan boot ... 


Masalahnya di sini adalah bahwa untuk mesin virtual Generasi 2, Hyper-V menggunakan lingkungan UEFI dengan Secure Boot diaktifkan secara default. Mode boot aman tidak memungkinkan boot dari bootloader Linux yang tidak terpercaya dalam file ISO (bootloader Linux jelas tidak ditandatangani atau disertifikasi oleh Microsoft).

Untuk mulai menginstal Linux saya harus putuskan sambungan mode boot aman di pengaturan mesin virtual (Pengaturan -> Keamanan -> Aktifkan Boot Aman).

Atau Anda dapat membiarkan Boot Aman diaktifkan, tetapi gunakan "Microsoft UEFI Certificate Authority"Alih-alih" Microsoft Windows ". Menurut Microsoft, template ini memungkinkan Anda untuk menjalankan sebagian besar distribusi Linux dalam mode kompatibilitas dengan Secure Boot.

Mulai ulang VM dan coba muatkan VM lagi dari gambar instalasi iso dari CentOS atau distribusi Linux lainnya (saya dapat memulai instalasi CentOS 7 dan Ubuntu 19.04 dengan cara ini).

Anda juga dapat mengontrol mode boot aman dan templat dari PowerShell. Dapatkan pengaturan VM firmware saat ini:

Get-VMFirmware -VMName "centos7"

Nonaktifkan mode Boot Aman untuk VM:

Set-VMFirmware -VMName "centos7" -EnableSecureBoot Off

Ubah pola validasi sertifikat bootloader menjadi kompatibel dengan sebagian besar distribusi Linux:

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