![我认为我需要比 Ubuntu 存储库中更新的 OVMF 固件来更新我的 Windows 10 VM。最好的方法是什么?](https://linux22.com/image/1189917/%E6%88%91%E8%AE%A4%E4%B8%BA%E6%88%91%E9%9C%80%E8%A6%81%E6%AF%94%20Ubuntu%20%E5%AD%98%E5%82%A8%E5%BA%93%E4%B8%AD%E6%9B%B4%E6%96%B0%E7%9A%84%20OVMF%20%E5%9B%BA%E4%BB%B6%E6%9D%A5%E6%9B%B4%E6%96%B0%E6%88%91%E7%9A%84%20Windows%2010%20VM%E3%80%82%E6%9C%80%E5%A5%BD%E7%9A%84%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我有一个 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 更新了。