Cannot boot into windows VM nor windows ISO

eyen

Member
Jan 20, 2020
7
0
6
36
Hi,

My windows 10 VM was not booting. I've been having issues with it not booting after installing Visual Studio 2015, so I thought I had to reinstall windows 10.
So I tried loading the windows 10 ISO, and that too was failing.
I created a new blank VM for windows 10 and there too the windows 10 iso is not booting.
While writing this post, I also thought it could be an issue with UEFI so I created a non UEFI VM using SeaBIOS. It tries to boot in to the installer, but it just hangs at the blue windows logo.

Some relevant information: My computer is AMD Threadripper 2970WX with 128GB RAM 2x Geforce RTX 2080 Super and one GTX 1060.
I've been messing around with vfio and passthrough to get it working and I thought I undid my changes between it working and not working, but it still won't boot.
I'm also passing through directly an nvme ssd to the windows 10 VM. When I boot the computer into that NVME instead of proxmox, it loads just fine.

One maybe irrelavant information is that I had a power outage when things were working and when I booted up proxmox, my linux VM was/is loading just fine, but not my windows VM.

Here's my configs.
The new VM I was using for trying to boot in to the ISO: (I do need UEFI for GPU passthrough and I would like to keep it on this config)
agent: 1
bios: ovmf
bootdisk: scsi0
cores: 4
cpu: host
efidisk0: local-proxmox-storage:104/vm-104-disk-0.qcow2,size=128K
ide2: local-proxmox-storage:iso/Win10_1909_English_x64.iso,media=cdrom
machine: q35
memory: 4096
name: windows10.test
net0: virtio=56:9D:98:3B:A3:E1,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local-lvm:vm-104-disk-0,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=9168bbf6-e576-4aa7-b4e9-a9a627776c7b
sockets: 1
vmgenid: 05cb0824-e37a-4fb7-a14f-b0b62b699761

My grub file:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on nofb video=vesafb:off,uvesafb:off"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
GRUB_CMDLINE_LINUX=""

# Disable os-prober, it might add menu entries for each guest
GRUB_DISABLE_OS_PROBER=true
#GRUB_DISABLE_OS_PROBER=false
GRUB_GFXPAYLOAD_LINUX=text

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

pveversion -v
proxmox-ve: 6.1-2 (running kernel: 5.3.13-1-pve)
pve-manager: 6.1-5 (running version: 6.1-5/9bf06119)
pve-kernel-5.3: 6.1-1
pve-kernel-helper: 6.1-1
pve-kernel-5.3.13-1-pve: 5.3.13-1
pve-kernel-5.3.10-1-pve: 5.3.10-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.2-pve4
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.13-pve1
libpve-access-control: 6.0-5
libpve-apiclient-perl: 3.0-2
libpve-common-perl: 6.0-9
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-3
libpve-storage-perl: 6.1-3
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve3
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-2
pve-cluster: 6.1-2
pve-container: 3.0-16
pve-docs: 6.1-3
pve-edk2-firmware: 2.20191127-1
pve-firewall: 4.0-9
pve-firmware: 3.0-4
pve-ha-manager: 3.0-8
pve-i18n: 2.0-3
pve-qemu-kvm: 4.1.1-2
pve-xtermjs: 3.13.2-1
qemu-server: 6.1-4
smartmontools: 7.0-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.2-pve2

I can post my VFIO modificatioins in my "/etc/modprobe.d" folder, but it's all the standard stuff from the wiki.
Let me know if there's anything else I can provide.
 
I resolved my issue: I had disabled the NX mode in my bios. After re-enabling it, it works.

While I would normally mark this issue solved, the only reason I figured it out was that I was going to ditch proxmox for vmware, and vmware detected that the NX mode was disabled. So I suggest that proxmox do the same, to find a way to detect it.