В миграции HyperV Linux EFI VHDX отсутствует EFI в параметрах загрузки
У меня есть HyperV 2016
кластер из n машина работает на W2k16
,
Я продублировал VHDX
из RHEL 7.5 (Gen2)
ВМ, которая работает с этим порядком загрузки (и безопасная загрузка отключена):
После создания новой виртуальной машины с клонированным диском запись файла EFI исчезла, и я больше не мог загружаться.
Примечание: если я загружаюсь с Rescatux CD
Я вижу все загрузочные записи в списке и могу загрузить (вручную с этого диска) в RHEL
1 ответ
Параметры загрузки UEFI хранятся в переменных UEFI, а не на диске. Это верно для физической машины или виртуальных машин. Hyper-V хранит переменные UEFI в одном из файлов состояния виртуальной машины, а не на виртуальном жестком диске. Поэтому, когда вы отсоединили виртуальный жесткий диск от виртуальной машины, вы потеряли переменные UEFI и загрузочные записи.
Если вы хотите клонировать машину, которая зависит от переменных UEFI для загрузки, экспортируйте виртуальную машину и импортируйте ее снова. Это будет держать файлы состояния и виртуальный жесткий диск вместе как набор, а не разделять их на части.
Кстати, не все гостевые ОС настраивают переменные UEFI так, как это делал RHEL, поэтому вы не всегда видите эту проблему. В некоторых ОС, включая Windows, переменная загрузки UEFI указывает на диск, а не файл на диске, а в спецификации UEFI указано, где искать загрузочные файлы в дисках по умолчанию. Я упоминаю об этом только потому, что следующий вопрос, который обычно задают люди, - о том, почему он иногда терпит неудачу.