• $OEM$文件夹的使用 (By无约而来)


    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$文件夹道理也差不多,不重复讲。

  • 相关阅读:
    【持续更新】养成一些好的C++编程习惯,争做一个不让同事骂街的程序员
    Inno Setup界面美化
    QWebengineView页面不实时刷新的问题
    Qt封装窗口进dll须知
    Inno Setup打包工具
    【转载】排序方式整理(带演示GIF)
    MySQL遇见SELECT list is not in GROUP BY clause and contains nonaggre的问题
    JMeter测试TCP协议
    Win10微软拼音关闭Ctrl+Shift+B快捷键
    Hive 窗口函数使用(1)
  • 原文地址:https://www.cnblogs.com/mahocon/p/6612772.html
Copyright © 2020-2023  润新知