Arch-Linux

Arch(或 Manjaro)安裝到 KVM 虛擬機:冷啟動後找不到 UEFI 引導盤

  • March 22, 2022

我使用安裝指南將 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 韌體指定的路徑很好,因為它們適用於其他 VM。

我可以按照這些說明再次直接啟動到系統中,但我仍然不確定我需要檢查或執行哪些操作才能預設情況下發生這種情況。我想我安裝了 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。

驗證您是否已生成 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 解決了它。看評論。

引用自:https://unix.stackexchange.com/questions/696294