注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无约而来

这是163的空间

 
 
 

日志

 
 

制作Windows 7 OEM多合一版本(上)  

2012-07-12 23:51:02|  分类: Win7教程(新整理) |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  (以前百度空间已经有了,此次重写)

操作平台环境、所需工具以及磁盘空间要求等参考这里http://zxkh19501.blog.163.com/blog/static/1237851792012612102541308/

 再附带一句,如果做多个WIM腾挪、挂载,一定要放在空闲空间较多的分区进行,20G在我看来还是不太够的,留着50G空闲空间也不为过。

 工欲善其事,必先利其器。IMAGEX是处理映像(WIM)文件最常用的工具之一,还有一个也很常用的工具叫DISM(安装好的Windows 7自身也有带)。DISM在其他一些教程中散散落落也说过了一些,现在重点说IMAGEX一些常用命令,IMAGEX最重要的功能就是修改install.wim,安装Windows 7时安装程序要将install.wim中的某个卷映像展开,并将其中的相应内容复制到C盘(安装目标分区),以便进行下一步的安装进程。

 一、IMAGEX 常用命令

 要启用IMAGEX这个工具,通常需要进入AIK安装目录下的TOOLS文件夹中的X86目录(C:\Program Files\Windows AIK\Tools\x86),如果是64位,就到amd64这个目录。为了更快地到达这个目录,我们建立个X86文件夹的快捷方式放在桌面上。

info命令

 下面演练一下,了解一下info命令的用法。

 把WIN7官方原版ISO(X86)中的所有文件提取到H:\win7x86中。在X86目录下建一个CMD文件,内容如下,然后执行这个CMD文件,再打开H分区下的a.txt,看到了什么?是官方五合一的映像基本信息,表面上官方说是旗舰版的,实际上install.wim中暗含5个版本,也就是说install.wim中实际有5个卷映像,所以删除EI.CFG后就可以看到5个可以选择安装的版本。

注:CMD文件怎么建立?先建立一个记事本文件,后缀名.TXT改为.CMD。CMD文件可以用记事本这个工具打开编辑的。

imagex /info H:\win7x86\sources\install.wim >H:\a.txt

pause

(小提示,命令尾加个pause,这样如果命令出错了,可以看到提示)

好了,/info的主要功能是查看WIM内部的卷映像信息,比如编号(IMAGE INDEX)、名称(NAME)、描述(DESCRIPTION)、标识(flags)等等。标识是讲某号卷映像是哪一个版本,如Professional、ultiamte...

/info还可以修改一些信息,如,修改映像的名称和描述。

imagex /info H:\win7x86\sources\install.wim 4 "windows 7 专业版 联想" "32位操作系统,简体中文,适用于XX品牌PC"

上面的“H:\win7x86\sources\install.wim 4“是要修改名称的卷映像在哪里,编号是多少。命令中第一个双引号内的字符是安装WIN7版本名字,安装系统时会出现版本选择框内,第二个双引号内的字符段是描述,出现在版本选择框下方。

名称在WIM文件中具有唯一性,两个版本名字不能一样。比如X86和X64大合一,X64版本名字要与X86中的版本有区别,不能都叫"Windows 7 专业版",有一个改叫"Windows 7 专业版 64位",这样就区别开来。所以合并之前,先改名字,而不是先合并,是合并不进去的。

dir命令

想看看卷映像中到底有哪些文件,可以用/dir命令,不过看到的是列表。下面语句表示a.wim中的1号映像(注a.wim可能有多个映像)中文件列表导出到dir.txt文件中。

imagex /dir h:\win7x86\sources\install.wim 1 >H:\dir.txt

pause

mount 命令

挂载卷映像(不可修改),想看看卷映像中到底有哪些文件,看的是实物文件,不是列表。先看示例:

md H:\wimmount

imagex /mount H:\win7x86\sources\install.wim 5 H:\wimmount

pause

