HyperV Linux EFI VHDX миграция отсутствует EFI в загрузке варианты

у меня есть HyperV 2016 кластер из n машин, работающих на W2k16 .

I ' Мы продублировали VHDX виртуальной машины RHEL 7.5 (Gen2) , которая работает с таким порядком загрузки (и с отключенной безопасной загрузкой):

Screenshot

После создания новой виртуальной машины с клонированным диском, запись файла EFI исчезла, и я больше не мог загружаться.

Примечание: если я загружаюсь с Rescatux CD , я вижу, что все загрузочные записи указаны правильно, и я могу загрузиться (вручную с этого диска ) в RHEL

4
задан 22 August 2018 в 18:38
1 ответ

Параметры загрузки UEFI хранятся в переменных UEFI, а не на диске. Это верно для физических или виртуальных машин. Hyper-V хранит переменные UEFI в одном из файлов состояния виртуальной машины, а не на виртуальном жестком диске. Поэтому, когда вы отделили виртуальный жесткий диск от виртуальной машины, вы потеряли переменные UEFI и загрузочные записи.

Если вы хотите клонировать машину, которая зависит от переменных UEFI для загрузки, экспортируйте виртуальную машину и импортируйте ее снова. Это позволит сохранить файлы состояния и VHD вместе как набор, а не разделять их.

Между прочим, не все гостевые ОС настраивают переменные UEFI так, как это сделал здесь RHEL, поэтому вы не всегда увидеть эту проблему. Некоторые ОС, включая Windows, устанавливают загрузочную переменную UEFI так, чтобы она указывала на диск, а не на файл на диске, а в спецификации UEFI указано, где найти загрузочные файлы в местах по умолчанию на диске. Я упоминаю об этом только потому, что следующий вопрос, который обычно задают, касается того, почему кажется, что он дает сбой лишь в некоторых случаях.

1
ответ дан 3 December 2019 в 04:08

Теги

Похожие вопросы