В прошлом посте я описал возможность загрузки в режиме EFI для плат Intel со встроенным (хоть и хорошо замаскированным) “аппаратным” EFI. Теперь как же быть всем остальным, не имеющим “счастья” обладать интеловской материнкой? Тут все чуть сложнее, но выход также есть: существует эмулятор, практически полностью реализующий все функции efi на текущем железе - DUET. Скачать исходники его можно здесь (нужно зарегистрироваться), но для их сборки понадобится windows и visual studio 2005 (2008). Для сборки x64-файлов необходимо при установке Visual Studio 2005/2008 поставить галку “x64 compiler support” (или как-то так, точно не помню) в выборе опций. VS2003 не умеет собирать x64-файлы.
Как собирать?
- Качаем релиз edk по вышеупомянутой ссылке и распаковываем его в c :\edk.
- Ищем в интернете masm 6.15 (ссылок полно) и тоже распаковываем его, скажем, в c:\masm615
- Создаем в папке c:\edk файлик env.cmd следующего содержания:
1 2 3 4 |
|
скорректируйте пути, соответственно вашим.
- редактируем файл
c:\Edk\Sample\Platform\DUET\Build\config.env
, дабы измнить в нем следующие строки:
1 2 3 |
|
редактируем файл
c:\Edk\Sample\Platform\DUET\Build\duet.env
, если хотим убрать/добавить какие-либо efi-фичи.запускаем консоль (cmd.exe) и в ней:
1 2 3 |
|
сборка может занять продолжительное время.
- готовим флешку: у меня она прописана в env.cmd как диск E:. Внимание: на флешине должна присутствовать mbr (т.е. она должна быть загрузочной, сделать ее такой можно с помощью, например, программки flashboot).
1 2 |
|
перевтыкните флешку и:
1
|
|
- Готово, можно загружаться! С помощью этой флешки каждый теперь может получить вполне работающую систему с efi на любой плате!