免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1047 | 回复: 0
打印 上一主题 下一主题

让Windows系统自动加载SATA驱动程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-25 16:51 |只看该作者 |倒序浏览

以前在安装Windows的时候老是要借软驱插软盘,遇到软驱软盘坏了就麻烦了,一直都想把驱动做到光盘或者硬盘上并让Windows安装程序自动加载,经过查资料和摸索,得出下面的方法:
  安装Windows 2000/XP之类的基于NT内核的操作系统在RAID或SCSI或SATA硬盘上,它们的驱动程序必须在安装系统之前就正确加载。安装此类驱动程序常见的模式是将硬件的驱动程序拷贝到软盘上,在系统开始安装的时候按下F6,然后系统会为你加载软盘中的驱动程序。这样的驱动程序软盘根目录下肯定有一个名为Txtsetup.oem的文件,它会告诉安装程序怎样安装SCSI、RAID卡的驱动程序。那么只要我们使用Windows的自动安装模式,并通过Txtsetup.oem就可以实现让驱动直接加载(就如同它已经内置了驱动程序一样)。以EP-8RDA3+的SATA芯片SI3112为例,其他的可以依瓢画葫芦。
  1、新建一个目录,命名为$OEM$。在此目录下建立两个目录,TEXTMODE和$1。
  2、把SI3112的驱动文件都拷到TEXTMODE的目录下:
  Si3112r.inf
  Si3112r.mpd
  Si3112r.sys
  SIISUPP.vxd
  SIWinAcc.sys
  TxtSetup.oem
  驱动文件至少应包括包含TxtSetup.oem、.inf和.sys文件。也就是在TxtSetup.oem里出现的文件都是必须的。
  3、用任何文本编辑器编辑Txtsetup.oem文件,删除任何和Windows XP驱动无关的信息,保存。我的文件修改后如下:
  [Disks]
  disk1 = "Silicon Image SiI 3x12 SATARaid Driver Installation Disk",Si3112r.sys,
  [Defaults]
  SCSI = Si3112r
  [SCSI] ; HwComponent section
  Si3112r_XP = "Silicon Image SiI 3x12 SATARaid Controller for Windows XP"
  [Files.SCSI.Si3112r_XP]
driver = disk1,si3112r.sys, Si3112r
  driver = disk1,SiWinAcc.sys, SiFilter
  inf = disk1,Si3112r.inf
  ;;catalog = disk1, Si3112r.cat
  [HardwareIds.SCSI.Si3112r_XP]
  id = "PCIVEN_1095&DEV_3112&SUBSYS_61121095", "Si3112r"
  id = "PCIVEN_1095&DEV_3112&SUBSYS_34228086", "Si3112r"
  id = "PCIVEN_1095&DEV_3112&SUBSYS_809D1043", "Si3112r"
  id = "PCIVEN_1095&DEV_3512&SUBSYS_65121095", "Si3112r"
  id = "PCIVEN_1095&DEV_3512&SUBSYS_34228086", "Si3112r"
[Config.Si3112r_XP]
  value = ProblemDevices, "", REG_SZ, ""
  value = ProblemDevices, "Maxtor 4D060H3 DAK05GK0", REG_SZ, "MaxMode = UDMA-5"
  value = ProblemDevices, "ST320012AS", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST330013AS", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST340017AS", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST360015AS", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST380023AS", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST3120023AS", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST340014ASL", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST360014ASL", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST380011ASL", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST3120022ASL", REG_SZ, "Mod15Write"
  value = ProblemDevices, "ST3160021ASL", REG_SZ, "Mod15Write"
4、在$1的目录下建立Drivers目录,在Drivers目录下再建立SI3112目录,此两个目录名称可随意,但是必须与下面的unattend.txt文件里提到的相应路径一致。把TEXTMODE下的所有文件都拷到SI3112目录下。
  5、建立文件名为unattend.txt的文本文件,这个文件是WINDOWS自动安装的脚本文件,可自己手动写入参数,也可通过setupmgr.exe产生,setupmgr.exe文件在安装光盘的SUPPORTTOOLS目录下的DEPLOY.CAB压缩包里。
  6、在unattend.txt中,创建 [OEMBootFiles]段,把TextMode目录下的所有文件列表填写进去,如我的:
  [OEMBootFiles]
  Si3112r.inf
  Si3112r.mpd
  Si3112r.sys
  SIISUPP.vxd
  SIWinAcc.sys
  TxtSetup.oem
  7、建立[MassStorageDrivers]段,如:
  [MassStorageDrivers]
  "Silicon Image SiI 3x12 SATARaid Controller for Windows XP"="OEM"
  其中"Silicon Image SiI 3x12 SATARaid Controller for Windows XP"来自于Txtsetup.oem文件[scsi]段中标志Windows XP控制器的文字。
  8、建立[Unattended],在[Unattended]中添加OemPreinstall=Yes,是为了保证Windows安装程序自动去查找我们添加进去的第三方驱动程序。为了防止没有通过微软的WHQL认证的驱动安装失败,需要指定DriverSigningPolicy=Ignore来忽略WHQL认证检查。还要指明驱动保存的目录路径,此为:DriversSI3112。如下:
  [Unattended]
  OemPreinstall=Yes
  DriverSigningPolicy=Ignore
  OemPnPDriversPath="DriversSI3112"
9、使用此方法有一个缺陷——Windows安装分区是自动选择的,我们不能在安装过程中指定分区,不过可以在unattend.txt文件中新建[Data]段,并输入以下信息就可以在安装过程中选择安装分区。
  [Data]
  AutoPartition = 0
  Unattendmode = Yes
  MSDosInitiated = "0"
  OemSkipEula=Yes
  10、安装:
  把安装光盘中所有的文件COPY到硬盘(比如:F盘的WINXP目录下),把一开始创建的整个$OEM$目录都放到I386的目录下,并且unattend.txt也放到I386目录下,在I386目录下运行安装命令为Winnt /u:unattend.txt /s:f:winXPi386,其中f:winXPi386为I386所在的绝对路径。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69856/showart_705688.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP