设置
主持人
操作系统
Manjaro XFCE x86_64
应用
包装工(插件:qemu)
virt-install
virt-viewer
virt-manager
客人
OS: Arch Linux
Hypervisor: QEMU KVM
Architecture: x64
Machine Type: qc35
EFI Firmware Code: /usr/share/edk2-ovmf/x64/OVMF_CODE.fd
EFI Firmware Vars: /usr/share/edk2-ovmf/x64/OVMF_VARS.fd
看https://github.com/safenetwork-community/bastille-installer/tree/arch对于我正在尝试构建的盒子。
我正在尝试构建一个安装了 Arch Linux 操作系统的 vagrant box 和一些需要使用分区的应用程序,所以我不能使用 docker 来实现这一点。
我也喜欢为此使用 EFI,虽然不是很有必要,但对于我的这个项目,我是一个完美主义者。
上次我从事这个工作时,我做出了妥协,放弃了对一款软件的支持,使该盒子永久过时。
所以这次我想把事情做好,只想要我认为最好的一切。
问题出在 EFI 上。
使用 构建盒子后,packer build
我无法在没有收到错误的情况下运行该盒子。
错误
Starting install...
ERROR Unable to rename file '(null).new' to '(null)': Bad address
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start testvm1
otherwise, please restart your installation.
运行以下命令时会发生这种情况:
virt安装命令
sudo virt-install \
--name bastille-installer \
--vcpu 2 \
--memory 1024 \
--osinfo archlinux \
--disk /var/lib/libvirt/images/bastille-installer_qemu_archlinux-2023-05.qcow2 \
--import \
--boot loader=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/edk2-ovmf/x64/OVMF_VARS.fd,loader_secure=no
我不知道为什么、什么或在哪里将“(null).new”重命名为“(null)”。这里有人可以帮我解决这个问题吗?
[编辑] 我发现我可以向 virt-install 添加一个 --debug 参数。在这次运行中,我根据具有类似问题的人的复制粘贴设置稍微更改了 --disk 选项。
详细错误如下所示: https://gist.github.com/Folaht/f5f337449800780c0da1d839171e078d
答案1
我找到了答案。
/usr/share/edk2-ovmf
是一个符号链接
/usr/share/edk2
,似乎已经阻止了 virt-install 尝试查找 nvram_template 文件。
不幸的是,这让我回到我原来的问题。
所以我现在只需要再问一次,并提供额外的信息。