我有一个 Windows qemu-KVM 虚拟机,无法使用 Windows KB5012170 更新进行更新。
我很确定这个问题和 GitHub 上这个帖子中描述的问题一样https://github.com/tianocore/edk2/discussions/3221
该问题似乎是由于使用较旧的 OVMF 文件造成的,而解决方法是使用较新的 OVMF 文件。
我正在使用 ubuntu 20.04.5,我的 OVMF 版本是 0~20191122.bd85bf54-2ubuntu3.3
我当前的 ovmf 文件:
OVMF_CODE.fd OVMF_CODE.secboot.fd OVMF_VARS.ms.fd
OVMF_CODE.ms.fd OVMF_VARS.fd OVMF_VARS.snakeoil.fd
我可以直接从 Debian 11 存储库中使用 OVMF_CODE_4M.fd 文件吗?此评论还是我需要自己构建它们?更改现有虚拟机上的固件会遇到问题吗?
答案1
我的情况和你一模一样。我运行的是 Mint 20.2,它基于 Ubuntu 20.04,我无法在 Windows 11 VM 上安装 KB5012170 更新。我基本上浏览了和你相同的所有链接。
我无法回答 Debian 11 版 OVMF 是否有效,但我可以确认在 Ubuntu 中构建自己的 OVMF 更新版本是有效的。安装后,我能够更新 Windows。
以下是我所遵循的步骤,使用了以下资源:
最新稳定版本无法在 Ubuntu 20.04 上构建 #2988
如何在 Ubuntu 20.04 LTS 上安装 NASM | 在 Ubuntu(Linux)中安装 NASM Assembler TAR.GZ 文件
更新 NASM
mkdir nasm; cd nasm/
wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.gz
tar xvfz nasm-2.15.05.tar.gz
cd nasm-2.15.05/
./configure
make
sudo make install
nasm --version
构建 OVMF
mkdir -p uuefi; cd uuefi/
git clone https://github.com/tianocore/edk2.git
cd edk2/
git submodule update --init
source ./edksetup.sh
make -C BaseTools/
OvmfPkg/build.sh -a X64 -b RELEASE
find Build -name OVMF.fd
安装 OVMF
关闭您的虚拟机。
sudo cp -a Build/OvmfX64/RELEASE_GCC5/FV/OVMF.fd /usr/share/OVMF/
sudo chown root.root /usr/share/OVMF/OVMF.fd
sudo virsh edit <virtual machine name>
改变
<loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
到
<loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF.fd</loader>
保存并退出,然后启动虚拟机。我不得不重置我的登录 PIN,但之后我就能安装 KB5012170 更新了。