Instalei o Arch Linux em uma máquina virtual KVM usando o Guia de Instalação . A instalação foi bem-sucedida porque, após a reinicialização, inicializo na minha nova instalação. O problema é que depois de desligar, não consigo mais inicializar no meu novo sistema.
Este é o meu script de início do qemu. Se eu descomentar o arquivo iso, posso inicializar de volta no arch iso e fazer chroot na nova instalação e tudo parece bem até onde posso dizer.
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
Edit: depois de instalar o Arch através do guia, instalei o efibootmgr e o bootloader de acordo com estas instruções
Os caminhos que especifiquei para o firmware OVMF funcionam bem para outras VMs.
Consigo inicializar diretamente no sistema novamente seguindo estas instruções , mas ainda não tenho certeza do que preciso verificar ou fazer para que isso aconteça por padrão. Acho que instalei o grub e criei grub.cfg
corretamente fazendo:
grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
e depois
grub-mkconfig -o /boot/grub/grub.cfg
Eu executei novamente os dois comandos acima depois de fazer chroot no sistema, parece certo, certo?
o que estou perdendo?
Outro detalhe, não tenho certeza se é relevante: se eu comentar todos os meus dispositivos de passagem, recebo uma tela diferente:
E mais uma: instalei o Manjaro usando um live iso mínimo, e aconteceu a mesma coisa! Reiniciado na nova instalação, mas depois de desligar, inicializado no shell do uefi.
Verifique se você gerou o arquivo fstab.
Leia a parte sobre Initramfs, se necessário ajuste e regenere.
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
Este foi o problema, adicionar esses sinalizadores ao ISO resolveu. Ver comentários.