xp 安装SATA AHCI驱动

2009-03-13 23:37
经常有人问xp无软驱安装sata ahci驱动的问题,方法当然很多,最简单就是下一个集成好的iso,
或自己集成,非官方的有用nlite或自己修改TXTSETUP.SIF集成等。
我找了微软官方建议的方法,给大家参考。
微软的方法优点是不会改动系统文件,保持了系统的纯洁性。 [s:7] 弊端就是不一定支持光盘启动xp直接安装,所以需要用硬盘安装xp。
以xpsp2和intel驱动为例。
微软文档出处
http://support.microsoft.com/kb/816299/zh-cn
intel相关文档
http://www.intel.com/support/chipsets/imst/sb/CS-020825.htm

目前最新的intel sata驱动Intel Matrix Storage Manager需要下载
http://downloadmirror.intel.com/17269/eng/f6flpy3287.zip
下载好了以后,把文件解压倒d盘目录d:\intelsata下备用

可以看到d:\intelsata\Driver目录里有32位版的驱动,共6个有用文件如下:
iaahci.cat
iaahci.inf
iastor.cat
iastor.inf
IaStor.sys
TXTSETUP.OEM


找一个xpsp2安装盘或iso解到d盘目录d:\xpsp2备用

进入d:\xpsp2\i386目录
在i386下新建一个目录$OEM$,在$OEM$下再新建一个目录TEXTMODE,如下:
d:\xpsp2\i386\$OEM$\TEXTMODE


把d:\intelsata\Driver里的6个驱动文件复制到d:\xpsp2\i386\$OEM$\TEXTMODE里

在d:\xpsp2\i386目录里新建一个文本文件,命名为winnt.sif
文件内容如下:
[url=file::]Copy code[/url]
;SetupMgrTag
[Data]
AutoPartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"

[Unattended]
UnattendMode=ProvideDefault
OemPreinstall=Yes
DriverSigningPolicy=Ignore
TargetPath=\WINDOWS

[GuiUnattended]
EncryptedAdminPassword=NO
OEMSkipRegional=1

[UserData]
ProductKey=""
FullName=""
OrgName=""

[Identification]
JoinWorkgroup=WORKGROUP

[Networking]
InstallDefaultComponents=Yes

[MassStorageDrivers]

"Intel(R) ICH9 SATA AHCI Controller (Desktop/Server/Workstation)" = "OEM"
"Intel(R) 82801HEM SATA RAID Controller (Mobile ICH8M-E)" = "OEM"
"Intel(R) 82801HEM/HBM SATA AHCI Controller (Mobile ICH8M-E/M)" = "OEM"
"Intel(R) ICH8R/ICH9R SATA RAID Controller (Desktop/Server/Workstation)" = "OEM"
"Intel(R) 82801HR/HH/HO SATA AHCI Controller (Desktop/Server/Workstation)" = "OEM"
"Intel(R) 631xESB/632xESB SATA RAID Controller (Server/Workstation ESB2)" = "OEM"
"Intel(R) 631xESB/632xESB SATA AHCI Controller (Server/Workstation ESB2)" = "OEM"
"Intel(R) 82801GHM SATA RAID Controller (Mobile ICH7MDH)" = "OEM"
"Intel(R) 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)" = "OEM"
"Intel(R) 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)" = "OEM"
"Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M/DH)" = "OEM"
"Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)" = "OEM"
"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL"

[OEMBootFiles]
iaahci.cat
iaahci.inf
iastor.cat
iastor.inf
IaStor.sys
TXTSETUP.OEM

保存。
ProductKey=""这里把""换成xp的序列号(带-号的),这样安装时就不需要填了。
其中[MassStorageDrivers]下的内容来自驱动TXTSETUP.OEM文件里的字段。

在d:\xpsp2目录里新建一个文本文件,命名为unattend.bat
文件内容如下:
[url=file::]Copy code[/url]i386\winnt32.exe /unattend:i386\winnt.sif
保存。

到此为止集成驱动完毕

下面是安装
硬盘安装
如果需要安装的电脑已经有可用系统,复制d:\xpsp2所有文件到该电脑d盘,
只要运行unattend.bat文件就可以开始安装了,第一次启动前到bios里改sata模式。

问题是如果想要格式化硬盘或者在没有系统的新机上安装比较麻烦,等下再写。

好,那如果需要重新分区或者格式化硬盘那么应该怎么办呢?
那就需要winpe帮助了。

同样,获取pe最简单就是下载一个集成好工具和sata驱动的iso刻盘或制作启动u盘(u盘启动要看运气)。
比如老毛桃,深山红叶等版本。
或者自己制作官方pe,官方pe制作方法看下文,先简单提一下利用pe的安装过程。

把上面做好的xpsp2所有文件也刻光盘。
用pe光盘或u盘启动电脑,对硬盘分区格式化。
然后把xpsp2复制到需要安装电脑的d盘,然后同样运行Unattend.bat安装。

