2023年12月1日发(作者:)

Windows7封装教程之wim脱机映像定制】集成ie9补丁驱动软件

本文主要参考小明的懒人版win7的制作方式

本方法与比较流行的封装方法不同,不需要安装一个原版系统进行联机处理,只需对进行脱机处理,达

到定制的目的。楼主对wim格式的喜爱这里就不多废话了。

本方法的目的:

集成IE9、系统更新和DP驱动包

集成运行库、万能驱动助理(e驱动)flash player

集成各种常用软件

那么——开始吧!

准备工作:

所需工具:GImageXUtraISO、虚拟机

所需资源:原版镜像、万能驱动助理(e驱动)Flash Player、运行库、Windows Loader

先从原版镜像中提取,用gimagex的拆分功能,将旗舰版单独拆分到D盘根目录。

(也可以用命令:imagex /export G: 4 D:,其中464位旗舰版的编号)

我们以64win7旗舰版为例。

【一、为原版windows7映像集成IE9

我们首先要提取提取IE9资源。

D盘新建一个文件夹IE9,从微软官网下载IE9,并重命名成放进去。

地址:/zh-CN/internet-explorer/downloads/ie-9/worldwide-languages?SignedIn=1

新建D:IE9目录备用

运行cmd,输入以下命令(注意最后的/x后的符号是冒号和一个点)

D:

CD IE9

/x:.

于是,在D:IE9目录下得到以下四个文件,我们只需要两个文件:

D盘下新建一个mount文件夹(必须的),管理员酸身份运行CMD输入以下命令:

装载映像(时间比较长,耐心等)

Dism /Mount-Wim /WimFile:D: /index:1 /MountDir:D:mount

集成两个CAB

Dism /image:D:mount /Add-Package /PackagePath:D: /PackagePath:D:

保存并卸载映像

Dism /Unmount-Wim /MountDir:D:mount /commit

/commit参数为提交更改,将之替换为discard即为放弃更改,集成出错时用)

接下来我们还要继续对映像进行处理,可以先不卸载。

这个出错几率比较大,首先确认是否管理员身份运行的cmd其次认真检查命令有没有写错,排除这些方面的原因,

那只能尝试重启或换到另外一个系统里进行了,SB楼主的win8就是不行,是在win7pe里完成的,蛋碎一地。

(吧友可根据自身情况做改动,或做成批处理。

【二、为原版windows7映像集成补丁】

首先我们要先安装一个原版的win7,然后检查更新,把所有重要更新都记录下来,然后去微软官网的下载中心搜索

这些补丁,下载下载下来,放到D:hotfix文件夹下,然后类似【一】中的,用命令将补丁集成。IE9的是积累性安

全补丁,只需要最新的就行。

/zh-cn/download/?q=%e5%ae%89%e5%85%a8%e6%9b%b4%e6%96%b0%e7%a8%

8b%e5%ba%8f&fs=operatingsystems~%255e%2522Windows%25207%2522%2524%3bapplicableproducts~%255eWindo

ws%3bapplicableproducts~%255e%2522Windows%252fWindows%25207%2522&p=3&r=50&t=243&s=availabledate~De

scending

命令:

Dism /Image:D:mount /Add-Package /PackagePath:F:HOTFIX

【三、修改注册表,通过接管系统部署】

——达到在部署前调用e驱动,以及安装运行库和自动激活工具的目的。

我们的映像还没卸载,继续处理。

系统部署过程是调用的是,我们需要通过修改注册表,用我们自己编写的批处理

代替它,达到在其之前调用e驱动和在其之后安装运行库和运行激活工具。

运行regedit

选中HKEY_LOCAL_MACHINE(其他的也可以)

点击文件,加载配置单元

浏览到D:mountwindowssystem32config目录下,选中system,确定。

system文件对应的是其所属系统注册表中的HKEY_LOCAL_MACHINESYSTEM

项名称随便填,不冲突就行了,我这里填123,确定。

然后就会发现HKEY_LOCAL_MACHINE下多了个123

展开123,选中setup,在右边将CmdLine的键值由“”修改为“

选中123,菜单-文件中卸载配置单元,注册表编辑完毕。

(注意不要卸载到当前系统的HKEY_LOCAL_MACHINE

编辑一个,放到system32下,内容如下:

@ECHO OFF

start /wait %windir%

start /wait %windir%

start /wait %windir%

EXIT

说明:中必须包含有start /wait %windir%,调用系统本身的部署程序,否则

系统将无法部署,装出来的系统便废了。

如此,wim映像的的修改便完成了。

提交更改并卸载映像:Dism /Unmount-Wim /MountDir:D:mount /commit

【四、OEM资料包的基本结构】

我们需要制作一个OEM资料包来为我们的系统安装服务。

D盘根目录新建一个$OEM$文件夹,基本结构如下

$OEM$

$OEM$$$

$OEM$$$setupScripts ——存放安装部署过程中调用的

$OEM$$1

系统安装时,

$$目录下的文件会释放到Windows目录下(%windir%%systemroot%)

$1目录下的文件会释放到系统盘根目下(%systemdriver%)

更详细的oem资料包本文略。

我们再为之增加两个目录:

$$ Tools ——用来存放e驱动、运行库和激活工具,

$1 Soft ——用来存放我们需要在系统安装完成后自动安装的日常软件。

编辑,放到$OEM$$$setupScripts下,内容:

@ECHO OFF

DEL /Q /S %windir%

RD /Q /S %windir%Tools

RD /Q /S %systemdrive%Drivers

RD /Q /S %Systemroot%SetupScripts

EXIT

作用是部署完成后,在oobe阶段,删除这些文件和文件夹。

【五、OEM资料包中集成万能驱动助理(e驱动)、运行库和安装程序】

将下载好的e驱动解压到Tools目录下。

编辑一个,也放在Tools目录下,内容:

@echo off

echo 正在解压驱动包,稍候„„

start /wait %windir%ToolsWanDrv_5.26__Win7_x64WanDrv(x64).exe -deploy

EXIT

注意:WanDrv(x64).exe后空格加-deploy参数不能漏。

同样的,将directxvcflash player等的安装程序放在Tools目录下。

编辑一个,也放在Tools目录下,示例:

@echo off

echo 正在安装运行库,请稍后„„

start /wait %windir%Toolsflash_player_ax_ /install

start /wait %windir% /silent

start /wait %windir% /q

start /wait %windir% /q

start /wait %windir% /q

start /wait %windir% /q

start /wait %windir% /q

start /wait %windir% /q

echo 正在激活系统,请稍等„„

start /wait %windir% /install /silent /norestart

EXIT

注意:

路径和安装程序的文件名不要有空格,我们要自己重命名好;

每个安装程序后面都加上静默参数。

e驱动 5.x:主程序EasyDrv5()32位)或EasyDrv5()64位),参数为-deploy

