本帖最后由 chiannet 于 2013-9-22 17:12 编辑
此法适用于X86或X64的Win7/8下给 X64或X86 win8PE 追加OEM SRS 驱动,可以是磁盘控制器、网卡、无线网卡、声显卡、蓝牙等等。
A、前期准备工作
1、自备Beyond Compare。
2、自备MSDN windows 8 X64 (X86) RTM ISO内的resource下的 boot.wim,X64\WIM或X86\WIM;
我用的是我的HP win8笔记本rocover分区的里的boot.wim来搞的(该本子原本是OEM win8 X64,但寡人实在用不惯Win8,就安装了X64 win7,但rocover分区的内容一直没动它,保留在那里,哪天一高兴,还可以可以恢复为win8)
3、安装Windows ADK For Windows 8
Windows评估和部署工具包 (Windows ADK) For Windows 8, 从MS官网下载完整的部署包太大了,速度又慢,我们现在只需要一个部署工具就足够了。按照下列方法选择性在线安装,下载量不到40M。先从MS官网下载这个在线安装程序adksetup.exe,然后cd到adksetup.exe所在的目录,键入以下命令:
- adksetup /installpath c:\ADK /features OptionId.DeploymentTools
复制代码 大意是把仅把ADK组件中的DeploymentTool安装到C:\ADK。
其他部署工具的featureID为:
功能 标识符
应用程序兼容性工具包 (ACT) OptionId.ApplicationCompatibilityToolkit
部署工具 OptionId.DeploymentTools
Windows 预安装环境 (Windows PE) OptionId.WindowsPreinstallationEnvironment
用户状态迁移工具 OptionId.UserStateMigrationTool
批量激活管理工具 (VAMT) OptionId.VolumeActivationManagementTool
Windows 性能工具包 (WPT) OptionId.WindowsPerformanceToolkit
Windows 评估工具包 OptionId.WindowsAssessmentToolkit
Windows 评估服务 - 客户端 OptionId.WindowsAssessmentServicesClient
Windows 评估服务 OptionId.WindowsAssessmentServices
Microsoft? SQL Server? 2012 Express OptionId.SqlExpress2012
.NET Framework OptionId.Netfx
4、自备待集成的驱动,集中放置在X64\MY_Driver或X86\MY_Driver下
集成前要稍微处理下驱动inf:由于NT6可原生驱动AHCI 控制器,那些类似于PCI\VEN_8086&DEV_1E03&CC_0106的HWID是可以屏蔽的,不需要集成的,12.7及更新版RST驱动XXCC_0104 Raid控制器集合是必须的(某些超级本的混合磁盘就要用的新版RST来驱动,win8原配的iastorv的支持列表虽有该HWID,但是支持不了!!),还有下列特征的企业版RST
- Abstract: Windows* INF File for SCU Intel(R) Rapid Storage Technology Enterprise Driver
- Installs: RSTe SCU RAID Controller Miniport (without RST Filter Driver)
- Only for Windows 8 releases
- DriverVer=11/02/2012,3.6.0.1090
复制代码 驱动,拥有win8 内部iastorv所不支持的C600系列Raid控制器的驱动,我想这个也是必须要集成的。
5、自备你自己的PE的注册表文件,放置到X64\REG或X86\REG下
B、开始工作了
1、以管理员身份运行下列批处理
- <P>@Echo Off
- COLOR 2F
- cd /d "%~dp0"
- SETLOCAL
- echo.
- echo.
- echo ========================================
- echo 请选择要整合驱动的8PE的类型,然后按回车
- echo ========================================
- echo.
- echo.
- CHOICE /C 1234 /M ": 64位请按1; 32位请按2; 64位和32位请选择3; 放弃请按4。"
- IF "%errorlevel%"=="4" goto :exit
- IF "%errorlevel%"=="3" goto :Both
- IF "%errorlevel%"=="2" goto :X86
- IF "%errorlevel%"=="1" goto :X64
- goto exit</P>
- <P>:X64
- set P=X64
- GOTO START</P>
- <P>:X86
- set P=X86
- GOTO START</P>
- <P>:Both
- SET EI=YES
- GOTO X64</P>
- <P>:START
- Echo.
- ECHO 正在创建临时目录及准备文件......
- if exist %windir%\SysWOW64 (set PTH=amd64
- ) else (
- set PTH=x86
- )
- set PTH="C:\ADK\Assessment and Deployment Kit\Deployment Tools\%PTH%\DISM\</P>
- <P>if not exist %PTH%" (
- Echo. 未安装ADK\Assessment and Deployment Kit或请指定实际的安装路径。
- goto :Exit
- )
- copy %P%\WIM\boot.wim %P%\WIM\bootB.wim /y
- if not exist %P%\WIM\bootB.wim (
- Echo. 复制%P%\WIMBOOT.WIM副本失败!!!!
- goto :Exit
- )
- RD .\Boota /S /Q>NUL 2>NUL
- RD .\bootb /S /Q>NUL 2>NUL
- md .\Boota
- md .\bootb
- Cacls .\boota /t /e /c /g everyone:f >NUL 2>NUL
- Cacls .\bootb /t /e /c /g everyone:f >NUL 2>NUL
- CLS
- </P>
复制代码
2、 集成驱动
- <P>copy .\%P%\reg\SOFTWARE .\Boota\windows\system32\config /Y >NUL 2>NUL
- copy .\%P%\reg\SYSTEM .\Boota\windows\system32\config /Y >NUL 2>NUL</P>
- <P>Echo.
- ECHO 确认驱动文件放在%P%\MY_Driver目录或其子目录下
- Echo.
- ECHO 按任意键开始集成驱动文件......
- Pause >nul
- %PTH%dism.exe" /Image:.\boota /Add-Driver /Driver:%P%\MY_Driver /recurse /ForceUnsigned
- ECHO 按任意键继续......
- Pause >nul
- CLS
- Echo.</P>
复制代码
3、用BC捞取D:\boota\Windows 与D:\bootb\Windows 的区别
以下8个目录需要给予访问权限,否则BC可能访问不了,也就不能列出变化之处
D:\bootx\Windows\System32\catroot
D:\bootx\Windows\System32\Drivers
D:\bootx\Windows\System32\DriverStore
D:\bootx\Windows\System32\config
X=a、b
- D:\boota\Windows\Inf
- D:\boota\Windows\System32\catroot
- D:\boota\Windows\System32\Drivers
- D:\boota\Windows\System32\DriverStore
- D:\boota\Windows\System32\config
- D:\bootb\Windows\Inf
- D:\bootb\Windows\System32\catroot
- D:\bootb\Windows\System32\Drivers
- D:\bootb\Windows\System32\DriverStore
- D:\bootb\Windows\System32\config
复制代码 主要体现在以上几个 对应目录的文件变化
对于Windows\System32\config,我们只需关心SOFTWARE及SYSTEM两个文件的变化就够了,其余的不用理会。
上述 Windows\System32\config之外其它几个目录只需关心D:\boota\Windows相对于D:\bootb\Windows孤立的文件就可以了,其余的不用理会。
如果D:\boota\Windows在BC对比窗口右侧,我们只需显示右侧较新及右侧孤立的文件就OK了
把变化的文件用BC复制出来,追加到你的X64PE 启动WIM内。
C、扫尾
不保存卸载.wim 文件:- ECHO 正在卸载WIM镜像文件,请稍候....
- Echo.
- %PTH%dism.exe" /unmount-Wim /MountDir:".\Boota" /discard
- %PTH%dism.exe" /unmount-Wim /MountDir:".\bootb" /discard
复制代码
该批处理文件及SKYPE MAX版 X64及FAST_UD内的X86 PE集成的驱动文件在这里:
完整版在这里,包含上述文件外,还包括:
1、SKYPE X64 8PE和SKYPE X86 8PE的注册表文件;
2、来自HP本的一个X64 8PE BOOT.WIM及MSDN X86 8PE的BOOT.WIM;
|