kvm: windows 2000 does not boot because ntoskrnl.exe is missing or corrupt

We are currently in the process of migrating all our VMWare virtual hosts to KVM [1]. Sometimes this can be quite difficult because KVM apparently has some issues with older guest OS such was Windows 2000.

So, if you try to boot Windows 2000, you might fail like this:

Disk I/o error: Status = 00000001
Disk I/o error: Status = 00000001
Disk I/o error: Status = 00000001

Windows 2000 could not start because the following file is missing or corrupt:

<windows 2000 root>system32ntoskrnl.exe.

The workaround [2] for that problem is not to mark the primary harddisk as the boot device but the CD-ROM device instead.

The workaround does not work as expected, unfortunately. It only works until you leave a bootable CD in the CD-ROM drive but don’t actually boot from it. However, Windows installation CDs have the feature to tell you “press any key to boot from CD” before the actually boot from the CD, otherwise they continue with the other potential boot devices.

So for the time being, I have created an ISO image of the installation disk, attached it to the guest as a CD-ROM drive and boot from it 🙂

[1] http://www.linux-kvm.org/
[2] http://www.mail-archive.com/kvm@vger.kernel.org/msg04157.html

Spread the love

Leave a Reply

Notify of

Post Navigation