Arch(或 Manjaro)安装到 KVM 虚拟机中:冷启动后未找到 UEFI 启动磁盘

Arch(或 Manjaro)安装到 KVM 虚拟机中:冷启动后未找到 UEFI 启动磁盘

我使用以下命令将 Arch Linux 安装到 KVM 虚拟机中安装指南。安装成功,因为重新启动后,我启动到全新安装。问题是,关闭后,我无法再启动进入新系统。在此输入图像描述

这是我的 qemu 启动脚本。如果我取消注释 iso 文件,我可以重新启动到 arch iso 并 chroot 进入新安装,据我所知,一切看起来都很好。

cp /usr/share/OVMF/OVMF_VARS.fd /tmp/my_vars_arch.fd

qemu-system-x86_64 \
-name $vmname,process=$vmname \
-machine type=q35,accel=kvm \
-cpu host,topoext \
-smp 12,sockets=1,cores=6,threads=2 \
-m 32G \
-vga qxl \
-spice port=5930,disable-ticketing=on \
-device vfio-pci,host=43:00.0,multifunction=on \
-device vfio-pci,host=43:00.1 \
-device vfio-pci,host=0b:00.3 \
-rtc clock=host,base=localtime \
-serial none \
-parallel none \
-drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/tmp/my_vars_arch.fd \
-boot order=dc \
-drive file=/dev/NVME-TANK/ext4-zvol,format=raw,if=virtio \
#-drive file=/home/boss/ISOs/archlinux-2022.03.01-x86_64.iso,index=1,media=cdrom \
-nic bridge,br=br0,model=virtio-net-pci

编辑:通过指南安装 Arch 后,我根据以下内容安装了 efibootmgr 和 bootloader这些说明

我为 OVMF 固件指定的路径很好,因为它们适用于其他虚拟机。

我可以通过以下方式再次直接启动进入系统这些说明,但我仍然不确定我需要检查或做什么才能默认发生这种情况。我想我安装了 grub 并grub.cfg通过执行以下操作正确创建:

grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck

进而

grub-mkconfig -o /boot/grub/grub.cfg

我在 chroot 进入系统后重新运行了上面两个命令,看起来没问题吧? uefi 不需要 os-prober,是吗?

我缺少什么?

另一个细节,不确定是否相关:如果我注释掉所有直通设备,我会看到不同的屏幕:

还有一点:我使用最小的 live iso 安装了 Manjaro,并且发生了同样的事情!重新启动进入新安装,但关闭后启动到 uefi shell。

答案1

验证您是否已生成 fstab 文件。

阅读有关 Initramfs 的部分,如果需要调整并重新生成。

https://wiki.archlinux.org/title/installation_guide#Fstab


https://wiki.archlinux.org/title/QEMU#VM_does_not_boot_when_using_a_Secure_Boot_enabled_OVMF

这就是问题所在,将这些标志添加到 ISO 中解决了它。看评论。

相关内容