Categories: CentOSHyper-Vlinux

Ошибка загрузки Linux на Hyper-V: The image’s hash and certificate are not allowed

Столкнулся с интересной ошибкой при попытке установить 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)._x000D_No UEFI-compatible file system was found._x000D_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"

admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

1 неделя ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

1 неделя ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

1 неделя ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

1 неделя ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

1 неделя ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

1 неделя ago