KVM仮想マシンにインストールされたArch(またはManjaro):コールドブート後にUEFIブートディスクが見つかりません

KVM仮想マシンにインストールされたArch(またはManjaro):コールドブート後にUEFIブートディスクが見つかりません

次のコマンドを使用して、KVM仮想マシンにArch Linuxをインストールしました。インストールマニュアル。再起動後、新規インストールで起動したため、インストールに成功しました。問題は、システムのシャットダウン後に新しいシステムから起動できないことです。ここに画像の説明を入力してください。

これは私のqemu起動スクリプトです。 isoファイルのコメントを外すと、アーチ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とブートローダをインストールしました。このガイドライン

OVMFファームウェアに指定したパスは他の仮想マシンでも機能するため、問題ありません。

次の方法でシステムに直接再起動できます。このガイドラインしかし、基本的にこの問題が発生するために何を確認または実行する必要があるのか​​わかりません。私はgrubをインストールし、grub.cfg次のようにして正しく作成したと思います。

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

それから

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

システムにchrootした後、上記の2つのコマンドを再実行しましたが、それは大丈夫だと思いますか? UEFIはos-proberを必要としませんか?

私は何を見逃していますか?

関連性があるかどうかわからないもう1つの詳細:すべてのパススルーデバイスをコメントアウトすると、別の画面が表示されます。

もう1つ:Minimal Live ISOを使用してManjaroをインストールしましたが、同じことが起こりました!新しいインストールで再起動しますが、シャットダウン後はUEFIシェルで起動します。

ベストアンサー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にこれらのフラグを追加することで問題が解決しました。コメントを読んでください。

おすすめ記事