2025-04-02
OVMF(Open Virtual Machine Firmware) 是一款开源的UEFI固件实现,专为虚拟化环境(如QEMU/KVM、Xen等)设计。它允许虚拟机直接使用 UEFI(统一可扩展固件接口) 启动,替代传统的 BIOS 固件,支持现代操作系统的特性(如Secure Boot、GPT磁盘等)。
OVMF 是基于Intel的EDK II(EFI Development Kit II)项目开发的,遵循UEFI规范。
支持虚拟化平台: 主要用于QEMU/KVM、Xen等虚拟化解决方案,默认被许多虚拟化工具(如 libvirt)集成。
功能丰富
在Linux KVM中运行需要UEFI的Guest OS(如 Windows 10/11、现代Linux发行版)。
开发测试 UEFI 应用或操作系统。
下载edk2。选择下载edk2.git-ovmf-x64-xxxx.rpm
安装包。
解压:rpm2cpio edk2.git-ovmf-x64-xxxx.rpm | cpio -idv
./usr/share/doc/edk2.git-ovmf-x64
./usr/share/doc/edk2.git-ovmf-x64/README
./usr/share/edk2.git
./usr/share/edk2.git/ovmf-x64
./usr/share/edk2.git/ovmf-x64/MICROVM.fd
./usr/share/edk2.git/ovmf-x64/OVMF-need-smm.fd
./usr/share/edk2.git/ovmf-x64/OVMF-pure-efi.fd
./usr/share/edk2.git/ovmf-x64/OVMF-with-csm.fd
./usr/share/edk2.git/ovmf-x64/OVMF_CODE-need-smm.fd
./usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd
./usr/share/edk2.git/ovmf-x64/OVMF_CODE-with-csm.fd
./usr/share/edk2.git/ovmf-x64/OVMF_VARS-need-smm.fd
./usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd
./usr/share/edk2.git/ovmf-x64/OVMF_VARS-with-csm.fd
./usr/share/edk2.git/ovmf-x64/UefiShell.iso
./usr/share/qemu/firmware/80-ovmf-x64-git-need-smm.json
./usr/share/qemu/firmware/81-ovmf-x64-git-pure-efi.json
./usr/share/qemu/firmware/82-ovmf-x64-git-with-csm.json
cp ./usr/share/edk2.git/ovmf-x64/OVMF-pure-efi.fd biso64.bin
qemu-system-x86_64 \
-bios biso64.bin \
-net none \
-nographic
查看帮助:help
跳转到设置:exit
关闭qemu:Ctrl+A
-> C
-> quit
取消qemu捕获鼠标:Ctrl+Alt+G
生成磁盘文件:qemu-img create -f qcow2 vm_disk.img 20M
安装ubuntu
:
qemu-system-x86_64 \
-enable-kvm \
-m 4G \
-smp 4 \
-bios biso64.bin \
-cdrom ubuntu-24.04.1-desktop-amd64.iso \
-drive file=vm_disk.img,format=qcow2
ubuntu
:qemu-system-x86_64 \
-enable-kvm \
-m 4G \
-smp 4 \
-bios biso64.bin \
-drive file=vm_disk.img,format=qcow2
OVMF是虚拟化环境中运行 UEFI 系统的关键组件,提供了接近物理机的 UEFI 支持,适用于现代操作系统和开发需求。