1、大家看过 Happymy 写的:轻松构建你的第一个 Windows Embedded Standard 2011 镜像。 http:/ Windows Embedded Standard 2011 有个初步的了解。如果我要给1000 台设备安装 WES 2011 可就不能那篇文章进行安装了,因为你不想重复 1000 次同样的 操作吧。通过这篇文章,大家能掌握ICE 的使用(不是冰块)和使用 ICE 编写一个无人应答文件来进行无人值守安装、集成驱动、定制一个 WES 2011 镜像。ICE 的全称是 Image Configuration Editor 一个类似AIK 的工具。ICE 的界面和
2、AIK的 Windows System Image Manager(SIM)很像,但是操作上有很大的不同(包的名称和位置都不同。)好了让我开 始先准备一下 :Quebec CTP WES Toolkit 和 Quebec CTP 32Bit或者 64Bit 的 Runtime。准备好要集 成的驱动程 序(INF 文件 )使用 tap.exe 生成 pmq 文件 。一、安装 Windows Embedded Standard Quebec插入 Quebec CTP WES Toolkit 的安装 盘,执行光盘根 目录的 setup.exe这里只是简 要说明一下 安装过程。选择自定义 安装。选择不
3、安装 DistributionShares 下的 所有组件。如下图:注意:1 建议在 vista 和 win7 中安 装2 不会和 AIK 发生冲突 。3 可以不安装 DistributionShares 这样 可以节省磁 盘空间,但是您必须 要有 runtime 的光盘。如果安装“AMDX6 4 Distribution Shares” 请准备好 X64 的 runtime光盘,安装过程中会要求您插 入 X64 的 runtime 光盘!等安装完成 之后。将 Quebec CTP WES Toolkit 和 Quebec CTP 32Bit或者 64Bit 的Runtime 光盘 中的“DS
4、” 文件夹拷贝 本地的硬盘 上。如果你已经 安装了 Distribution Share,请跳过这一 步。二、初始化 ICE然后从“开始”菜单-“所有程序”-“Windo ws Embedded Standard Quebec”-“Image Configuration Editor”启动 ICE选择“File“-“selec t Distribution Share.“选择刚才拷 贝过去的“DS”文件夹。如果你已经 安装了 Distribution Share,您可以在“Windo ws Embedded Standard Quebec”的安装目录 中找到 DS文件夹。默认是“C:Progr
5、 am FilesWindows Embedded Standard QuebecDS”。X64 的 Distribution Share的文件夹名 称是“DS64”。现在开始导 入 PMQ 文件选择菜单“File”-“Impor t”-“Import PMQ”耐心等一下 。log 部分带有警 告标志的信 息,表明该驱动 没有在开发 工具的包中 ,需要自己提 取驱动然后 集成。小建议:删除不用的 驱动,可以减少镜 像的体积,例如:如果不用声 卡,删除声卡驱 动的同时,同时删除支 持声卡工作 的系统组件 。三、开始集成驱 动注意:您可以仅仅 集成需要的 驱动,但是如果系 统的包中没 有一个或多
6、个系统启动 需要的驱动 ,那么您必须 集成这些驱 动,否则系统启 动时蓝屏(大多数停机 码是 0X7B)。如果集成一 个错误的驱 动,则有可能造 成一个硬件 加载了错误 的驱动,严重的话会 造成系统蓝 屏(大多数是停 机码是 0X7E)如下图:“MyDriver”是我存放要 集成驱动的 文件夹(已经将驱动 文件提取出 来)。里面有很多 子文件夹,每个子文件 夹都存在一 个 INF 文 件(一个设备的 驱动)。注意:这里介绍集 成驱动的方 法,只适合这种 INF 文件 形式的驱动 (必须存在 INF 文件),如果您的驱 动程序是 exe 程序来 进行安装(一个安装程 序)。请不要用这 种方法集成
7、 驱动!选则菜单 Tool-Explore Distribution Share,会打开一个 文件夹。将“MyDri ver”文件夹复制 到“Out-of-Box Drivers”内。关闭刚才打 开的文件夹 。选择“MyDri ver”右键选择菜 单的第一项 (其他子项目 不用再选)。提示:第一项:安装程序在 “WinPE”阶段(第一次启动 的时候,加载 setup 的软件 界面之前)”加载集成的 驱动。第二项:“在 offiine serviceing”(已经加载了 setup的软件界面 ,并且进行第 一次重启后 )阶段加载集 成的驱动。第三项:在“audit system”(使用 sysp
8、rep 封 装镜像)阶段加载集 成的驱动。注意:如果您的驱 动包括系统 必须加载能 完成安装的 驱动,则在该驱动 的项目上必 须选择第一 项!(例如:硬盘控制器 的驱动,必须选择“WinPE 阶段”加载驱动,否则会因为 找不到硬盘 导致安装失 败。)如果你不确 定集成的驱 动是否有系 统必须加载 能完成安装 的驱动,则选择第一 项。如果您的使 用 sysprep 部署 系统镜像,请选择第三 项!QUOTE:如何提取驱动的 INF文件和相关的文件?如果你的驱动是 exe或者 msi这类的安装程序,你就需要提取驱动文件。(当然你也可以部署系统镜像时执行这些驱动的安装程序进行安装。)在这里简单写一下
9、:一共有 2 类方法。1 在嵌入式设备上安装一个 Windows7 或者 Vista(当然你也可以安装一个WES 2010,不过你要确保已经存在系统启动必须的驱动),之后使用驱动精灵一类的程序进行备份驱动。这样可以达到提取驱动文件的目的。2 把驱动的安装程序解包(exe、msi 等)使用 Universal Extractor 这类的软件对驱动的安装程序进行解包,得到驱动文件。注意:我推荐使用第一种方法,虽然他比较“麻烦”,但是不容易出错。适合没有经验的人使用。无论你是用哪种方法,一定要确认提取的 INF 文件是可以使用的,相关的文件都提取全了(尤其是第二种方法),您可能要修改 INF 文件才
10、能使驱动正常安装。(例如:一个驱动的INF 文件省略了 Install节的copyfile,它使用安装程序来完成拷贝文件的操作,对于这样的INF,您就需要手动修改 inf 文件。)四、添加系统组 件还记得 Target Designer 么?Target Designer 在 WES 2011 中 已经消失了 ,哈哈。ICE 可以 被看成 Target Designer。现在我们要 开始构建一 个系统镜像 了。选择菜单“Valid ate”-“Validate Only”(进行关联性 检查)。你会看到一 条错误信息 :双击这个错误信息。出现下面这个窗口:exactly 表示只能选择一个,lea
11、st one 表示至少选一个(可选多个)。上面粗体的内容表示那个组件提出的请求。粗体显示的组件表明,该组件已经被添加。按照图进行选择。正确完成后错误信息会出现一条删除线,表示错误已经解决了。QUOTE:这里解释一下:Windows Boot Environment(标准的 bootmgr)Embedded Windows Boot Environment(一个 embedded特制的 bootmgr?)Unbaranded Startup Screens(选择后系统的登录界面没有 Windows Embedded Standard 的标志)Windows Embedded Startup Sc
12、reens(选择后系统的登录界面Windows Embedded Standard 的标志)Command Prompt Shell with Custom Shell Support(登录后 CMD 作为 shell 启动,CMD 的界面关闭后系统不会关机!)Windows Explorer Shell(登陆后启动标准的 shell,就是大家平常看到的桌面)剩下的是语言包,这里我们使用简体中文。选择菜单“Validate”-“Add Required Packages”(自动添加需 要的组件,这样可以获得最小的镜像)如果选择菜单“Validate”-“Add Required And Opt
13、ional Packages”会添加一些额外的组件,会提高软件兼容性,但是会增大体积。建议用“Add Required Packages”然后根据自己需要添加 组件。进行关联性检查有可能还会出现下图的情况,all 代表必须都选择,下面的 Optional dependencies,表示可选的组件。另外还有一类错误信息:这类错误信息是要求你修改包(组建的)属性。双击,错误信息会自动定位到要修改的属性上,如果您发现无法修改,请修改“Fliter view ”选择适合的阶段(与 Pass对应。)下面介绍一下 ICE 的界面。DS 目录$OEM$ Folder :OEM 文件夹,该文件夹的 内容会被拷
14、贝到系统 system32 中(具体参见帮助文档)。Out-of Box Drivers:用户集成驱动的文件夹PackagesDrives:系统自带的驱动PackagesFeaturesPack: 系统组件包PackageslanguagePack: 语言包配置 windows 安装部分的应答设置(可以进行一些自定义的配置,如:OEM 信息、运行程序(能实现安装驱动)应答文件的信息(里面的组件名同、,自己添加的驱动不会增加组件,只会自动设置好驱动文件的位置。)属性的设置窗口一共分两页:settings 和 properties。Settings 是一个包的私有属性。Properties是一个包
15、的共有属性。例如:是否启动或禁用这个包。注意画红框的部分,windo ws 的安装有 7 个阶段,一个包(组件)的属性可能在不同阶段分别有设置,pass:P1 代表第 一阶段 一直到 pass:P7(这些阶段随着部署的方式不同不会都被执行!)。 Fliter view 设置成 by setting 可以显示(只能看,不能改。如果修改请设置 Fliter view到对应的阶段)这个包(组件)的全部设置 。但是如果其中一个属性在不同阶段都有,只显示一个!设置后会变成粗体,另外 PASS 后面会有*号标明。您可以显示一组包(组件)的全部属性,这样方便查找。日志信息(如果存在错误信息保存应答文件的时候
16、会提示警告)下面讲一下基础操作:1 添加一个或一组包(组件)选中要添加的包(组件),鼠标右键“Add to Answer File”。2 删除一个或一组包(组件)选中要删除的包(组件),鼠标右键“Delete” 键,之后确认删除。3 禁用和启用一个包(组件)将 Properties 页中的 setting 项中的 Disabled 设置成Ture(禁用)或 Fales(启用)禁用后包(组件)的图标会变成灰色。五、配置无人值守安装如果您要部署大量的镜像,您不想每次都选择接受许可协议、选择安装到那个分区中好了,开始配置无人值守安装。1 设置接受许可协议将“PruductOpearating Sys
17、temFoundation CoreEmbeddedEditionSetup_X86”中的“UserData” 展开,把“Acept EULA”设置成ture。( P1)2 默认语言设置(简体中文)将“PruductOpearating SystemFoundation CoreEmbeddedEditionInternational-Core_X86”展开,把“UILanguage”设置成zh-CN。(P4、P7)将“PruductOpearating SystemFoundation CoreEmbeddedEditionInternational-Core-WinPE_X86”展开,把“
18、UILanguage”设置成 zh-CN。(P1 )注意:语言的设置要和使用的语言包相符!值与 LanguagePackage 分支下的语言包缩写名称相符,注意大小写!3 设置产品密钥将“PruductOpearating SystemFoundation CoreEmbeddedEditionSetup_X86”中的“UserDataProductKEY”展开,把“Key”设置成您购买的产品密钥。(P1)注意:CTP 版本已经内置了产品密钥,本项设置请跳过!4 安装分区设置4.1 配置自动对磁盘进行分区4.1.1将“PruductOpearating SystemFoundation Cor
19、eEmbeddedEditionSetup_X86DiskConfiguration”设置 WillShowUI 为OnError (表示如果出错则显示 UI 界面,进行手动分区)将“PruductOpearating SystemFoundation CoreEmbeddedEditionSetup_X86”展开,选中“DiskConfig uration”,按鼠标右键弹出的菜单选“Insert New Disk”展开新建的“Disk”,设置 Disk ID 为 0 (表示第一个硬盘)设置 WillWipeDisk 为true (表示删除该硬盘的所有分区)4.2.2选中“CreatePart
20、itions” ,按鼠标右键弹出的菜单选“Insert New Partition”。展开新建的“CreatePartition”,将“Order”设置成 1(表示第一个分区)。将“Trpe”设置成 Primary(表示主分区)。将“Size”空着。将“Extend”设置成 Ture(表示用所有 空间)。如果要建立多个分区请重复操作 4.2.2如果指定分区容量请设置“Size”单位是 MB,并将“Extend”设置成 False4.2 设置将镜像安装到那个分区将“PruductOpearating SystemFoundation CoreEmbeddedEditionSetup_X86”中的
21、“Image Install”展开,把“InstallToAvailablePartition”设置成 False。(P1) (如果设置成True 表示安装到第一个可用的分区!,请跳过下面InstallTo 的设置!)将 InstallTo展开。将 Partition设置成 1,DiskID 设置成 0(表示安装到第一个硬盘的第一个分区。)5 设置跳过 OOBE 中的相关设置(欢迎、建立账户)和进行自动登录。将“PruductOpearating SystemFoundation CoreEmbeddedEditionShell-Setup_X86”中的“OOBE” 展开,把“NetworkL
22、oc ation”设置成 Home。(P7)把“SkipUserOOBE”设置成 True。(P7)把“SkipMachineOOBE”设置成 True。(P7)把“HideWirelessSet upInOOBE”设置成 True。(P7)把“ProtectYou rPC”设置成 1。(P7)把“HideEULAPage”设置成 True。(P7 )将“PruductOpearating SystemFoundation CoreEmbeddedEditionShell-Setup_X86”中的“AutoLogin”展开,把“Username”设置成Administrator。(P4 、P5
23、、P7)说明一下:如果您没有建立用户账户,那么必须设置 AutoLogin,这样会启用 Administrator 账户。(默认该账户是禁用的,密码是空。)要建立账户可以在“PruductOpear ating SystemFoundation CoreEmbeddedEditionShell-Setup_X86”中的“UserAccounts”中设置。六、生成 IBW Disk先保存一下 应答文件!选择菜单“Tools ”-“Media Creation”- “Create IBW Disk From Answerfile”弹出的窗口 中,“Choos e Answerfile”会自动选择
24、当前的应答 文件。“Select the target folder for the image”选择一个空 的文件夹。点 OK 开始 生成。注意:这个生成镜 像和 WES 2009 用 目标设计器 build出来的镜像 有很大差别 !IBW 相当 于一个 Windows的安装源!没有 FBA的过程。不能像原来 那样部署。你可以通过 光盘、U 盘、PXE 部署 这个镜像,但是请记住 这是个“windo ws”的安装源!简单写一下 这个镜像的 部署方式A 光盘部署将 runtime 的镜 像备份,删除 ISO文件里面的 所有文件,再将镜像拷 贝进去,保存ISO。从光盘启动 即可。B USB 磁盘
25、 部署(移动硬盘、 U 盘)格式化 USB 磁盘,拷贝生成的 镜像的所有 文件到 USB 磁盘中,使用 UltraISO写入 MBR和 Vista 的引导记 录。之后从 USB 磁盘启动C 网络部署这里就不写 了,建议参考 AIK 的帮助 文档的 PE、PXE、网络部署等 部分。建议:启动生成镜 像后完成安 装操作(第一次重启 前!,也就是从硬 盘启动之前 (也就是安装 程序完成了 拷贝和释放 文件的操作 )使用 imageX 抓硬 盘的镜像。之后克隆到 其他机器上 。这样可以节 省大量时间 。再多写两句 ,CTP1 现 在还很 “原始”,ICE 中的 问题不少。另外现在 CTP1 的帮 助文档残缺 不全,建议大家参 考 AIK、 OPK 的文 档。