Smashing the limits: Installing Windows XP in DOSBox-X#retrocomputing #windows #preservation #emulation #operatingsystems
In my previous article, I described how I managed to install Windows 2000 in DOSBox-X.
Even though this experiment was successful, I was not really with the results. While I got Windows 2000 working, I didn’t want to stop there. The final goal for the project was to get Windows XP running instead. However, after multiple attempts I gave up, thinking that Windows XP was impossible to use.
Well - I was wrong. But let’s start at the beginning.
At the time of writing this article, running Windows XP isn’t officially supported by the DOSBox-X project. Don’t blame the developers for any issues - this is very experimental.
Since I wasn’t able to do a clean install of Windows 2000 due to driver and compatibility issues as described in my previous article, I started with the upgrade route right away. Upgrading from Windows 98 to Windows XP is officially supported, so I was pretty confident this would work for me as well.
I created a copy of the hard drive image after each step, so I was able to start the upgrade procedure with a clean installation of Windows 98 (Second Edition).
After mounting the Windows XP ISO image, I was greeted by the Windows XP Setup.
Because of the issues I had with the clean installation of Windows 2000, I used the “Upgrade” installation type instead because that’s what worked for Windows 2000 as well.
After typing in the product key, the Setup was about to start the file copy process. In fact, it even started copying the installation files but failed at the very first file.
“The ISO must be bad!” I said to myself. I obtained this ISO file many years ago, so some silent file corruption was not entirely impossible. To avoid any potential issues caused by bad images, I always create checksum files immediately after obtaining the image. So, I compared the ISO image with the checksums I had - and to my surprise, I got a perfect match. The ISO image itself is absolutely fine since I have used it multiple times before.
To further investigate, I even went ahead and reinstalled Windows 98 from scratch to rule out any possible installation issues, but to my dismay, I encountered the same error message again.
Great. Getting another ISO image or starting with a fresh installation would have been way too easy, right?!
Back to square one.
Since the upgrade didn’t work as planned, I decided to proceed with a clean installation instead. Unfortunately, I encountered difficulties booting DOSBox-X from the ISO image. As a workaround, I launched the Setup from within another fresh Windows 98 installation just like I did for Windows 2000.
After my previous experience with the Windows XP Setup, I mentally prepared myself for yet another potential failure. However, to my surprise, this time the Setup didn’t just throw an error message at me; instead, it smoothly proceeded to copy over the temporary installation files. Crisis averted!
One reboot later, I was greeted by the beloved and very familiar blue hue of the Windows XP Setup.
And now - the moment of truth. After confirming that we want to overwrite the existing Windows installation, Windows XP Setup started the next step of the installation by copying over the temporary installation files to the Windows directory.
I can’t say that I was surprised when the project stumbled across yet another issue. After copying over some files atrociously slow, it failed. No matter how often I retried, it always failed. I couldn’t track down the issue to one particular file though because on subsequent runs (yes, I tried!), it failed at a different file.
Based on the experience I had with the Windows 2000 installer I think this is related to either the IDE driver or the emulation of the IDE controller and the devices are simply dropping out of the system.
The next obvious way to solve this issue was to reboot the system and try to run Setup again. Unfortunately, this wasn’t an option either because after a reboot it simply failed to copy the very first file - turns out that Windows Setup already started to overwrite vital parts of the previous installation.
At this point, I gave up. Running Windows XP in DOSBox-X clearly wasn’t possible. Heck, I couldn’t even get the installation to work!
New Technology from 1999
“It is the NT conversion, stupid!”, I yelled at myself a couple of days later.
While Windows 98 is using MS-DOS to bootstrap the system and uses parts of it in its kernel, Windows XP uses the Windows NT platform instead. Just like Windows 2000!
What if swapping out the kernel requires some sort of low-level access I don’t have in DOSBox-X?
So I installed Windows 98 again, updated it to Windows 2000, fixed the missing taskbar, verified the system was working, mounted the Windows XP ISO, and started the installer again.
Because I was afraid that a clean installation would fail again, I went with the upgrade route once more. Not really knowing what to expect, I clicked on the magic button and waited.
And yes - this time, the upgrade seemed to work! No error messages this time!
One reboot later, I noticed something very promising.
Instead of starting in the text-based installer again, I got a colorful graphic installer, indicating that Windows Setup was taking a different route this time. And amazingly, the installation ran just fine without any issues.
With this part of the installation complete, there was one last reboot to survive.
Windows XP was bootable and the installation itself was complete!
Soon thereafter, things started to go downhill though. After the first boot, Windows XP is supposed to start the so-called “Out of Box Experience” (OOBE) in order to finalize the installation by setting up some options and the user account.
The OOBE started, but what an experience it was! This wasn’t an experience. This was pure madness!
The beautiful setup music was cluttered with tons of distortion sounding like incredible compression artifacts caused by a very unhappy WMA decoder.
In fact, the performance was so poor that the system completely locked up and I had no other choice than rebooting the system.
Fortunately, Windows XP is able to migrate the user accounts from Windows 2000 because I had no option to create a new account - I guess I avoided yet another dead end.
And yet another reboot later - there it was. In all its glory.
I did it. Windows XP is running successfully in DOSBox-X.
Obviously, I had to retry the games I tried on Windows 2000. The Sims in the various versions I tried before still failed, but this was expected. Roller Coaster Tycoon improved by a lot. I couldn’t spot any sound issues this time and the game was perfectly playable.
And last but not least: Yes, the iconic 3D Pinball: Space Cadet worked flawlessly as well.
This is what I like about emulation and playing around with those systems so much. Even though some tasks seem to be impossible at first, there are always new routes to explore, helping you to achieve things many people (including yourself!) say are impossible.
I love it.
Do you have any comments or suggestions regarding this article? Please drop an e-mail to email@example.com!