ISA PC doesn't boot any Windows version past NT 4, even with UniATA
Host environment
- Operating system: Arch Linux, updated about 2 weeks ago
- OS/kernel version: Linux kluchStation 6.12.58-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 14 Nov 2025 05:38:58 +0000 x86_64 GNU/Linux
- Architecture: AMD64 (17h, Zen+)
- QEMU flavor: qemu-system-i386
- QEMU version: 10.1.2
- QEMU command line:
# variant 1 qemu-system-i386 -M isapc -m 32 -cpu base,vendor=GenuineIntel,model-id="OverDrive PODP5V83",family=5,model=3,stepping=2,fpu,vme,pse,tsc,msr,cx8 -cdrom EN_WIN2000_PRO_SP4.ISO # variant 2 qemu-system-i386 -M isapc -m 32 -cpu 486,vendor=GenuineIntel -cdrom EN_WIN2000_PRO_SP4.ISO
Emulated/Virtualized environment
- Operating system: any Windows NT version, starting from Windows 2000 RTM
- OS/kernel version: 2000 RTM - XP SP3
- Architecture: P4/P5 class
Description of problem
Out of curiosity, I wanted to see how far I could stretch the ISA PC emulation target. As it turns out, it's much less reliable than real hardware or 86Box. The bugcheck returned by versions beyond NT 4 is, in fact, INACCESSIBLE_BOOT_DEVICE. I attempted to bypass that by using UniATA drivers which are supposed to support ISA-only devices, but that didn't work. Same with the NT SP4 IDE/ATAPI driver, doesn't recognise the boot device. I'm not quite sure what the issue is here.
Steps to reproduce
- Download a Windows version newer than NT 4.
- Download UniATA.
- Create a TXTSETUP floppy disk image for it.
- Spam F6 until you get the prompt to load said driver.
- Wait for Windows to load the kernel and bugcheck due to 0x7B.