如果现有操作系统,但不刻光盘,想在硬盘上格式化c盘全新安装xp怎么办?
也可以利用pe。例如有一个pe文件winpe.iso
把winpe.iso复制到c盘用ramdisk的方法加载启动pe (具体操作慢慢写)。然后就可以格式化c盘,直接到d盘安装xpsp2了,记得安装第一次启动前到bios更改sata模式。

附微软官方pe制作opk下载地址,原来可以正常下载,现在要注册了。 [s:6]
也许讯雷可以下载,不过我不用讯雷,没测试过。
简体中文
http://oem.microsoft.com/downloads/worldwide/WinServer2003SP1_OPK/CHSsp1opk.zip

繁体中文
http://oem.microsoft.com/downloads/worldwide/WinServer2003SP1_OPK/CHTsp1opk.zip

英文版
http://oem.microsoft.com/downloads/worldwide/WinServer2003SP1_OPK/ENsp1opk.zip
opk需要用到相应的操作系统安装文件来制作pe,建议用英文版opk配合英文版的2003sp1(或msdn 2003 r2 cd1,也是sp1的)安装文件制作,体积最小。
因为官方opk可能很难下载,
我上传了官方2003sp1opk里面的winpe制作工具,包含帮助文件,可以下载:
英文版,对应2003sp1en
http://pickup.mofile.com/5862127843798738
中文版,对应2003sp1chs
http://pickup.mofile.com/0901935990151139

----------------------------------------------------------------------------------------


顺便说一下pe,本文主要讲微软官方方法,所以pe呢也用官方的,原汁原味嘛。
那些非官方的的pe有着强大的功能,但是配置安装方法也是各种各样,请自己看它们的说明研究,我就不说了。
微软把由2003sp1生成的pe称为windows pe 1.6
由vista衍生的pe称为windows pe 2.0,下面是最新官方vista sp1 pe 2.1制作包Windows AIK的下载地址,有兴趣自己研究
http://www.microsoft.com/downloads/details.aspx?familyid=94BB6E34-D890-4932-81A5-5B50C657DE08&displaylang=zh-cn

为了安装xp,pe1.6更合适,所以只说说1.6。
制 作官方的winpe1.6,你需要先下载好上面说的ENsp1opk.zip和一个win2003sp1安装盘(必须是集成sp1的2003安装盘来制 作,其它版本如2003sp2都不能用,2003sp2会造成制作错误,当然制作好后的pe可以用来安装所有版本的xp和2003)。
推荐用英文2003sp1制作

