У меня есть приложение UEFI, которому необходимо загрузить (TFTP) файл «bootmgfw.efi», который является загрузчиком Windows EFI. Я могу успешно вызвать Mtftp(), LoadImage() и StartImage() для загрузки и выполнения образа. Однако загрузчик Microsoft определяет, что он выполняется локально, а не по сети, и ищет необходимые файлы локально, а не загружает их через TFTP. Как создать приложение, чтобы оно знало, что оно из сети?
У меня есть две идеи, но пока я не смог реализовать ни одну из них.
После вызова LoadImage(), но перед вызовом StartImage() мне нужно получить EFI_LOADED_IMAGE для нового изображения и изменить его. Я думаю, что мне нужно изменить DevicePath, чтобы указать, что он загружается из сети, но я не знаю, как это сделать.
Пропустите Mtftp() и вызовите LoadImage() с TRUE для BootPolicy. Я считаю, что это загрузит и загрузит файл, но я не знаю, как сказать, какой файл загружать. Я предполагаю, что DevicePath, переданный в LoadImage(), будет содержать это, но я не знаю, как создать DevicePath.
У нас был разработчик UEFI, который написал это приложение, но он ушел из компании, не завершив работу. Поэтому я вынужден взять эту кодовую базу и изучить UEFI, чтобы попытаться завершить это. Спасибо за любую помощь!