Для того, что бы проверить работу системы с UEFI, нужно обладать железом, которое поддерживает эту технологию. А если под рукой нет ничего подобного, а начать эксперементировать хочется? На ум приходит использование виртуальной машины. Но пока официальной поддержки установки ОС с EFI в виртуальной машине не существует. Именно так, что бы запускался не BIOS, а UEFI и загрузка шла именно через него. На данный момент ни одна свободно распространяемая VB не обладает такой возможностью.

Но все же, есть один способ запуска UEFI на виртуальной машине QEMU, о котором я хочу рассказать. На помощь придет проект OVMF.

Окружение и программное обеспечение:

OC - Debian Wheezy 32-bit
Виртуальная машина - QEMU
Архив OVMF-IA32-r11337-alpha.zip, который можно скачать со страницы проекта.

Архив распаковывается в предварительно созданной папке, например ./OVMF

Среди прочих у нас появится два файла:

CirrusLogic5446.rom - поддержка видеокарты
OVMF.fd - загрузчик EFI

На эти файлы необходимо создать символьные ссылки, вот так:

$ ln -s OVMF.fd bios.bin

$ ln -s CirrusLogic5446.rom vgabios-cirrus.bin


Теперь QEMU будет применять при загрузке вместо BIOS загрузчик UEFI и поддержку видеокарты CirrusLogic5446.rom Виртуальную машину QEMU я запускаю из терминала, то есть не использую для этого графические оболочки. При запуске без дополнительных команд:

$ qemu

увидим такую картину:

Теперь запустим виртуальную машину с поддержкой UEFI:

$ qemu -L ./

Загрузка должна пойти следующим образом, не найдя ни одного раздела с efi загрузчиком выход в efi shell:

Если при загрузке удерживать нажатой одну из клавиш верхнего ряда клавиатуры (например Esc или F12), то попадем в EFI Setup наподобии BIOS Setup:

Теперь можно поэкспериментировать с различными образами, для загрузки операционных систем. Единственное "но" - это очень небольшая скорость работы виртуальной машины, так как в ней будет отключен kvm.

От dmitry

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *