Зіткнувся з цікавою помилкою при спробі встановити Linux CentOS на віртуальну машину, яка запущено на Hyper-V сервері (тип віртуальної машини Generation 2 - з підтримкою UEFI). Я скачав інсталяційний ISO файл з CentOS 7, створив на Hyper-V нову ВМ типу gen2, підключив ISO файл і спробував завантажити ВМ з установочного диск. Але при завантаженні ВМ в консолі Hyper-V з'явилося ось таке повідомлення:
SCSI DVD (0,0). The image's hash and certificate are not allowed (DB). No UEFI-compatible file system was found. No operating system was loaded. Press a key to retry the boot sequence ...
Проблема тут в тому, що для віртуальних машин Generation 2 в Hyper-V використовується середу UEFI з включеним за замовчуванням режимом Secure Boot. Режим безпечного завантаження не дозволяє завантажиться з недовірених завантажувача Linux в ISO файлі (завантажувач Linux явно не підписаний і не сертифікований Microsoft-ом).
Щоб почати установку Linux мені довелося відключити режим безпечного завантаження в настройках віртуальної машини (Settings -> Security -> Enable Secure Boot).
Або можна залишити Secure Boot включеним, але використовувати шаблон «Microsoft UEFI Certificate Authority»Замість" Microsoft Windows ". За інформацією Microsoft даний шаблон дозволяє запускати більшість дістрібутовов Linux в режимі сумісності з Secure Boot.
Перезапустіть ВМ і ще раз спробуйте завантажити ВМ з установочнго iso образу CentOS або іншого дістрбутіва Linux (у мене вийшло таким чином запустити установку CentOS 7 і Ubuntu 19.04).
Так само ви можете управляти режимом безпечного завантаження і шаблонами з PowerShell. Отримати поточні настройки firmware ВМ:
Get-VMFirmware -VMName "centos7"
Вийти з режиму Secure Boot для ВМ:
Set-VMFirmware -VMName "centos7" -EnableSecureBoot Off
Змінити шаблон перевірки СЕРТФІКАТА завантажувача на сумісний з більшістю дистрибутивів Linux:
Set-VMFirmware -VMName "centos7" -EnableSecureBoot On -SecureBootTemplate "MicrosoftUEFICertificateAuthority"