When trying to boot into the Windows installation iso I have QEMU will reset itself. It’s extremely strange because I initially got QEMU to boot it perfectly fine but I deleted that installation because that was just a test to make sure everything was working properly and I wanted to create a larger virtual hard drive. So far I’ve tried disabling CSM in the bios, downloading another Windows 10 iso and changing my chipset from Q35 to i440FX with no luck. I have also tried downloading a Windows 7 installation and using that but on UEFI it will hang at starting windows and will only boot on SEABIOS.
Windows 7 not booting with OVMF is expected and normal.
When you say reset itself, do you mean the whole host will reboot? Does QEMU crash and re-open? Does it boot part way then reset to the tianocore splash screen? Exactly where does it reset?
It will show me the initial TianoCore logo, have a progress bar, give me a prompt to press a key to boot from a CD/DVD, after pressing a key I get the TianoCore logo again and then VM will reset like I had pressed the “force reset” option in virt-manager. Nothing crashes and the VM will not close it just loops back to the initial TianoCore boot screen.
Added a conf file with options kvm ignore_msrs=1
in /etc/modeprobe.d/ and edited my grub to include kvm.ignore_msrs=1
but QEMU is still boot looping.
Just out of curiosity I’ve also tried booting Windows 7 on UEFI with the i440X Chipset, not passing through my GPU at all and Windows 7 boots and installs fine but deleting all the Video hardware in the VM and adding back my GPU it ends up just getting stuck at the starting windows boot again.
Just double checking you updated your initramfs and grub and rebooted after adding ignore_msrs?
I just realized I haven’t been updating initramfs at all during this process. What is the command to update it after you have made changes in the modeprobe.d folder? I am very new to linux.
The basic command is update-initramfs
. Run as root or with sudo.
You can do man update-initramfs
to see all the available options.
You will probably want update-initramfs -u -k all
to update(-u) it for kernel versions(-k) all (all).
You want to update it every time you adjust something with modprobe and modules. It will automatically be updated if needed by apt, so when installing a kernel or packages with kernel modules it will happen automatically.
Ok updated initramfs rebooted but nothing has changed. I suspect it’s because the kernel fails to load the custom cfgs I have in modeprode.d because I get a Kernel Failed to Load Modules error when booting. Hell it’s hard to know which cfg file is causing problems cause like I said I haven’t been updating initramfs this whole time.
Oh, have fun.
systemctl status systemd-modules-load
and
journalctl -xe
may be of use in diagnossis. Page up and down to go fast through the journalctl log
So the culprit was Failed to find module 'vfio_pci ids=1002:67b1,1002:aac8'
I appended out where ever this line was in the vfio.cfg file in my modprobe.d folder, the modules.cfg file and the modules.cfg file in the initramfs-tools folder. Gone was the failed to load modules error but obviously I know something isn’t right with my vfio configs. The cfg file with options kvm ignore_msrs=1
wasn’t giving my any sort of error so I decided to boot up virt-manager without passing through my gpu and It still boot looped. I also have kvm.ignore_msrs=1
in my grub (and yes I updated both grub and initramfs this time)
Try making another VM or two and trying them with a Linux ISO and the Windows ISO you are using. This will help narrow down if the issue with with QEMU or it’s config or with your VM config.
So Windows 10 will actually give me something if I switch to SeaBios, an error about my processor not being compatible with a 64-bit OS. Kubuntu will refuse to boot on the OVMF firmware just like Windows 10 and also like it it will boot if I switch to SeaBios, Kubuntu won’t give me an error though It actually runs perfectly fine. Could it be a problem with the build of OVMF I have?
Forgot to mention that Windows 10 will only give me an error if I switch my CPU configuration to kvm32, I haven’t been able to try alot of the other CPU configurations because virt-manager will give me an error before boot saying that my CPU doesn’t support various functions. If I just have it set to copy host configuration on my CPU and i’m on SeaBIos it will actually do the same thing that it does when using UEFI, boot loop.
What CPU does the machine have?
It’s a Ryzen 7 1800x.
Don’t expect any Intel cpu configs to work.
Also, the KVM 32 error is probably due to you trying to use a 64-bit windows 10 ISO while KVM32 is x86(32 bit) not amd64 (64 bit).
I am kind of out of ideas here, sorry.
I found out what was wrong, I had my NX CPU features disabled in the BIOS as well as other features. Everything is working fine now and all I got left to do is to get Looking Glass setup and get audio working. Thank you so much you have been extremely helpful throughout all of this.