I thought it was going to be a non-eventful evening when I decided to install Windows XP on a second hard drive on one of my servers running Windows Server 2003 (well, I had some issues with the wireless card driver on Windows Server 2003 and wanted to see if the OS was the cause).
Since I was installing on a different physical drive, I was pretty sure that my existing OS on a different drive was not going to be affected. Well, as you can see later on, I was wrong. After installing XP at reboot, I noticed that I was greeted by a boot menu, which consists two entries: one for Windows 2003 and one for Windows XP. It was a little strange since I did not ask to specifically configure a dual boot option, but I was not alarmed because I thought that it was just a matter of changing boot.ini later.
But I soon realized that I could no longer boot into Windows Server 2003 and if I chose that option, I only got a blank screen and nothing else. After taking a deep breath, I reassured myself that nothing bad could have happened to the Windows Server 2003 disk as I was installing XP on a separate drive.
So, I booted into Windows XP and sure enough all the files are still there on the Windows 2003 drive. I started to suspect that the XP install might have replaced some system files on the Windows 2003 drive. Luckily, I had a VM Windows 2003 server so I booted it up and compared the system files. And sure enough the following two file in the root folder:
seemed to have been replaced by the Windows XP install. NTDETECT.COM was off by a few bytes while ntldr seemed to be off by more than 30 KB. I was pretty certain then that Windows XP had replaced the bootloader located on the Windows Server 2003 drive with its own version and somehow that version is not advanced enough to load Windows Server 2003.
After copying the two files back from the VM, I rebooted and sure enough I could boot into Windows Server 2003 again.
It seemed to me that this was a big design flaw on Microsft’s part. How could you blindly overwrite files on a drive that was not instructed to perform the installation on? In the past, I had heard issues when people dual booting Linux and Windows and had problems when installing Windows after Linux because Windows’ bootloader would overwrite Linux’s bootloader and render the later unbootable. But here we are talking about two Microsoft’s very own products, released not that far apart.
So be careful when installing Microsoft’s OSes on your PC. Even if you are installing it on a different physical drive, the OS installation might touch other drives. When in doubt, physically remove other physical drives when performing an installation.