Windows VMware vSphere: UEFI или BIOS

На днях я сконвертировал несколько виртуальных серверов Hyper-V 2012R2 в VMware vSphere 6.5, и тут коллеги заметили, что VMRC как-то странно ругается.

Опытным путем было выяснено, что он ругается на включенный UEFI в их серверах. Коллеги подтвердили, что сервера были развернуты с системой UEFI и режимом SecureBoot, который после конвертации на VMware был отключен. Причем они сказали, что в Hyper-V GEN2-машинах UEFI включается автоматически.

Я проверил настройку по умолчанию для Windows 2012/2016 в VMware – там рекомендуемый режим – BIOS.

Пойдемте разбираться вместе, кто прав 😉

UEFI – это низкоуровневое ПО (firmware), пришедшее на смену BIOS лет 15 назад. Оно отличается поддержкой нового оборудования и дополнительным функционалом.

Почему тогда у VMware vSphere рекомендуемая спецификация – устаревший BIOS?

Достаточно исчерпывающий ответ дал на это разработчик VMware Дариус (тут только выжимка):

  • UEFI требует большего объема ОЗУ. Минимальный объем ОЗУ – 96МБ, тогда как виртуальную машину с BIOS можно запустить на 4МБ ОЗУ;
  • для работы Fault Tolerance машина должна иметь BIOS.

Зачем вам может понадобиться UEFI для виртуальных машин?

  • загрузка с диска размером более 2ТБ;
  • возможность редактирования порядка загрузки ОС, даже если она не загружена, потому что UEFI умеет работать с файловыми системами;
  • загрузка с USB доступна только с UEFI виртуальными машинами;
  • если вы захотите использовать SecureBoot, vTPM и Credential Guard, вам придется использовать UEFI.

Обратите внимание: поменять тип этого firmware вы, конечно, можете на выключенной ВМ. Но вот делать этого после установки операционной системы не рекомендуется. Относительно безболезненной смену BIOS->UEFI можно назвать только в Windows10/Windows 2016:

  • делаете бэкап ВМ;
  • запускаете утилиту MBR2GPT для проверки возможности смены типа таблицы разделов (MBR2GPT.EXE /validate /allowFullOS)

  • конвертируете таблицу разделов MBR2GPT.EXE /convert /allowFullOS;
  • выключаете ВМ и меняете тип firmware на UEFI. Обратите внимание, что UEFI поддерживается только в v13 версии виртуального железа (совместимого с VMware vSphere 6.5);
  • включаете и проверяете, что машина успешно загрузилась, а таблица разделов стала иметь GPT-тип.

Какой же тип выбрать или BIOS vs UEFI?

Я рекомендую начать переход на UEFI для ваших виртуальных Windows, так как:

  • смена BIOS->UEFI достаточно болезненный процесс;
  • с включенным UEFI вы можете достаточно легко включить SecureBoot для защиты от руткитов и неподписанных драйверов в ваших ВМ;
  • в дальнейшем вы сможете использовать Virtualization-based Security (тыц). Правда, это поддерживается только в Windows 10, Windows 2016 и Windows 2019, причем версия виртуального железа должна быть v14 (совместима только с vSphere 6.7). Кстати говоря, если вы создаете ВМ с такой операционной системой в v14 версии виртуального железа, там по умолчанию будет выставлена UEFI!

Leave a Reply

Your email address will not be published. Required fields are marked *