Problems Installing Windows 2022 Server
I am running ProxMox 7.2-7 using Ceph files system across 8 AMD EPYC servers (7402P 24 core/256 GB RAM, 8 TB of Ceph space each) . Kernel 5.13.19-6-pve. I have been able to install most OS types without problem (Ubuntu, Arch Linux, OpnSense, pfSense, Windows 10, etc.)
But when it comes to Windows Server 2022, and carefully following the best practices page (I've tried two different ISOs both of which passed their sha256 hash match - August update and the February Update just to get some variety), it fails on the first reboot after installing the OS. Specifically, I am able to get through the windows install step that loads the drivers and runs the install. All of which is successful (apparently). Then on the first reboot, I get the following:
I don't know what is going on here, but I have successfully installed Windows 2022 on ProxMox VE on a different serer (an older intel I7), which does not use the Ceph file system. But its a stand alone ProxMox VE server and uses local disks.
Variations: I've tried with IDE, SATA, SCSI, VirtIO Block device, some of these got through the install process only to fail as above. None of them were successful. Does nvraid.sys get changed by the driver? I don't think so, because I've done SATA and IDE installs without the VirtIO drivers and had the same result. Therefore, it must be something in ProxMox itself (e.g. Cephfs), or some manipulation of the virtual drive that causes a change in maybe the size. I haven't dug into the actually code and would prefer not to.
Other Troubleshooting Efforts: I am able to boot into the DVD and go into troubleshooting mode. The automatic repair finds, or at least fixes, nothing. The working version of nvraid.sys in c:\windows\system32\driver appears to be the same as the working one that I have installed. Copying the working driver does not make a difference.
Next Steps
Windows 2022 requires
- NX = no-execute page protection. Listed in coreinfo.
DEP = Data Execution Prevention => Often synonymous with NX when used with ASLR (Address Space Layout Randomization) Available in all modern processors. E.g. you may not see it listed in coreinfo
- CMPXCHG16b = core info abreviated this as the CX16 instruction. Available since P6 intel and Bulldozer, Jaguar, and later AMD CPU cores. Should be there in any modern CPU. Listed in coreinfo
- LAHF/SAHF = Load AH from Flag and Store AH from Flag. AH is a register in the CPU. Used for Virtualization and available on Intel/AMD in any modern CPU. Listed in coreinfo
- PrefetchW = Prefetch data into cache in anticipation of a write. Synonymous with PrefetchCHh from Intel. Listed in coreinfo
- Supports Second Level Address Translation (EPT or NPT) Did not show up on coreinfo, but still worked.
Run coreinfo on one of my Windows 2019 servers.