封装前加载sata raid scsi 驱动的心得,可以不用不改的srs

做ghost系统我觉得最重要的就是电源模式的判断和准确加载srs 驱动,现在电源模式的判断已经有了很好的解决办法,现在最主要的问题就在于srs 的驱动怎样在封装前加载,和最小化安装的时候卸载多余的驱动,加快系统启动速度。其实参考微软的部署文档就可以了。下面我来说说我的方法(封装前其他的步骤我就不多说了 如:更改电源模式等)

1,收集需要的srs驱动,可以直接下载dps 的massstorage 驱动。
http://www.driverpacks.net/DriverPacks/download.php?pag=m
2,解压驱动到c:drivers 。
3,编辑sysprep.ini 加入以下内容
InstallFilesPath=C:sysprepi386

[SysprepMassStorage]
PCIVEN_1022&DEV_7469=c:driversmamAMDEIDE.inf
PCIVEN_1002&DEV_4349=c:driversmatatiide.inf
PCIVEN_10B9&DEV_5215=c:driversmau1ALIIDE.INF
PCIVEN_10B9&DEV_5219=c:driversmau1ALIIDE.INF
PCIVEN_10B9&DEV_5229=c:driversmau1ALIIDE.INF
PCIVEN_10B9&DEV_5228=c:driversmau2m5228.INF
PCIVEN_10B9&DEV_5281=c:driversmau2m5281.inf
PCIVEN_10B9&DEV_5287=c:driversmau3ulisata.inf
PCIVEN_10B9&DEV_5288=c:driversmau4ULISATA.INF
PCIVEN_10B9&DEV_5289=c:driversmau5ULISATA.INF
PCIVEN_8086&DEV_2652&CC_0104=c:driversmin1iastor.inf
PCIVEN_8086&DEV_27C3&CC_0104=c:driversmin1iastor.inf
PCIVEN_8086&DEV_2682&CC_0104=c:driversmin1iastor.inf
PCIVEN_8086&DEV_27C6&CC_0104=c:driversmin1iastor.inf
PCIVEN_8086&DEV_2822&CC_0104=c:driversmin1iastor.inf
PCIVEN_8086&DEV_2652&CC_0106=c:driversmin1iaahci.inf
PCIVEN_8086&DEV_2653&CC_0106=c:driversmin1iaahci.inf
PCIVEN_8086&DEV_27C1&CC_0106=c:driversmin1iaahci.inf
PCIVEN_8086&DEV_27C5&CC_0106=c:driversmin1iaahci.inf
PCIVEN_8086&DEV_2681&CC_0106=c:driversmin1iaahci.inf
PCIVEN_8086&DEV_2821&CC_0106=c:driversmin1iaahci.inf
PCIVEN_8086&DEV_24DF&CC_0104=c:driversmin1Oiastor.inf
PCIVEN_8086&DEV_25B0&CC_0104=c:driversmin1Oiastor.inf
PCIVEN_10DE&DEV_008E=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_00D5=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_00EE=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_00E3=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_0036=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_003E=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_0054=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_0055=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_0266=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_0267=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_036F=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_037E=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_037F=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_03F6=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_03F7=c:driversmNTMnvatabus.inf
PCIVEN_10DE&DEV_03E7=c:driversmNTMnvatabus.inf
PCIVEN_1039&DEV_0181=c:driversMSI1SISRaid1.INF
PCIVEN_1039&DEV_0180=c:driversMSI2SISRaid.INF
PCIVEN_1039&DEV_0182=c:driversMSI3SISRaid2.INF
PCIVEN_1106&DEV_3349&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_6287&CC_0106=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_0591&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_3249&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_3149&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_3164&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_0581&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_7372&CC_0104=c:driversMV1VIAMRAID.INF
PCIVEN_1106&DEV_4149=c:driversMV2viapide.inf
PCIVEN_1106&DEV_0571=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_3149&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_0591&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_5337&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_3349&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_5287&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_3164&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_0581&CC_0101=c:driversMV3vminiide.inf
PCIVEN_1106&DEV_5324&CC_0101=c:driversMV3vminiide.inf
PCIVEN_104B&DEV_1040=c:driversMVMvmscsi.inf

这个是我加载的驱动 包括nforece intel via   sis ali amd 的sata驱动,如果还需要加载其他驱动可以参考驱动包内的 DriverPack_MassStorage_wnt5_x86-32.ini 文件。
4,在c:sysprep 目录下建立 i386$oem$目录 ,在c:sysprepi386$oem$ 中建立cmdlines.txt 文件,在文件中加入
[Commands]
“c:sysprepsysprep -clean”

这样就会在最小化安装的过程中禁用所有因为在目标计算机上不存在而未安装的大量存储控制器。

