Saturday, March 3, 2012

How to install Windows XP on today's hardware or immortalize it

So if you have realized by now that Windows XP offered you the best computing experience and everything after that is a reduction in productivity and usability, here's how to install Windows XP on your modern computer. Yes, don't believe the fanboys who tell you that XP won't run properly on "modern hardware", Windows XP runs just as well on a modern multi-core computer. The kernel of Windows 7 and Windows Vista operating systems may be optimized a little bit more for multi-core processors, no one's denying that, but that doesn't mean Windows XP will run with any considerable slowness as right from the very beginning, at its fundamental core, Windows NT-based systems have always been engineered for symmetric multiprocessing and scale in performance very efficiently with modern hardware. The most common issue you are likely to run into when trying to install Windows XP on a modern PC is SATA/AHCI driver availability. Specifically, when you try to install Windows XP on a computer with AHCI/SATA mode enabled, setup will halt at a blue screen (BSOD).

When Windows XP was released, there was no SATA, there was only IDE. Intel standardized the SATA disk controller and host bus adapter interface into an universal interoperable standard called AHCI. In simpler terms, this means, you need AHCI drivers for Windows XP if you wish to use it on a modern PC with AHCI enabled in the BIOS. If your BIOS permits it (most BIOSes do), you can set it to IDE mode and install Windows XP from the original disc or the CD you burnt as you were always used to doing without any issues.

But if you turn on AHCI (recommended), you need to supply Windows XP "Text Mode Setup" (the one you see when you begin XP setup from CD) with AHCI drivers. To do this in the simplest way possible for non-geeks, you need to first determine which disk controller your motherboard chipset has. The F6/AHCI drivers can be downloaded from the website of your motherboard's chipset manufacturer or disk controller manufacturer. For example, if you have a motherboard from any manufacturer, but with an Intel-based chipset, you need to go to Intel's driver download website to download F6/AHCI drivers. Once you locate and download these, simply download nLite and slipstream (integrate) the F6/AHCI drivers into Windows XP setup. Now you are all set to install Windows XP.

The next step involves transferring the updated Windows XP setup files to a CD or even better, to a USB flash drive. To make this easier, I recommend you to download WinToFlash and use it to create a bootable USB flash drive with Windows XP setup. Set your BIOS to boot from USB, start XP setup and now you can install Windows XP, just like you could install it before SATA arrived. 

Now, that you know how install Windows XP natively, here's how to further immortalize your copy of Windows XP so Microsoft can't kill it by working with its partners to pull driver support and forcefully make it obsolete:

1.  Virtualization: Use a product like Parallels Workstation Extreme. With virtualization, drivers get out of the equation and you can forever run Windows XP. Parallels Workstation Extreme will also virtualize high performance graphics and network with near-native performance. Currently, Parallels Workstation Extreme works with any Intel CPU/chipset with both VT-d and of course VT-x, as well as high-end workstation-class GPUs like NVIDIA Quadro series (which have a technology called SLI Multi OS) or AMD FireGL/FirePro. This is groundbreaking stuff actually, as for the first time, you will be able to virtualize Windows XP with high performance graphics. (Update: Parallels tells me, that Workstation Extreme will also work on consumer grade high-end hardware like Intel Core i7 Extreme and NVIDIA GeForce/AMD Radeon GPUs. The chipset/platform should support VT-x and VT-d). Although, note that I haven't personally tested Workstation Extreme on consumer grade high-end hardware.

2.  When security upgrades end for Windows XP, run as standard user and use SuRun to elevate apps as admin that don't run as administrator. In fact, even now, you should switch to standard user accounts and start using SuRun. SuRun behaves exactly like Windows Vista/7's UAC.

3.  If you are an end-user/consumer, get the last supported high performance consumer platform: Intel Sandy Bridge-Extreme (X79) chipset and Core i7-3960X on which you can run Windows XP with full AHCI support. With the next chipset revision, Intel may not release AHCI and chipset drivers for Windows XP.
4. If you prefer to run as administrator, you can lock down most apps and run them as ‘Basic user’ using Software Restriction Policies. Follow this guide to run any program as Basic user instead of Administrator.


Anonymous said...

Your thoughts on virtualizing a pc then running xp VMs track mine closely; in fact searching for data on vm products is how I stumbled across your blog. But...

If you have gotten any useful information from Parallels about supported cards, you're a better geek than I. They sound like broken records: "quadro this, firepro that (repeat endlessly). No way am I going to spend 1000 bux on a niche video card.

If you have reliable, if unofficial, data on Radeon HD anything or GeForce anything that workstation extreme can attach to a VM, I'm all ears. That's my big sticking point before building a machine for that exact purpose.


xpclient said...

Parallels does not mention in their system requirements that consumer-grade high-end hardware will work. So I contacted their technical support who told me it should work and they also asked whether I attempted it and it didn't work. I told them, I didn't try it, I was merely asking before making a purchase decision, and they confirmed again that it will work. Unless I have tested it myself personally, I wouldn't recommend you to buy it and risk wasting your money. I have updated the blog post to reflect that this configuration is untested by me but what Parallels support says should work.

Anonymous said...

Yes. Considering what they charge for Workstation Extreme, it seems they've written off the regular users market in advance, focusing only on CAD and suchlike. I do wish they'd test *something* and tell us about it. Oh well, should I get stupidly optimistic, try it and succeed, I'll let you know. :)

server2003client said...

I am so glad. I would have never changed my bios to IDE. Now there isn't a blue screen when I try to install server 2003. Kudos

Jänis Policy said...

When SATA was created, it was said to be programmatically fully compatible with existing ATA. That didn't take a long time to change.

Being conservative, I stuck with "legacy" parallel ATA drives at first and had to go via the driver route for 3rd party IDE-RAID controllers that good motherboard makers included to support existing technology, while XP was still state of the art. SATA actually made things easier after that with its IDE mode which made all channels equally functional for HDDs and/or CD-drives.

The AHCI mode sounds like some intel conspiracy to push upgrading. Especially given how their ahci driver is not easily installable into a live system. With VIA RAID drivers there were never such issues. I could install XP from the single chipset provided IDE channel, load the driver, reconnect the hard drive to the RAID, and Windows booted without a fuss.