WIN7-OEM资料包中的目录都是以$OEM$文件夹出现的。比$OEM$高一级的目录,我通常是用来表示下一级的$OEM$的属性,例如,X64_ADMIN_LOADER表示此目录下的$OEM$文件夹是用于可以支持“64位WIN7自动激活、OEM识别、启用内置管理员”。
虽然这里是以WIN7-OEM资料包来举例说明的,但$OEM$文件夹的基本知识差不多就这样。
(WIN7-OEM资料包下载:http://zxkh19501.blog.163.com/blog/static/123785179201361410570339/)
支持的安装方式
安装系统过程中,如果安装光盘的sources目录中存在$OEM$文件夹,那么$OEM$文件夹中的特定目录的内容,在install.wim的卷映像展开和复制阶段之后,被安装程序复制到指定的目录。这里讲的是官方的安装方式,光盘启动,或其他方式启动后运行安装光盘中的setup.exe。
至于第三方安装器,是否支持sources目录中$OEM$文件夹复制,我就不知道了,以前我使用IMAGEX命令安装系统一般都会加上两行复制$OEM$文件夹的命令。如:
XCOPY .sources$OEM$$$ %PART%:windows /E /Y
XCOPY .sources$OEM$$1 %PART%: /E /Y
(%PART%是目标分区,相对路径)
目录格式
$OEM$下一级目录是“$$”和“$1”,必须是这两个固定的命名。
复制路径
$$目录下的内容将被复制到安装目标分区的windows目录下,$1中的内容将被复制到安装目标分区的根目录。
例如,将系统安装到C分区。$$目录下的文件或文件夹将被安装程序复制到C:windows目录中,$1中的文件或文件夹将被复制到C盘根目录下。
$$----------------->C:windows
$1----------------->C:
如果$$目录中有一个setup的文件夹,那么系统安装时,setup文件夹(包括此文件夹下的文件与子文件夹)将被复制到C:windows中。
$$setup----------------->C:windowssetup
如果$1目录下有一个DRV的文件夹,那么系统安装时,DRV文件夹(包括此文件夹下的文件与子文件夹)将被复制到C分区的根目录下。
$1DRV----------------->C:DRV
同名替换功能
我们知道,系统安装时,某个被选定的install.wim中的卷映像的全部内容将展开并复制到安装目标分区,这其中也包括windows目录。假定install.wim内部的windows目录中的setup目录中有一个文件叫A.TXT,$$setup中也有一个文件夹叫A.TXT,两个文件同名,但内容不一样,怎么处理?安装程序默认的是用$$setup中的A.TXT替换掉原先内置到install.wim中的那个文件。具体过程是怎么实现的?安装程序在install.wim的卷映像的全部内容将复制到安装目录分区(此时内置的A.TXT被复制到C:windowssetup目录下)之后,将$OEM$$$setup中的A.TXT复制到目标分区的同样位置,替换已存在的A.TXT。
流程示意(先1后2):
1、光盘sourcesinstall.wim某卷映像windowssetupA.TXT----->(安装时展开映像并复制)C:windowssetupA.TXT
2、光盘sources$OEM$$$\windowssetupA.TXT------>(安装时复制到)C:windowssetupA.TXT
注:后者A.TXT替换前者A.TXT
默认可外置的CMD命令
oobe.cmd和setupComplete.cmd都是WIN7或WIN8默认可以内置或外置的CMD命令脚本,只要在特定位置存在这两个文件,就会被搜索并被调用执行。前者在OOBE阶段被安装程序调用运行,后者在首次登录系统之前。这两个CMD文件默认位置是在WindowsSetupscripts目录内。以下是oobe.cmd和setupComplete.cmd内置时与外置时的位置。
内置:光盘sourcesinstall.wim某卷映像windowssetupscripts
外置:光盘sources$OEM$$$windowssetupscripts
33in1和以前的类似201304A这样的合集,我都是将oobe.cmd和setupComplete.cmd这两个脚本文件内置到install.wim的卷映像中。因此,如果你要外置oobe.cmd和setupComplete.cmd,就要修改oobe.cmd、setupComplete.cmd,在原先的命令基础上添加你需要命令行,而不是简单地自己再写一个oobe.cmd、setupComplete.cmd。oobe.cmd比较复杂,如果你需要增加命令,建议使用setupComplete.cmd。
setupComplete.cmd不需要解开install.wim中的卷映像去提取,可以从WIN7-OEM资料包找到。一般你可以setupComplete.cmd文本中的第一行去添加CMD命令行,而且也不要去添加删除scripts目录的命令。
$OEM$文件夹的不足
如果你使用外置CMD命令,那么将意味着,install.wim的每一个卷映像都会使用这个外置的CMD命令,因此外置CMD命令时,要考量一下是不是每一个卷映像都需要这个CMD命令。从这点看,内置的就灵活许多,在不同卷映像中,我们可以内置不同内容的setupComplete.cmd和oobe.cmd。
WIN8的$OEM$文件夹道理也差不多,不重复讲。