




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows 7 部署过程中的一些控制 本文地址/blog/static/12378517920126271147583/(教程中批处理内容差不多都是用蓝色表示的,但要替换的批处理段落通常是用绿色来表示。复制或转载,有可能导致颜色变化,读者无法辨别哪些是需要替换的,哪些不需要替换。请保留本文原址,以便查询) 所谓“部署过程中的一些控制”是指Win7安装过程中添加驱动、启用Administrator、OEM自动识别与激活、注册表修改等等。制作多合一的WIM一般是这样的过程。第一步,封装一个有补丁和IE9的WIM出来,这个教程的讲的就是这一过程:/blog/static/1237851792012635360717/,此时我们获得一个WIM文件,x64ult.wim。言下之意,封装出来的这个是旗舰版的WIM文件,里面只有一个卷映像,这个卷映像中没有任何OEM资料,需要自行激活。在OEM合集中通常被称为“Retail”。如果想略过这一步,你可以提取出来官方原版64位的旗舰版出来。具体操作是将install.wim提取到某分区(虚拟光驱动也可以行,路径稍有不同),然后执行IMAGEX命令:imagex /export H:install.wim 4 H:x64ult.wim第二步,以“Retail” 为基础,通过添加不同的OEM资料,在Wim文件中增加卷映像,形成多个OEM版本,类似33in1这样的合集。制作方法参考:/blog/static/1237851792012612114029919/。但为什么添加了OEM资料包后就可以启用Administrator,就可以直接登录桌面,就可以自动识别OEM信息自动激活,就可以右键增加“记事本打开”等选项呢?这就是Win7安装过程中的个人DIY要控制的一些内容。这个中间环节以前一直没细说,因为大家都是用现成的OEM资料包就可以。今天补上这一些环节,但可能也不会全,比如OEM主题订制、OOBE.CMD中的OEM自动识别等还涉及不到(有空再说),但会讲到大家很关心的驱动包调用及外置接口的使用原理以及启用Administrator等问题。你现有使用的操作系统最好是Win7(或R2),然后备一张带有X64X86的PE光盘,这样可以通吃X86和X64的Win7。如果虚拟机里有Win7也是可行的,比如现有操作系统是64位的,虚拟机里是32位的WIN7,有时候需要到32位WIN7中去执行一些批处理。一般来说你要处理X86的WIM,最好是在X86的环境中,这方面DISM命令比较挑剔,IMAGEX相对自由些。 一、驱动包调用及外置接口的使用原理 驱动包调用分两种:一是安装过程中,二是安装结束后首次进入桌面时。1、安装过程中调用驱动包的实现 我们拿刚封装出来的x64ult.wim为例,此时,WIM中只有一个“Retail”版本。WIM复制一份作为备份,以防制作过程中没处理好。在H分区建一个文件夹(举例:mywim),将x64ult.wim移进来。执行IMAGEX命令行,将x64ult.wim 挂载到H:mywimTemp_wim目录下。MD H:mywimTemp_wimimagex /info H:mywimx64ult.wim 1 “Windows 7 旗舰版 64位 Retail Windows 7 旗舰版imagex /mountrw H:mywimx64ult.wim 1 H:mywimTemp_wimcopy H:mywimTemp_wimwindowssystem32configsystem H:mywimpause 如果没有异常,关闭批处理窗口。此时一个名为“system“的文件(无后缀名)被复制到mywim目录下。这是x64ult.wim中的注册表文件之一。下面要对其进行修改,添加安装过程中调用驱动包的命令。 Windows键+R键,运行“regedit”,调出现在系统的注册表,点击一下“HKEY_LOCAL_MACHINE”,“文件”处选“加载配置单元”,打开前面复制出来的名叫“system“的文件,会让你命名,如X64WIN7,随意取吧。 如上图,你需要修改X64win7中setup里边的Cmdline的值,这里我们举例是个CMD文件,这个文件必须放在WIM中的windowssystem32目录下。Dep.cmd的内容如下: echo offif exist %SystemDrive%DrvDrv.exe ( Start /wait %SystemDrive%DrvDrv.exe)Start /wait %SystemRoot%System32oobewindeploy.exe 命令的主要内容是,如果存在驱动包的执行文件(Drv.exe)就调用,如果没有就略过。你不一定非得用CMD文件这种形式,也可以用AU3编写个EXE文件,以免安装时弹出个批处理的框框不好看。也可以下载我做好的DepX64.exe、DepX86.exe(附件下载 ),一个用于64位,一个用于32位,如果用这两个文件之一,修改Cmdline的值就不是改成Dep.cmd,而是改为DepX64.exe,或DepX86.exe。或者别人的你不一定放心,你自己做一个,给个AU3代码你自己看。_Windows_X64()Exit Func _Windows_X64() Local $SystemDrive = EnvGet(SystemDrive)If FileExists($SystemDrive & DrvDrv.exe) Then RunWait($SystemDrive & DrvDrv.exe) RunWait($SystemDrive & WindowsSystem32OobeWinDeploy.exe)Else RunWait($SystemDrive & WindowsSystem32OobeWinDeploy.exe)EndIfEndFunc都改好之后,点一下“X64WIN7”,“文件”处“卸载配置单元”,这样,mywim目录下的“system”文件就保存了修改的注册表信息。将“system”文件复制到H:mywimTemp_wimwindowssystem32config目录下,替换旧的,将Dep.cmd复制到H:mywimTemp_wimwindowssystem32目录下。 (如果你不想再对WIM进行什么修改,直接看本文的第四部分)2、进入桌面调用驱动包的实现 安装结束后首次进入桌面,如果运行一次某个批处理或EXE文件,通常是预先在注册表里加上Runonce(只运行一次)命令,而不是用Run命令,因为RUN命令每次登录桌面都会运行,你需要删除注册表键值才不会每次如此。 如何预先在注册表中加入Runonce命令,后面我们会讲到。这里先说一下,首次进入桌面后用到的批处理文件,主要用于清理系统安装完成后产生的多余文件,以及调用驱动包(绿色字部分)等等。 假定这个批处理文件叫End.cmd,添加卷映像时把它放在H:mywimTemp_wimwindowssetup目录下。批处理文件的内容如下:Echo OffCOLOR 2F echo 关闭休眠功能%windir%system32powercfg.exe -h off nulecho 清理安装过程的临时文件 IF EXIST C:SWTOOLS RD /Q /S C:SWTOOLSIF EXIST %Systemroot%SetupOEMFILES RD /Q /S %Systemroot%SetupOEMFILESIF EXIST %Systemroot%SetupAIDA64 RD /Q /S %Systemroot%SetupAIDA64IF EXIST %SYSTEMDRIVE%AIDA64 REPORTS RD /Q /S %SYSTEMDRIVE%AIDA64 REPORTSIF EXIST %windir%SetupScripts (attrib -R -A -S -H %windir%SetupScripts*.* nulrd /q /s %windir%SetupScripts nul)IF EXIST %windir%Pantherunattend.xml (attrib -R -A -S -H %windir%Pantherunattend.xml nuldel /q /f %windir%Pantherunattend.xml nul)echo 调用驱动包中的EXE文件(如果有)IF EXIST %SystemDrive%DrvDrv.exe ( start %SystemDrive%DrvDrv.exe)del %0说明:用上“IF EXIST”的意思是,如果指定目录有Drv.exe,那么就运行Drv.exe,如果不存在,则略过,运行下一行(段)命令。这个End.CMD用于桌面调用驱动包的,不会删除系统分区的下Drv和Drivers目录,你要自己手动处理。如果要用于安装过程中调用驱动包的版本,那么上述绿色字部分替换成下面那样:IF EXIST %windir%System32DepX64.exe (attrib -R -A -S -H %windir%System32DepX64.exe nuldel /q /f %windir%System32DepX64.exe nul)IF EXIST %windir%System32DepX86.exe (attrib -R -A -S -H %windir%System32DepX86.exe nuldel /q /f %windir%System32DepX86.exe nul)IF EXIST %SystemDrive%Drv RD /Q /S %SystemDrive%DrvIF EXIST %SystemDrive%DrIvers RD /Q /S %SystemDrive%DrIvers.二、激活内置管理员Administrator先下载个示例材料($OEM$文件夹,附件),$目录是与上述的WIM挂载目录H:mywimTemp_wim中的windows目录相对应,复制时,就是将$目录的所有文件夹复制到wiindows目录下。$OEM$Panther中有个unattend.xml文件,系统安装时会自动调用这个XML文件。XML的格式是一段前行与后行对称,在一行中也是头与尾对称。格式不能出错,你可以用AIK中的“Windows 系统映像管理器”来验证格式。示例材料是用于简体中文X64(64位)。如果用于简体中文X86(32位),要将$OEM$Panther中的unattend.xml文件中的几处amd64改为x86(用记事本打开即可修改) 如果你需要部署过程中增加一段(或多段)命令来运行CMD文件(或EXE文件)。如下图,复制命令段落并相应修改,添加一段来执行Add.cmd(举例的名字)的命令段落。比如,通过Add.cmd来执行一些常用运行库的安装等等。 settings pass=specialize表示部署过程中要执行的一些处置,可以加载CMD或EXE文件,以及进行一些系统设置。 settings pass=oobeSystem表示在登录前要执行的一些处置,可以加载CMD或EXE文件,以及进行一些系统设置。示例材料中,我们让安装程序在specialize阶段执行一个ActAdmin.cmd文件,激活内置管理员帐号,所以不应当在登录前才处理的。这个CMD文件放在Setup目录下(其实示例中提到的CMD文件,REG文件都我都放在这个目录下)。ActAdmin.cmd文件具体内容: Echo OffCOLOR 2Fnet user Administrator /active:yesnet user Administrator_ploc /active:yesreg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v FilterAdministratorToken /t REG_DWORD /d 0 /fdel %0 这样,我们通过unattend.xml文件来执行ActAdmin.cmd这个批处理以达到激活内置管理员administrator的目的,为自动登录创造条件。三、进行一些简单的系统设置订制如下图,我们将执行下一个名为“MyDiy.cmd”文件,用它来执行一些注册表修改、运行EXE文件等。这个文件也在Setup目录下。 这个CMD文件的内容如下::执行一个右键添加“显示隐藏文件与后缀名”的EXE文件:start /wait %windir%SetupHidden.exe nul:导入要修改的注册表项:start /wait regedit /s %windir%SetupMyDiy.reg nuldel /q /s %windir%SetupHidden.exe nuldel /q /s %windir%SetupMyDiy.reg nuldel %0MyDiy.reg的内容如下:Windows Registry Editor Version 5.00HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsNewStartPanel;在桌面上显示个人文件夹图标 dword:00000001为不显示59031a47-3f72-44a7-89c5-5595fe6b30ee=dword:00000000;在桌面上显示计算机图标20D04FE0-3AEA-1069-A2D8-08002B30309D=dword:00000000;在桌面上显示网络图标F02C1A0D-BE21-4350-88B0-7367FC96EF3C=dword:00000000HKEY_CLASSES_ROOT*shellNotepad=用记事本打开该文件HKEY_CLASSES_ROOT*shellNotepadCommand=notepad %1;开始菜单显示“运行”栏HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedStart_ShowRun=dword:00000001;首次进入桌面运行%windir%setupend.cmdHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceaa=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,00,65,00, 74,00,75,00,70,00,5c,00,45,00,6e,00,64,00,2e,00,63,00,6d,00,64,00,00,00说明:前面所说的如何在首次进入桌面后调用end.cmd来运行驱动包,就在此时(登录桌面前)写入注册表。如果你是想安装过程中调用驱动的,“首次进入桌面后调用end.cmd来运行驱动包”(绿色字)这一段注册表修改项都删除掉。四、封装假定你在第一部分“安装过程中调用驱动包的实现”时,将x64ult.wim挂载到H:mywimTemp_wim目录下,也假定你准备好了$OEM$文件夹中的所有材料,那么,复制$OEM$中的$目录下的所有文件夹到H:mywimTemp_wimWindows目录下,提示合并时就合并(如果你仅仅是修改第一部分的所说的“system“的文件,不想订制别的任何内容,连$OEM$文件夹都不用准备,不需要复制什么)。然后,执行IMAGEX命令。imagex /commit /append H:mywimTemp_wim “Windows 7 旗舰版 64位 MyDiyimagex /unmount H:mywimTemp_wimPAUSE到此为止,x64ult.wim中添加了一个新的卷映像(原先的Retail没有变化),这个新的卷映像我们用“M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共关系策划师职业技能水平考核试题及答案解析
- 2025年安全员B17考试模拟题库
- 2025年安全生产管理实操培训题集
- 护理教学课件资源有哪些
- 2025年渗透测试初级面试模拟题集宝典
- 2025年安全员招聘面试问题及答案解析
- 2025年村级水管员供水管理笔试题库
- 2025年机关节能面试模拟题及解析
- 2025年安全员C证复审强化复习题库
- 扁鹊见蔡桓教学课件
- 医院病历单请假用
- 肝胆外科专科知识题库及答案
- 《数字媒体基础与实践》数字媒体技术概述
- 滁州市珠龙广卫绢云母粉厂滁州市南谯区将军山绢云母矿1万吨-年露天采矿工程项目环境影响报告书
- 迷你中长导管-
- 钢质防火门安装施工方法
- 优化物理教学策略的思考(黄恕伯)
- GB/T 26358-2022旅游度假区等级划分
- GB/T 25146-2010工业设备化学清洗质量验收规范
- GB/T 14825-1993农药可湿性粉剂悬浮率测定方法
- GB/T 12008.7-2010塑料聚醚多元醇第7部分:黏度的测定
评论
0/150
提交评论