5,最后执行sysprep进行封装,在封装的过程中,系统会自动安装 srs驱动。在最小化安装的时候会删除多余的驱动。

这样做的好处是自己可以控制加载的驱动更符合自己的需要,坏处就是需要手动添加比较麻烦。

以下是微软的企业部署参考。

如果您知道所需的确切的即插即用 ID 集,并且手动创建 Sysprep.inf 中的 [SysprepMassStorage] 部分,就可以改善操作系统的启动时间。

确定目标计算机上可能用到的大量存储控制器
对于可能存在于目标计算机上的每个大量存储控制器,生成其硬件 ID 的列表。
将步骤 1 中生成的列表与 .inf 文件中列出的硬件 ID 进行比较,以便确定所需的引用。
对于在 Windows 产品 CD 中提供的大量存储控制器,请创建具有以下部分的 Sysprep.inf 文件:
[SysprepMassStorage]
hardware_id = path_to_device_inf
其中:

hardware_id
在设备的 .inf 文件中指定的即插即用 ID。
path_to_device_inf
.inf 文件的路径,该文件中包含待安装控制器的即插即用 ID。
例如,要支持 Windows XP 自带的不同 IDE 控制器(PCI 和 Intel),该部分可能如下所示:

[SysprepMassStorage]
PCIVEN_8086&DEV_1222 = “%WINDIR%infmshdc.inf”
PCIVEN_8086&DEV_1230 = “%WINDIR%infmshdc.inf”
PCIVEN_8086&DEV_7010 = “%WINDIR%infmshdc.inf”
PCIVEN_8086&DEV_7111 = “%WINDIR%infmshdc.inf”
PCIVEN_8086&DEV_2411 = “%WINDIR%infmshdc.inf”
PCIVEN_8086&DEV_2421 = “%WINDIR%infmshdc.inf”
PCIVEN_8086&DEV_7199 = “%WINDIR%infmshdc.inf”
为了获得最佳结果,请仅在此列表中包括您的环境所要求的即插即用 ID 子集。识别该列表中不必要的硬件 ID 会使启动时间比正常需要的时间长。

对于 Windows 产品 CD 上没有提供的大量存储控制器:
将目标计算机上的大量存储控制器的驱动程序文件复制到您计算机上的文件夹中 – 例如,复制到主计算机硬盘驱动器上的 %SYSTEMDRIVE%pnpdrvrsstorage 中。
按以下格式向 [SysprepMassStorage] 部分中添加几行内容:
“hardware_id” = “”path_to_device_inf””, “”disk_directory””, “”disk_description””, “disk_tag”
其中:

hardware_id
在设备的 .inf 文件中指定的即插即用 ID。
path_to_device_inf
.inf 文件的路径,该文件中包含待安装控制器的即插即用 ID。
disk_directory
第三方提供的软盘上的文件夹名称,该文件夹中包含大量存储驱动程序的副本。
disk_description
在第三方提供的 Txtsetup.oem 文件中指定的软盘说明。
disk_tag
在第三方提供的 Txtsetup.oem 文件中指定的软盘的磁盘标记。
需要 disk_directory、disk_description 和 disk_tag 的值,以便修补进程可以将 Windows 产品 CD 中自带的驱动程序与 Windows 产品 CD 中没有提供的驱动程序区分开来。如果用第三方驱动程序替换 Windows 产品 CD 上提供的驱动程序,请按照上面步骤 2 中的指令操作。

将驱动程序文件放置到由 Sysprep.inf 中 [SysprepMassStorage] 部分指定的位置。例如,要支持新的 Qlogic 驱动程序,如果将文件复制到 C:DriversStorage 文件夹,则添加如下行:

[SysprepMassStorage]
PCIVEN_1077&DEV_1080 = “C:DriversStorageqlogicqlogic.inf”, “C:DriversStorageqlogic”, “Qlogic Software Disk”, “C:DriversStorageqlogicqlogic”
注意

将此命令的所有值置于一个文本行中。
创建 Cmdlines.txt 文件,在开始处写入下列内容:
[Commands]
“C:SysprepSysprep -clean”
该命令将禁用所有因为在目标计算机上不存在而未安装的大量存储控制器。

要点

如果没有将该行添加到 Cmdlines.txt,目标计算机的启动进程可能会慢一些,因为每当计算机重新启动时,操作系统会尝试加载每个控制器驱动程序。
将 Cmdlines.txt 文件放在 $OEM$ 文件夹中,该文件夹的位置在 Sysprep.inf 文件的 InstallFilesPath 项中指定。例如,如果:

InstallFilesPath = “C:Sysprepi386”
那么请将 Cmdlines.txt 文件复制到
C:Sysprepi386$OEM$ 文件夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注