Hello everyone.
OK, a little background on this one. My floppy disk controller on my motherboard is very broken, and thus making it impossible to use a standard SATA install with Windows XP. For those who haven't done this before, this involves getting the SATA drivers on to a floppy disk, and then hitting F6 whilst Windows is starting the setup. It then loads them off the floppy so you can use your SATA drive.
I'm sure theres not that many people out there with my problem, but more likely, a lot of people out there who hate floppys and haven't used one for a few years. This puts you off buying a SATA drive.
So I've managed to make a WinXP CD with the SATA drivers built into it. After many hours of internet research and tens of CDs later, I finally got one that worked. To save everyone else the same problems, I'm gonna post up to let you know how to do it properly!
UPDATE: POST #12 : Easier way to do it!
Please note: This is based on an nForce2 motherboard which uses the Si3112r SATA controller. As far as I am aware that is all of the nForce2 boards, but plz correct me if I am wrong.
Please note: I do not own a copy of Nero, so I have had to make the burning process for Easy CD Creator 5. I will post up the instructions for Nero, but I do not know if these will work.
STAGE 1 - WINDOWS CD PREP
Take your Windows XP CD and copy all the files on it to your hard drive into a directory (C:\WinXPCD for example). Also take note of what the CD is called.
STAGE 2A - SATA DRIVER PREP
Go to C:\WinXPCD\i386\ and open "TXTSETUP.SIF" using notepad
Using the Find tool, find the [SourceDisksFiles] section, and paste the following line underneath it (directly under the heading is easiest):
si3112r.sys = 1,,,,,,_x,4,1
Find the [HardwareIdsDatabase] section, and paste this line underneath it:
PCI\VEN_1095&DEV_3112&SUBSYS_61121095 = "Si3112r"
Find the [SCSI.Load] section and paste:
si3112r = si3112r.sys,4
Find the [SCSI] section, and paste:
si3112r = "Silicon Image SiI 3112 SATARaid Controller"
Save and exit this file. This file is for the text-based portion of the install (before we get XP's GUI). It keeps us from having to insert a floppy and pressing F6 during setup.
STAGE 2B - SATA DRIVER PREP
Go to C:\WinXPCD\i386\ and create / open "WINNT.SIF" using notepad. I am lead to believe that if you are using an SP1 WinXP CD, or if you have slipstreamed the files, then this file may already exist. If it does not exist (as it did not with me) then just create it.
This is a file that WinXP setup looks for for an automated GUI portion of the setup. This is called an "unattended installation", and is used to answer some of the questions XP asks during the installation (and even some questions it doesn't ask). This file is called an "answer file". For more on setting up a custom unattended install, look here: http://www.tacktech.com/display.cfm?ttid=202
Paste all of the following into the file:
[Data]
AutoPartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"
[Unattended]
UnattendMode=ProvideDefault
OemPreinstall=Yes
OemSkipEula=Yes
NoWaitAfterTextMode=1
NoWaitAfterGUIMode=1
TargetPath=\WINDOWS
DriverSigningPolicy=Ignore
OemPnPDriversPath="Drivers\SATA\SI3112r"
[GuiUnattended]
OEMSkipWelcome = 1
[UserData]
ProductKey=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
FullName=""
OrgName=""
You need to replace the ProductKey xxxxxs with your actual product key. If you do not want to do this, then simply remove the line completely.
The OemPnPDriversPath line will tell XP setup where to look for the .INF files for each of your devices. It will look in these paths first before checking it's own database of device drivers. The paths given are relative to a $OEM$\$1 folder we shall soon create. That is, "Drivers\SATA\SI3112r" tells it to look for a .INF file under C:\WinXPCD\$OEM$\$1\Drivers\SATA\SI3112r. If you wish to add additional drivers other than the SATA ones described here, you add more paths on the SAME LINE, each path seperated by ";".
Save and exit this file.
STAGE 3 - SATA DRIVER FILE INTEGRATION
From the Asus / Abit / SI website (I am on a Abit NF7-S, and used the drivers from the Asus website, so it is not important to get the ones for your particular motherboard), download the latest Si3112r drivers.
Extract and copy the 'Si3112r.sys' file into the i386 folder.
At the root of the CD files (eg. C:\WinXPCD\), make the following folder structure: \$OEM$\$1\Drivers\SATA\si3112r (so you now have C:\WinXPCD\$OEM$\$1\Drivers\SATA\si3112r).
Copy the following files to the si3112r directory (don't worry if you can't find them all, just copy what you have. The ones marked in italics you DO need to worry about though!):
si3112r.cat (shows driver is digitally signed for Windows)
si3112r.inf (Tells Windows what to install later in setup)
si3112r.mpd (used for Win9x)
si3112r.sys (driver for the controller)
siisupp.vxd (used for Win9x)
siwinacc.sys (SATALink driver accelerator)
txtsetup.oem (used to install XP)
STAGE 4 - BURNING THE CD
As said eariler, I have only tried this with Easy CD Creator 5, but will post up the instructions for Nero as well.
Easy CD Creator 5
Download the following file: bootfiles.zip
Extract boot.ima to your C:\ from the file you just downloaded.
Start Easy CD Creator.
Select File > New CD Project > Bootable CD from the menu.
1.) Set Bootable CD Type: to No Emulation.
2.) Set Load Segment: to 0x7c0. (Could be wrong here, try 0x0000 if that doesnt work)
3.) Set Sector Count: to 4.
4.) Press the Browse ... button.
5.) Locate the BootSector file (boot.ima) in the folder C:\OS\BOOT.
6.) Click the Open button.
7.) Click the OK button.
Select File > CD Project Properties from the menu.
1.) Enter in the Volume Label. You should have noted down eariler what your Windows XP disk was called. However, if you didn't (or you can't for whatever reason) heres a quick guide on how to figure it out:
---------------------------
Please note: If you are using a copy supplied by HP / Dell / Compaq / Gateway or a MSDN or media version, you MUST look the volume name up off your CD.
Windows XP SP0:
WXPVOL_EN
[WX] - Standard Windows XP Starting Label
[P] / [H] - Professional / Home edition
[FPP] / [CCP] / [OEM] / [VOL] / [EVL] - Retail / Upgrade / OEM / Corporate or Volume / Professional Evaluation
[_EN] - Lanuage, _EN for English
Windows XP SP1:
XRMPOEM_EN
[XRM] - Standard Windows XP SP1 Starting Label
[P] / [H] - Professional / Home edition
[FPP] / [CCP] / [OEM] / [VOL] - Retail / Upgrade / OEM / Corporate or Volume
[_EN] - Lanuage, _EN for English
Windows XP SP1a / SP2:
X1APOEM_EN
[X1A] - Standard Windows XP SP1a / SP2 Starting Label
[P] / [H] - Professional / Home edition
[FPP] / [CCP] / [OEM] / [VOL] - Retail / Upgrade / OEM / Corporate or Volume
[_EN] - Lanuage, _EN for English
---------------------------
2.) Set the File System to Joliet.
3.) Set the Physical format of disc to Mode 1: CDROM.
4.) Click the File System tab.
5.) Enter MICROSOFT_CORPORATION in the Publisher Name:, and Prepared By:
6.) Select Use original file date.
7.) Click the File Types tab.
8.) Select Add all Files.
9.) Uncheck Do not add Hidden files.
10.) Uncheck Do not add System files.
11.) Click the OK button.
Select all files and folders in the C:\WinXPCD folder.
1.) Click the Add button.
2.) Click the Record button.
3.) Select Record CD under Recording Options.
4.) Select Disc-At-Once under Recording Method.
5.) Select your write speed (I prefer writing as slow as possible to make sure the CD is of good quality. Imo you should never write faster than 16x on important CDs)
5.) Click Start Recording button.
FINISHED!
Nero 5.5
Download the following file: bootfiles.zip
Extract boot.ima to your C:\ from the file you just downloaded.
Start Nero - Burning Rom.
Select File > New... from the menu.
(If the Nero Wizard starts, click the Close Wizard button.)
1.) Select CD-ROM (Boot).
2.) Select Image file from Source of boot image data.
3.) Set Kind of emulation: to No Emulation.
4.) Set Load segment of sectors (hex!): to 07c0. (could be wrong here, try 0000 if that doesn't work)
5.) Set Number of loaded sectors: to 4.
6.) Press the Browse... button.
7.) Locate the BootSector file (boot.ima) in the folder C:\
8.) Click the Open button.
9.) Click the ISO tab.
- Set File-/Directorynames length to ISO Level 2 (Max. of 31 chars).
- Set Format to Mode 1.
- Set Character Set to ISO 9660.
- Check the Joliet check box.
- Check all Relax ISO Restrictions.
10.) Click the Label tab.
- Select ISO9660 from the drop down box.
- Enter the Volume Label, System Identifier, Volume Set, Application.
You should have noted down eariler the Volume label of your Windows XP disk (what is was called). However, if you didn't (or you can't for whatever reason) scroll up to the Easy CD Creator section for a quick guide on how to figure it out.
11.) Click the Dates tab.
- Select Use the date and time from the original file from File Dates.
12.)Click the Burn tab.
- Check Write.
- Check Finalize CD (No further writing possible!).
- Set Write Method to Disc-At-Once. (We have had Track-At-Once work as well.)
- Click the New button.
- Locate the folder C:\OS\ROOT.
- Select everything in the folder and drag it to the ISO compilation panel.
13.) Click the Write CD Dialog button.
14.) Click the Boot tab.
- Verify the settings. Correct if needed.
- Click the Write button.
FINISHED!
Well I hope that is of use. As it is such a long document (as you can see) PLEASE tell me any corrections or problems you have encountered, I must have made a mistake somewhere .