上述命令查看的是H:\win7x86\sources\install.wim中的第5号卷映像。首行创建加载目录H:\wimmount。第二行/mount 命令会将第5号卷映像中的所有内容会装载到H:\wimmount这个文件夹中,打开这个文件夹,里面就会看到类似C分区的目录结构。这有点象ISO文件加载到虚拟光驱一样,在硬盘上我们看到的是ISO一个文件,但在虚拟光驱中我们看到ISO内部有好多文件。如果你对H:\wimmount里面文件进行修改添加或删除,是不会保存到WIM第5号卷映像之中,因为你用的是/mount命令,而不是/mountrw。

挂载之后,我们最终是要退出挂载目录,怎么退出呢?要用到/unmount 命令,后面会说到。

mountrw命令

也是挂载卷映像,不过是此时WIM可修改的。RW的意思是重写、可修改的意思,一个WIM被挂载之后,修改挂载目录内的文件、添加文件、删除文件或添加文件夹等,然后,解除挂载(配合使用/commit),被修改的文件就会保存回WIM之中。比如在H:\wimmount\windows\web\wallpaper里面的某个文件夹里放几张你喜欢的壁纸,安装后的系统就会带有这些壁纸。

md H:\wimmount

imagex /mountrw H:\win7x86\sources\install.wim 5 H:\wimmount

pause

unmount命令 (/commit)

卸载已装载的卷映像。当上述5号卷映像被装载H:\wimmount中,同时我们也对H:\wimmount里面的内容进行了修改,而且要保存这些修改,执行:

imagex /unmount H:\wimmount /commit

pause

注意,如果不保存修改,/commit不要用上。

imagex /unmount H:\wimmount

pause

如果是用/mount装载卷映像,用/commit保存修改是无效的。

commit命令

/commit可以和其他命令配合使用,也可以单独使用。当你对wimmount目录内的文件进行修改,使用以下命令来将修改的内容保存到WIM中的卷映像当中,不过wimmount目录中的内容仍然存在。不卸载原因是我们还想用这个目录,我们后面讲到/append 命令时,再回这里。

imagex /commit H:\wimmount

~~~实例演示~~~

下面,我们做个实例演示,执行连贯的批处理。例如,我们想添加几张壁纸到WIM中。这样系统安装结束后,这些壁纸自然就出现在你安装后的系统中,比如,放在C:\windows\web\wallpaper目录下。首先,得挂载WIM文件,然后,将壁纸文件复制到挂载目录(H:\wimmount )中的windows\web\wallpaper目录下。解除挂载时,用/unmount与/commit这个命令组合。

事先我们要将壁纸放在某个目录下,比如:H:\PIC,接着就可以执行批处理了。

md H:\wimmount

imagex /mountrw H:\win7x86\sources\install.wim 5 H:\wimmount

xcopy H:\PIC H:\wimmount\windows\web\wallpaper /E /Y

imagex /unmount H:\wimmount /commit

rd H:\wimmount

pause

这样,壁纸被添加到H:\win7x86\sources\install.wim的5号卷映像中了。如果,批处理执行前,H分区已经存在wimmount,而且里面有内容,那需要你执行前删除它,或改名字。

上述第一行,创建一个临时挂载的目录wimmount;第二行,执行挂载命令/mountrw ;第三行复制壁纸到临时挂载目录H:\wimmount\windows\web\wallpaper;第四行解除挂载,并保存修改到WIM中的卷映像;第五行,删除临时挂载目录。

好了,现在install.wim的5号映像整合第三方的壁纸了。你可以将install.wim替换回用ULTRAISO打开的官方原版ISO的SOURCES目录下,同时删除该目录下的ei.cfg文件,另存,得到新ISO。最后用虚拟机测试新ISO,安装第5号卷映像,实际就是旗舰版,安装结束后,再看看c:\windows\web\wallpaper目录下是否有第三方增添的壁纸。

 ~~~~~~~~~~~~

 apply命令

将卷映像(WIM中的某个编号的映像)应用于指定的驱动器或指定的目录内。必须从 Windows PE 运行此选项。通俗地说,就是将WIM中的某个卷映像的全部目录与文件输出到某硬盘分区的某个目录下。如:

imagex /apply H:\win7x86\sources\install.wim 5 C:

或:

md H:\ApplyDir

imagex /apply H:\win7x86\sources\install.wim 5 H:\ApplyDir

前者输出的目标目录是C分区,后者是一个要在输出到一个事先指定的目录(文件夹)下,如果没有,要在执行/apply前创建。在用到/mountrw时我们说的是挂载,意味着挂载目录与WIM之前还存在某种关联,如果我们修改挂载目录内的文件,执行/unmount和/commit解除挂载时,修改部分也会保存到WIM中。而用到/apply时,我们说的是“输出”,WIM中的某号映像内的文件与文件夹被输出到某目录下后,如果你修改输出目录(如上述的H:\ApplyDir),这跟WIM已经没有关联了,你修改的是输出目录内的文件,无法通过执行/unmount和/commit来达到修改WIM的目的。

/apply 常用于安装Windows 7(Imagex模式),也可以用于重新捕获一个新的WIM文件(使用/capture命令捕获。如,将A.WIM中的1号映像输出到H:\ApplyDir,然后我们对H:\ApplyDir目录进行你认为必须的处理(删、增或改),然后使用/capture命令捕获H:\ApplyDir目录内的所有内容成为一个新的WIM文件。

append命令

将卷映像附加到现有的 Windows 映像 (.wim) 文件中。创建该文件的单个实例,将其与 .wim 文件中已存在的资源进行比较,以便不会重复捕获同一个文件。确保有足够的磁盘空间可用于运行 /append 选项。如果在运行 /append 选项期间磁盘空间不足,则可能会损坏已附加的wim 文件。

所谓“将卷映像附加到现有的 Windows 映像文件中”,就是要将某分区的所有文件或某目录内的所有文件捕获附加另一个已存在的WIM中,并在WIM中添加一个卷映像,比如原先WIM中有5个卷映像,使用一次/append 就会增加一个卷映像,也就是说原先有5个,现在是6个了。如果捕获的文件与WIM中已有的文件相同,将不会重复添加,只添加不一样的文件。如果所有要捕获的内容与WIM中某个卷映像(或叫某号映像)的内容100%相同,那么命令将失败,不会再添加一个卷映像。以下是一个添加新的卷映像成功示例:

md H:\wimmount

imagex /mountrw H:\win7x86\sources\install.wim 5 H:\wimmount

xcopy H:\BrandLogo\LENOVO\$OEM$\$$ H:\wimmount\Windows /e /y

imagex /append H:\wimmount E:\win7x86\sources\install.wim "Window 7 旗舰版 联想"

imagex /unmount H:\wimmount

rd H:\wimmount

上述前两行的命令前面已经讲过了,不再重复解释。

第三行是复制OEM资料包的命令,将 H:\BrandLogo\LENOVO\$OEM$\$$ 中的所有文件与目录全部复制到H:\wimmount\Windows 目录,/e表示子目录和空目录也要复制,/y表示如果有相同,直接覆盖,不需要操作者确认。H:\BrandLogo要事先创建,然后将联想OEM资料包放在该目录下。

第四行用到了/append 命令。在此行命令之前,我们通过xcopy命令,复制联想OEM资料包到挂载目录下,这样挂载目录发生了变化(增加了文件与目录),因此我们可以用/append 命令向install.wim添加一个卷映像,这个卷映像命名为 "Window 7 旗舰版 联想",排列在第6号。

第五行是解除挂载。挂载的是第5号卷映像,使用/append 命令是添加卷映像(就是第6号卷映像),因此没有必要使用/commit来修改第5号卷映像。

export命令

将WIM中的某个卷映像提取出来,或将WIM中的某个卷映像导入另一个WIM文件中。要确保有足够的磁盘空间可用于运行 /export 选项。一个WIM中可以有一个或一个以上的卷映像,如,将WIM中的第2号卷映像单独提取出来,成为一个新WIM文件,新WIM文件中此时只有一个卷映像,这个卷映像与之前的被提取的WIM文件中的第2号卷映像是完全相同的。

如,将官方原版ISO(X86)中的install.wim中旗舰版的卷映像提取出来:

imagex /export H:\win7x86\sources\install.wim 5 H:\ultimate.wim

如果我们将官方原版ISO(X64)中的install.wim提取出来,改名为X64.wim,放在H分区根目录下,然后将其第4号卷映像提取并入到H:\ultimate.wim中,那么 H:\ultimate.wim中就有两个旗舰版的卷映像(x86、x64)。由于,两个卷映像名称都叫“Window 7 旗舰版”,所以得改名称(以下命令段落中有体现)。以下的命令行段落帮你实现。

imagex /info H:\ultimate.wim 1 "Window 7 旗舰版 32位" "Window 7 旗舰版 32位"

imagex /export H:\X64.wim 4 H:\ultimate.wim

imagex /info H:\ultimate.wim 2 "Window 7 旗舰版 64位" "Window 7 旗舰版 64位"

 pause

第一行,前面提取出来的H:\ultimate.wim中只有一个卷映像,名称为 "Window 7 旗舰版" ,必须使用/info进行改名,因为H:\X64.wim(64位)的第4卷映像也是这个名称。

第二行,将H:\X64.wim中的第4号卷映像提取并入到H:\ultimate.wim中去,并入后H:\ultimate.wim中就增加了一个卷映像,排在1号的32位卷映像之后,列第2号。

第三行,对H:\ultimate.wim中的第2号卷映像进行改名,以便与第1号的32位卷映像名称对应。

更多的/export用法:http://zxkh19501.blog.163.com/blog/static/1237851792012612101725405/

capture命令

“将某个驱动器的卷映像捕获到新的wim 文件。捕获的目录包括所有子文件夹和数据。不能捕获空目录。目录必须至少包含一个文件”。实际上,不仅可以将某分区捕获形成新的WIM文件,也可将某目录(如,E\abc) 捕获形成WIM文件。

imagex /capture /compress maximum /check /scroll D: H:\A.wim /config H:\wimscript.ini "Windows 7 旗舰版" "Windows 7 旗舰版 With Service Pack 1"

D:是指要捕获的目标分区,也可以是文件夹(如,E:\abc), H:\A.wim 是表示捕获形成WIM文件放在哪,叫什么文件名。"Windows 7 旗舰版" 是卷映像名称,"Windows 7 旗舰版 With Service Pack 1"是对卷映像的描述。 /compress maximum 是指映像压缩类型,如果不标明,默认压缩类型是fast。压缩率越大,捕获时间越长。/config H:\wimscript.ini 是指捕获时要排除哪些文件(夹),要排除的文件(夹)要事先列在H:\wimscript.ini中。被排除的文件和文件夹不出现在WIM的卷映像中。如果命令行中没有/config wimscript.ini ,将以默认值进行排除,其实,多数情况下我们也仅需要这样就可以了(下图就是默认排除项)。命令行其他参数可以查看AIK手册。

制作Windows 7 OEM多合一版本(上) - 无约而来 - 无约而来

那么什么情况下使用 /capture 捕获的WIM文件才可以用于安装?

一是经过预安装且执行过"sysprep /oobe /generalize"的分区可以捕获;二是有效的安装WIM文件中某卷映像经过/apply应用输出的分区或文件夹(如,E分区或E:\ABC) 也可以捕获。前者也可以是图形化的界面(如下图所示),执行的内容实质就是这样的一个命令行,也就是说,执行以下命令行和执行下图的“系统准备工具3.14”的功效是一样的。

C:\Windows\system32\sysprep\sysprep.exe /oobe /generalize /shutdown

制作Windows 7 OEM多合一版本(上) - 无约而来 - 无约而来

 这篇文章http://zxkh19501.blog.163.com/blog/static/1237851792012635360717/,你可以去看一看,会让你对 /capture 有进一步的了解。
 

 

  评论这张
 
阅读(11252)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016