eMule下载链接下面是eMule专用的下载链接,您必须安装eMule才能点击下载eMule官方下载地址[url=ed2k://|file|en_win_srv_2003_r2_enterprise_vl_cd1.iso|594524160|4671274F8DD811086AD07662F2B3BCAC|h=JPEJCE2EOF23IHOHT6UVQTPK7OQAY57D|/]en_win_srv_2003_r2_enterprise_vl_cd1.iso[/url]566.98MB全选
566.98MB
如果用中文opk制作pe就要用到中文2003sp1

eMule下载链接下面是eMule专用的下载链接,您必须安装eMule才能点击下载eMule官方下载地址[url=ed2k://|file|sc_win_srv_2003_r2_enterprise_vl_cd1.iso|609118208|579CDAD487A1A26EF056D855729B3F24|/]sc_win_srv_2003_r2_enterprise_vl_cd1.iso[/url]580.9MB全选
580.9MB

把win2003sp1安装盘解到d盘2003sp1目录下备用,如d:\2003sp1
ENsp1opk.zip里的ENsp1opk.iso解包iso,把所有文件到d盘opk目录下备用,如d:\opk
d:\opk\docs\里有一个帮助文件winpe.chm有十分详细傻瓜的制作说明,可以研究一下
d:\opk\WINPE\里的文件是我们制作pe需要的程序。

运行命令
[url=file::]Copy code[/url]d:\opk\WINPE\mkimg.cmd d:\2003sp1 d:\winpe /PNP /NOWF
程序就会在d:\winpe目录下生成pe需要的文件。

在d:\winpe\I386\SYSTEM32\里新建目录intel
把d:\intelsata\Driver里的6个驱动文件复制到d:\winpe\I386\SYSTEM32\intel目录里
用notepad编辑d:\winpe\I386\SYSTEM32\WINPEOEM.SIF文件,内容如下
[url=file::]Copy code[/url]
;
; WinPE OEM driver list
;

[Version]
signature="$Windows NT$"

;
; Use this section to replace the inbox driver
; list with your own files
;
;[massstoragedrivers.replace]
;mydriver = mydriver.sys
;

;
; Use this section to append non-pnp drivers to
; the list of the drivers already present
; in the inbox
;[massstoragedrivers.append]
;mydriver = mydriver.sys
;


;
; Use this section to load pnp/non-pnp oem drivers
; in addition to the inbox driver list
;
; OemDriverRoot : Indicates the path relative to
; the system directory of WinPE. If
; none, then specify ""
;
; OemDriverDirs : Specifies series of directories separated
; by comma. Each specified directory has the
; txtsetup.oem which has the information on
; what driver to load.
;
; e.g. OemDriverRoot = "" and OemDriverDirs = drv1, drv2
; indicates to the WinPE that under WinPE's system32 directory
; there are two directories named drv1 and drv2. Each of these
; directories contain txtsetup.oem file which lists which
; driver to load
;
[OemDriverParams]
OemDriverRoot=""
OemDriverDirs=intel

保存。以上操作为pe集成了intel sata驱动。
如果添加多个sata驱动就需要建立多个目录同上操作
Driver1, Driver2, Driver3
同时修改
OemDriverDirs = Driver1, Driver2, Driver3

注: 实践发现,intel的ich10使用AHCI模式时,直接使用下述的drvinst.exe命令集成sata驱动,winpe通过PNP就可认出硬盘, 不需要改上述的WINPEOEM.SIF等,但是硬盘盘符没有自动分配,需要用diskpart等命令手动分配硬盘盘符

你可以直接添加一些应用程序到pe里,比如7z,wget等,直接把程序复制到d:\winpe\I386\SYSTEM32\目录里

也可以为pe加网卡驱动等,xp自己认的网卡驱动pe已经包含了。
例如网卡驱动在d:\net目里,加驱动命令格式如下
[url=file::]Copy code[/url]d:\opk\WINPE\drvinst.exe /inf:d:\net d:\winpe

运行命令
[url=file::]Copy code[/url]d:\opk\WINPE\oscdimg -bd:\opk\WINPE\etfsboot.com -n d:\winpe d:\winpe.iso
这个命令把d:\winpe里的文件打包成iso,在d盘生成winpe.iso文件。
下面生成支持ramdisk方式启动的iso
新建目录d:\ramwinpe
复制d:\winpe.iso到d:\ramwinpe目录里
在d:\ramwinpe目录里新建目录i386,即d:\ramwinpe\i386
复制d:\winpe\i386\bootfix.bin到d:\ramwinpe\i386目录里
复制d:\winpe\i386\ntdetect.com到d:\ramwinpe\i386目录里
复制d:\winpe\i386\Setupldr.bin到d:\ramwinpe\i386目录里
在d:\ramwinpe目录里新建文本文件,命名为winnt.sif,如d:\ramwinpe\winnt.sif
内容
[url=file::]Copy code[/url]
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=winpe.iso"
Architecture = "i386"

保存

运行命令
[url=file::]Copy code[/url]d:\opk\WINPE\oscdimg -bd:\opk\WINPE\etfsboot.com -n d:\ramwinpe d:\ramwinpe.iso

可以用这个ramwinpe.iso文件刻光盘,能从光盘启动电脑。

新电脑用pe分区需要用diskpart命令

比如一个80G硬盘,我把它分成3个区,c盘20G,d盘25G,剩下的给e盘。
pe光盘启动电脑,在pe里运行
[url=file::]Copy code[/url]diskpart
出现提示符
DISKPART>
依次输入命令,"号内是说明
select disk 0 "选择硬盘"

clean "清除硬盘已有分区,如果新硬盘没分区过,不用这个命令"

create part pri size=20000 "建立主分区20G"

create part ext "用完剩下空间建立扩展分区"

create part log size=25000 "扩展分区内建立第一个逻辑分区25G"

create part log "用完扩展分区内剩下空间建立逻辑分区"

select part 1 "选择第一个分区"

active "标记part 1为激活(启动)分区"

exit "退出diskpart分区命令"


再用exit命令退出winpe重新启动
启动后
[url=file::]Copy code[/url]format c: /fs:ntfs命令格式化c盘为ntfs格式。其它盘格式化操作类似。
格式化好了可以把上面做好的xpsp2通过光盘复制到d盘就可以安装了


如果想在已经有操作系统的硬盘上直接启动pe,格式化c盘后安装xp。

把winpe.iso复制到c:\winpe.iso
在c盘新建文本文件,命名为winnt.sif,如c:\winnt.sif
内容
[url=file::]Copy code[/url]
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=winpe.iso"
Architecture = "i386"

保存
把d:\winpe\I386\setupldr.bin文件复制到c盘改名为ntldr,即c:\ntldr(没有扩展名),覆盖同名文件,或把同名旧文件改名。
把d:\winpe\I386\ntdetect.com 文件复制到c盘,即c:\ntdetect.com,覆盖同名文件,或把同名旧文件改名。
这样重启计算机就可以直接进入pe了
[url=file::]Copy code[/url]format c: /q命令格式化c盘
进入d:\xpsp2可以如上所述安装xp


还有一篇文章讲
如何在局域网利用pxe启动winpe安装xp的简单方法,没有光驱软驱也可以。
http://www3.eastgame.net/read.php?tid=1252689

有兴趣可以去看看
原文地址:https://www.cnblogs.com/eagleking0318/p/6521503.html