VC++运行库:主程序为官方的安装包,参数为/q

DX9运行库:主程序设定为官网安装包解压后的,参数为/silent

Adobe Flash Player:主程序为官方的安装包,参数为-install

如此,配合【三】中的映像修改,便使在系统部署前后,通过分辨调用了e

驱动和运行库的安装、自动激活工具。

【六、首次进入桌面后调用软件安装程序】

CC提醒我要在首次进入桌面后安装软件,我们这样做:

通过微软官方的WAIK帮助文档的方法稍微复杂,我们这里通过在开始菜单的启动目录下添加来达到我们

进入桌面后调用软件安装的目的。

将软件安装程序放在$OEM$$1Soft目录下,同时编辑(和Tools类似),示例:

@echo off

echo 自动安装软件,按任意键开始安装„„

Pause >nul

start /wait %systemdrive% /S

start /wait %systemdrive% /verysilent

echo 软件安装完成,按任意键退出„„

pause >NUL

RD /Q /S %systemdrive%Soft && exit >NUL

这里可能需要解释一下命令:

pause是暂停,按任意键继续。

RD /Q /S %systemdrive%Soft && exit >NUL中:

&&将两个命令合并成一行,能解决批处理删除自身导致不能运行下一样命令的问题。exit”还能用“taskkill /f /im

”代替,更彻底,直接结束cmd进程,关闭所有cmd窗口。

继续在$OEM$$1目录下建立文件夹

可以cmd中输入命令:

MD "D:$OEM$$1UsersDefaultAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup"

然后我们再这个目录下新建一个快捷方式

对象位置为:%systemdrive%

命名为

如图:

如此,就达到了我们在进入桌面后调用软件的自动安装。

特别的,由于这个批处理不是管理员身份运行的,与产生一些文件的残留,我们可以在

D:$OEM$$1UsersDefaultDesktop下放一个批处理“删除残留.cmd",软件安装完成后,右键管理员身份运行来删

除文件残留,内容:

@echo off

DEL /Q /S "D:$OEM$$1UsersDefaultAppDataRoamingMicrosoftWindowsStart "

DEL /Q /S "%userprofile%AppDataRoamingMicrosoftWindowsStart "

DEL /Q /S "D:$OEM$$1UsersDefaultDesktop除残留.cmd"

DEL /Q /S %0 && exit

-

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

最后一步,我们用软碟通将处理过后的替换掉原版镜像中的,并将$OEM$资料包放在镜像的sources

录下。

最后合并64位和32位不用累赘了,只是提醒一下要记得用gimagex修改install..wim内子映像的名称,不能重名。

另,对的处理,提前做一个批处理可以很方便地完成。

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