佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 5589|回复: 5

[分享]让SATA“嫁给”Windows XP [图片已经更正]

[复制链接]
发表于 28-7-2004 06:32 PM | 显示全部楼层 |阅读模式
(转自:http://www.pchome.net/)

[分享]让SATA“嫁给”Windows XP

为了不再让WinXP的安装过程需要通过软盘加载SATA驱动程序,很多人都梦想主板的SATA驱动程序集成到安装光盘中,本文就来DIY一张集成SATA驱动程序的Windows XP安装光盘!

Windows XP安装目录及文件准备

打开资源管理器,在一个拥有足够磁盘空间(空闲空间至少为700MB;如果将生成后的光盘镜像也放在该分区,则应当保证有一张光盘的双倍容量的空间,即1.4GB左右)的硬盘分区上创建一个文件夹,比如“D:\XPSATA”,用于保存Windows XP的全部安装文件。

把一张完好的Windows XP安装光盘放入光驱,在资源管理器中将光盘中的文件全部选定,再复制到“D:\XPSATA”目录中。

准备驱动程序文件

一般随主板附送的驱动程序安装光盘中都有SATA的驱动程序。打开光盘目录,寻找名称中含有“SATA”或“RAID”字符的文件夹;也可在主板制造商的网站或其它驱动程序下载站点(如:驱动之家“http://www.mydrivers.com”等)寻找与自己的主板芯片组相匹配的SATA驱动程序。

在D盘中建立一个新的目录(如“STATDRV”),然后将找到的SATA驱动程序文件全部拷贝到这个目录中(D:\SATADRV)。这里我们以Si3112的SATA驱动程序为例进行介绍。其它类型的SATA驱动程序的集成步骤几乎完全相同,所不同的 仅仅是驱动程序文件名的不同而已。

在这个“D:\STATDRV”的文件夹中,一定会有一个扩展名为“.inf”或“.oem”的小文件,如“oemsetup.inf”或者“txtsetup.oem”等(本例中为“txtsetup.oem”),用记事本程序打开它,随后要用!
编辑“txtsetup.sif”文件

打开“D:\XPSATA\I386”文件夹,找到一个名为“txtsetup.sif” 的文件,这是Windows XP在安装时加载驱动程序的信息文件,用记事本程序打开它。

按“Ctrl+F”快捷键,打开查找对话框,以“[SourceDisksFiles]”为关键字进行查找。找到这个字段后,其下面已经存在一些内容。翻页到这个字段的末尾(注意:不是整个文件内容的末尾),添加以下内容:“si3112.sys = 1,,,,,,3_,4,1”。






这里的“si3112.sys = 1,,,,,,3_,4,1”是描述驱动程序所在位置的代码。代码的格式为“filename_on_source=diskid,subdir,
upgradecode,newinstallcode,spare,spare,newfilename”,在“txtsetup.sif”文件中的“[SourceDisksNames]”和“[WinntDirectories]”等字段中有详细的描述。有兴趣的朋友可以深入研究其它目录的对应关系,这里仅简单介绍。



在实际操作时,绝对不可以照搬代码!特别是扩展名为SYS的文件“si3112.sys”,它是SATA驱动程序目录“D:\STATDRV”中的驱动程序文件名,如果读者的SATA驱动程序与本文所述的不同,则只需换成目录中相应的文件即可。

切换到前面打开的“txtsetup.oem”文件,以“[HardwareIds.”为关键字进行搜索,应该可以找到类似“[HardwareIds.SICS.Si3112]”的字段。

该字段下的代码如:“id ="PCI\VEN_1095&DEV_3112 &SUBSYS_31121095", "Si3112"”。

切换到刚才打开的“txtsetup.sif”文件窗口中,以“[HardwareIdsDatabase]”为关键字进行搜索。找到后,将“txtsetup.oem”文件中“[HardwareIds.SICS.Si3112_XP]”字段下的代码拷贝到“txtsetup.sif”文件的“[HardwareIdsDatabase]”字段末尾。不过,我们需要更改一下代码的格式,如将“id ="PCI\VEN_1095&DEV _3112&SUBSYS_31121095", "Si3112"”改为:“PCI\VEN_1095&DEV_3112&SUBSYS_31121095 = "Si3112"”(其他代码修改方法相同),更改后的代码如下:

PCI\VEN_1095&DEV_3112&SUBSYS_31121095 = "Si3112"

PCI\VEN_1095&DEV_3112&SUBSYS_34238086 = "Si3112"

PCI\VEN_1095&DEV_3112&SUBSYS_311215D9 = "Si3112"

PCI\VEN_1095&DEV_3112&SUBSYS_B0021458 = "Si3112"

PCI\VEN_1095&DEV_3112&SUBSYS_01661028 = "Si3112"

PCI\VEN_1095&DEV_3112&SUBSYS_82141033 = "Si3112"

PCI\VEN_1095&DEV_3512&SUBSYS_35121095 = "Si3112"

PCI\VEN_1095&DEV_3512&SUBSYS_01661028 = "Si3112"

提示:不同SATA驱动程序的代码内容各不相同,应该根据具体情况灵活处理。

检查拷贝修改的内容是否与原有的内容重复,如果有,则把重复的一行删除。接着在“txtsetup.sif”文件查找“[SCSI.load]”和“[SCSI]”字段,添加如下内容:

[SCSI.load]

si3112 = si3112.sys,4

[SCSI]

si3112 = "Silicon Image SiI 3112 SATALink Controller"

至此,我们就把自己的SATA驱动程序的相关信息添加到了Windows XP安装信息文件“txtsetup.sif”中了!

上述添加自定义SATA信息内容的步骤看似很复杂,其实也就是同时打开Windows XP安装文件目录中的“txtsetup.sif”文件和驱动程序目录中的“.inf”或“.oem”信息文件,然后将后者文件中相关字段下面的内容一一对应地移植到“txtsetup.sif”文件中。知道了方法,做起来就要容易些了!

修改“winnt.sif”文件内容

现在,我们已经完成了两个最重要的步骤:一是获取了SATA驱动程序文件,它们现在被保存在“D:\STATDRV”文件夹中;二是修改了Windows XP安装时自动加载驱动程序的信息文件“txtsetup.sif”。但现在有一个新的问题:Windows XP在安装时如何知道它所需要的驱动程序文件在哪个目录下呢?

这个问题则需要通过修改“winnt.sif” 这个文件来解决。这个文件是Windows XP系统在安装时的附加信息文件,可以在其中指定非微软提供的第三方驱动程序的安装路径。

对于本例,在“D:\XPSTAT\I386”文件夹中用记事本创建一个文本文件,写好内容后,再将文件名改为“winnt.sif”即可。

在用记事本保存文件时,一定要输入完整的文件名,并且一定要用半角的双引号将文件名引起来,如“"winnt.sif"”,否则实际上生成的实际上仍然是个文本文件(Winnt.sif.txt),这将导致安装过程中出错,STAT驱动程序无法自动加载!

在“winnt.sif”文件中添加以下内容(如果已经存在部分内容,则应进行修改或添加,且保证每行的内容不要重复):

[Unattended]

OemPreinstall=Yes

OemPnPDriversPath="STATDRV"

上述代码最后一句引号中的内容是指随后生成光盘时,驱动程序相对于光盘根目录所在的相对路径。由于我们打算把保存驱动程序的“D:\STATDRV”文件夹放到新生成的安装光盘的根目录,因此不必包含任何子目录路径。




将SATA驱动压缩到安装文件中

使用支持CAB文件格式的工具(如WinRAR等),将驱动程序目录中扩展名为SYS的文件添加到WindXP安装目录的CAB文件中。

这里我们可以使用Windows XP本身附带的一个命令行工具“makecab.exe”,它位于“C:\WINDOWS\System32\”目录下。由于“System32”是默认的搜索路径,因此使用时不需要程序所在的路径。

在开始菜单中打开“运行”对话框,输入如下命令:“MAKECAB D:\STATDRV\SI3112.SYS D:\XP-STAT\i386\SI3112.SY_”。



具体的驱动程序文件名和保存路径请根据实际情况灵活更改。

重新生成安装光盘

经过上述步骤,现在已经是万事俱备,只待刻盘了!

准备任意一款支持制作可引导型光盘的工具程序,如经典的软件“WinISO”、“ISOCommander”及国产软件“UltraISO”等均可。生成可引导光盘的方法有很多种,为避免大家到处寻找那些生僻的工具软件,这里以UltraISO为例,分若 干个步骤进行:

(1)制作原始安装光盘镜像

这一步的目的是方便从制作出来的光盘镜像中提取引导文件。其实也有专门的直接提取光盘引导区的工具,但操作稍麻烦,因此在这里多花费一两分钟还是很值得的。

将Windows XP的原始安装光盘放入光驱中,启动UltraISO,按“F5”键,或者执行“工具”菜单中的“制作光盘镜像文件”,根据提示指定一个镜像文件的保存位置,随后程序会自动开始读取光盘并完成镜像文件的制作。




2)提取光盘镜像中的引导信息

在UltraISO主界面中,执行“启动光盘”菜单中的“保存引导文件”命令(图6),将引导信息保存到硬盘上备用,比如保存为“D:\Boot.bin”。



(3)新建光盘镜像

在UltraISO的“文件”菜单中执行“新建”命令;从资源管理器中,将前面我们已经准备好的“D:\XPSTAT”文件夹中的所有文件拖入UltraISO右上侧的文件窗口中。

将“D:\STATDRV”目录直接拖放到UltraISO右上侧的文件窗口中,完成后在光盘的根目录中应当可以看到“STATDRV”的文件夹。

提示:

拖放时一定不要包含XPSTAT目录本身!也就是说,文件添加成功后,在光盘的根目录下应当可以看到“I386”文件夹。

(4)加载引导信息文件

执行“启动光盘”菜单中的“加载引导文件”命令,找到上一步提取的光盘镜像的引导文件,即“D:\Boot.bin”。现在,新建的光盘镜像就具备与原版Windows XP安装光盘相同的引导功能了。

(5)保存光盘镜像

按“CTRL+S”或者执行“文件”→“保存”命令,指定一个保存光盘镜像的路径和文件名(如“F:\XPSTAT.ISO”等),确定后UltraISO就开始向指定路径生成光盘镜像文件了。

(6)刻录安装光盘

使用Nero或者其他任意一款支持光盘镜像文件刻录的工具软件,将上述得到的光盘镜像文件(这里即F:\XPSTAT.ISO)刻录到光盘中。现在,用这张安装盘在支持SATA的硬件环境下全新安装Windows XP,你就既不必按F6,也不需使用什么软盘,非常方便。

制作集成SATA驱动程序的Windows XP安装光盘是一件比较复杂的工作,任何一个小小的失误都可能导致无法正确地加载驱动程序。此外,不同主板附带的SATA驱动程序的文件名称、数量、信息文件的内容各不相同,在集成时不能硬套,只有举一反三才能成功。


[ Last edited by emilccp on 7-1-2005 at 12:50 PM ]
回复

使用道具 举报


ADVERTISEMENT

andy8274 该用户已被删除
发表于 21-10-2004 01:43 PM | 显示全部楼层
真的很不错...虽然没看完,因为有点长...但是一定很有用,因为以后是SATA的天下吧...

这个的主要功能HotmailUser没真正说明清楚,所以不会的人就不知道用处拉...

这个帖子是直接把SATA DRIVER直接跟WINXP变成一个installer CD.

HD 现在有分成 IDE接头跟 SATA接头

因为SATA HD比IDE HD速度上增快了..所以现在很多人都改用SATA HD,而弃用IDE HD.

但是问题就来了...普通的WINXP CD是detect不到SATA HD的(从新format的时候),这个时候当你是用SATA HD的时候,format的时候会在进入安装WINXP 的时候,需要点F6进行安装SATA HD的driver(driver一定要在floppy里面,但是通常厂商都给CD了,所以需要自行把driver copy出来,paste进一个floppy)之后才能继续安装WINXP.

以上步骤很麻烦是吧..

所以HotmailUser就教大家如何把SATA HD的driver直接include进WINXP CD里面..上面就是include的方法,虽然看见几个人说很复杂,但是很详细.

把driver include进去WINXP的之后,下次安装的时候就不用在进入安装的时候按F6,然后要放入SATA的driver(driver一定要在floppy里面),这样就能如以往一样简单的安装WINXP.麻烦就一次,好处就是每次format都不需要从复复杂的方法.

SATA HD 的接头


SATA HD 的CABLE


SATA HD card,安装这个,HD能随你带,不用买移动casing的 HD了~~方便


SATA HD


SATA HD 电源接线


新旧HD CABLE对比


[ Last edited by emilccp on 7-1-2005 at 12:51 PM ]
回复

使用道具 举报

alanbong 该用户已被删除
发表于 27-1-2007 10:10 PM | 显示全部楼层
苦于sata安装windows多时。。终于在这里发现了一丝希望~
但反反覆覆读了这篇文章,乃一知半解啊。。
觉得文章不够简辟,于是再搜索一番。。
皇天不负有心人。。
以下是转贴:原封不动~(英文版//傻瓜版)如果觉得不妥,请版主删帖。。
注:楼主是si3112.sys
    以下是Si3112r。sys (和俺的一样)

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
这个请参考楼主的。。
回复

使用道具 举报

发表于 28-1-2007 04:18 PM | 显示全部楼层
其实还有一个software nlite 可以更容易的吧 storage driver放进xp cd
回复

使用道具 举报

发表于 13-4-2007 07:39 PM | 显示全部楼层
我的作法是先用BOOT DISK PARTITION SATA HDD後就可以INSTALL WINDOWS了...
回复

使用道具 举报

发表于 16-4-2007 05:55 PM | 显示全部楼层
这里有谁用gigabyte 965p ds3 install vista 时,用sata install有问题?
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-5-2024 05:51 PM , Processed in 0.074366 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表