Installing windows XP on newer machines presents a few challenges and this post aims to be a compilation of the challanges that were faced so far and (possible) solutions.
ACPI:
1) Most modern machines (and all desktops) will show up as non ACPI compliant for the XP installer due to the changing of ACPI standards and the BIOS lists not being updated.
2) For MOST cases the ACPI HAL is not required for the system, in this case you can press F7 at the start of setup while in text mode (at the point where setup asks you to press F5) to change the mode from 'ACPI compliant' to 'Standard Computer'.
3) In the rare case where ACPI disabling does not work in text mode(for some newer machines), the 'Txtsetup.sif' file in the setup for XP needs to be manually edited. The option for ACPIEnable need to be set to 0 instead of the default 2 (or 1 for some installers). For the sake of documentation, the options correspond to:
- 0: ACPI is disabled at installation, regardless of the system BIOS.
- 1: ACPI is enabled at installation if an ACPI BIOS is present
- 2: ACPI is enabled on the basis of the GoodACPIBios list and the ACPIBiosDate. (The list is not updated so any new BIOS would not be present on it).
4) In case you need functions that are provided by the ACPI HAL, these can be setup as individual scheduled system operations after the installation.
Hard Disk Drivers:
1) Due to Windows XP not having the drivers for SATA controllers, the installation results in a BSOD. Note that a stop in installation due to not having drivers for devices considered "mandatory" for booting the full setup after textmode, the error message will show something in the vein of:
STOP 0x0000007B (parameter1, parameter2, parameter3, parameter4)
If you do run into a different error code, it may be worth searching through what the error code means as it may be a completely unrelated issue.
2) Due to the change in Intel Rapid Storage drivers there are two types of drivers available online, one that consists of a single IAStor.sys file (which are older and come from the "classical" phase of RST) and ones that consist of two files, an IAStorA.sys file (which is the AHCI/RAID driver) and an IAStorF.sys (which is a bundled SCSI driver). ONLY the first variety is usable with XP (the second can be used with Windows 7 and up).
3) In order to find the correct drivers, it is necessary to have the hardware ID of the SATA controller, this can be done rather easily from an existing windows installation. However, the SATA controller mode (which can be accessed from the BIOS) must be set to AHCI (RAID is known to cause problems unless you are actually using a RAID drive configuration in which case it is necessary). (Note: If there is an IDE option, this entire process is unnecessary as XP has drivers present for AHCI drives running in IDE-compatible mode)
(WARNING: Changing the mode with an OS installed WILL cause problems with your existing installation sometimes causing an endless string of BSODs requiring a complete reinstallation, make sure you have everything important backed up)
a) Go to Device Manager
b) Find the SATA controller (this is usually under the IDE ATA/ATAPI controllers (for older machines) or Storage Controllers (for newer machines). Note: The controller will usually have IDE/AHCI/RAID in its name.
c) Go to properties (right click)
d) Under details check for hardware ID.
4) Note: You MUST make sure that the hard drive is connected to one of the Intel controllers as some computers may come with a third party SATA controller from companies like Marvell, these are usually grey in color (for Marvell) or black (for Jmicron). You can also check this in Harware IDs , VEN_8086 refers to Intel and these are the ports that you will want to use.
5) The drivers compatible for XP for all motherboards in the table below are stored on the T: drive (software drive under Windows drivers). If you require drivers for motherboards after the 100 series they may be available from http://www.win-raid.com/t2f23-Intel-RST-RSTe-Drivers-newest-v-WHQL-v-WHQL.html (a page on the WinRaid forums that is maintained by Fernando who keeps a list of (fairly) updated drivers for newer motherboards and a very comprehensive set of instructions). Make sure you download the classical drivers and you may want to look up the model of the motherboard and the southbridge (sometimes manufacturers modify components) to choose the best version(more info on this in the above link).
6) In case you cannot get a hold of the device id for the SATA controller, I have included a table at the end of the document that lists the most common controllers for common intel motherboards.
Creating the Setup:
1) You will want to start with a reliable windows XP setup disc.
2) Copy all of the files into a folder on your hard drive.
3) You will need to slipstream the drivers onto the setup disc for XP, it is recommended to use nlite for this process as it is free and well supported(available at http://www.nliteos.com/)
a)Point nlite to the directory with the Windows Xp setup files, it should automatically detect the installer.
b)Select the option to integrate Drivers and for Bootable ISO.
c)Choose the option to insert a driver and browse to the location where the extracted driver files for XP (from the winRAID forums) are located and select either iaAHCI or iaStor (they are identical and nlite will copy both regardless of which you select)
d) Choose the driver that matches the Device ID for your storage controller. (This will be in the DEV_XXXX part of the Hardware ID).
e)nlite will then give you the option of making a ISO or burning a disc directly. (It is recommended to make an ISO first and then burn the disc with disc verification on to make sure the burning of the disc doesnt cause any issues).
4) Note: You will probably want to use an optical drive for the installation of XP as USB installers have problems with some systems.
5) This should allow you to now access the hard drive for the installation of windows XP, any other required drivers may need to be hunted down online (Windows XP versions). NOTE: It is HIGHLY recommended that you do not use a SSD with XP (unless you are willing to set up a third party application to setup scheduled TRIM operations).
Table with Hardware IDs (Intel chipsets since 2007):
Intel Southbridge Chipset | for | AHCI Controller DeviceID (specific) | RAID Controller DeviceID (external, not specific) |
ICH6R | Desktops | DEV_2652 | ??? |
ICH6M | Mobiles | DEV_2653 | no RAID option |
ESB2 | Desktops | DEV_2681 | DEV_2682 |
ICH7R | Desktops | DEV_27C1 | DEV_27C3 |
ICH7M | Mobiles | DEV_27C5 | no RAID option |
ICH8R | Desktops | DEV_2821 | DEV_2822 |
ICH8M | Desktops | DEV_2829 | no RAID option |
ICH8 | Mobiles (natively not supported by Intel) | DEV_2824 | no RAID option |
ICH9R | Desktops | DEV_2922 | DEV_2822 |
ICH9M | Mobiles | DEV_2929 | no RAID option |
ICH10R | Desktops | DEV_3A22 | DEV_2822 |
ICH10D/DO | ??? | DEV_3A02 | no RAID option? |
ICH10 (Type A) | Mobiles (natively not supported by Intel) | DEV_3A03 | no RAID option |
ICH10 (Type B) | Mobiles (natively not supported by Intel) | DEV_3A23 | no RAID option |
5-Series / 3400 | Desktops | DEV_3B22 | DEV_2822 |
5-Series 4-Port | Mobiles? | DEV_3B29 | no RAID option? |
5-Series 6-Port | Mobiles? | DEV_3B2F | no RAID option? |
6-Series Express | Desktops | DEV_1C02 | DEV_2822 |
6-Series Express | Mobiles | DEV_1C03 | no RAID option |
7-Series / C216 | Desktops | DEV_1E02 | DEV_2822 |
7-Series | Mobiles | DEV_1E03 | no RAID option |
8-Series /C220 (Type A) | Desktops | DEV_8C02 | DEV_2822 |
8-Series (Type A) | Mobiles | DEV_8C03 | no RAID option |
8-Series / C220 (Type B) | Desktops | DEV_9C02 | DEV_2822 |
8-Series (Type B) | Mobiles | DEV_9C03 | no RAID option |
9-Series (Type A) | Desktops | DEV_8C82 | DEV_2822 |
9-Series (Type A) | Mobiles | DEV_8C83 | no RAID option |
9-Series (Type B) | Desktops | DEV_9C82 | DEV_2822 |
9-Series (Type B) | Mobiles | DEV_9C83 | no RAID option |
Baytrail systems | Mobiles (natively not supported by Intel) | DEV_0F23 | no RAID option |
Skylake systems (6th Generation CPUs) | Desktops | DEV_9D03 | DEV_2822 |
100-Series / C230 | Desktops | DEV_A102 | DEV_2822 |
100-Series / C230 | Mobiles? | DEV_A103 | no RAID option? |
(Please note that not all of these ids are verified (the entries with question marks could not be found at the time, so if you run into any of them please update the table) but the list should serve to narrow down the possibilities in case it is not possible to get the Hardware Ids any other way.)
(The Intel chipsets X99(2014-Haswell and Haswell EP) and X79(2011) run the enterprise versions of the RST drivers and though the packages drivers SHOULD work on them as well, no documentation or verification for these chipsets could be found. Possible DEVID = DEV_1D02 (X79) and DEV_1F22 (X99))
Further Support:
In case of need for further support (for both legacy and windows 7 drivers), the person who maintains the pages on the winRAID forums (Fernando) replies fairly promptly to both new posts on existing threads and messages (a couple of days) and should be able to help with any problems running legacy operating systems on newer machines (in terms of missing driver files). The information presented here is taken mainly from his guides and partly from various other sources on the web.