Windows Embedded Standard 7 快速入门指南 4 of 4

作者:肖正波

转自:http://blog.sina.com.cn/s/blog_6e94205b0100njpj.html


如果转载,请明确标明作者和转载文章原始网址:

http://blog.sina.com.cn/s/blog_6e94205b0100njpj.html

谢谢

肖正波(happymy)

 

 

此文章存在技术问题,请阅读以下修正内容:

http://blog.sina.com.cn/s/blog_6e94205b0100o3po.html

 

第四章实战开发

4.1我们要做什么?

    OK,我想当大家看过前三章后,对WES7的就开发应该有了一个初步的了解。在本章将讲解以在Vmware虚拟机为硬件平台。在Vmware虚拟机上开发出一个WES 7的嵌入式系统镜像。借此演示一个标准使用ICE编写应答文件和自定义开发工具的开发流程。这个开发流程包含一些嵌入式特性的使用。以及覆盖了如何配置应答文件实现无人值守安装、如何集成驱动、在镜像的安装过程中如何执行自定义命令和脚、如何封装系统镜像以便进行大规模部署等大家常会接触到的问题。

4.2建立虚拟机和采集硬件信息

    • 步骤  1:对于如何建立Vmware Workstation7虚拟机,这里不详细讲解。只要设置虚拟机的宿主操作系统为“Windows 7”就可以。

image

图4-1 Vmware Workstation 虚拟机

    • 步骤 2:将Standard_7_32bit.iso载入虚拟机的光驱,然后启动虚拟机,并从光盘引导。单击“LaunchWinPE Command Prompt”

image

• 步骤  3:准备一个格式化好的USB U盘,将USBU盘挂载进虚拟机。image

• 步骤  4:键入“Tap /oc:\demo.pmq”。c:为U盘的盘符(将生成的PMQ文件保存到U盘当中)

image

 

4.3用Image ConfigurationEditor(ICE)编写应答文件(用与构建母板镜像)

• 步骤  1:打开Image ConfigurationEditor(ICE), 菜单“File”>“Select Distribution Share”选择DistributionShare文件夹的位置。默认位置是“C:\Program Files\Windows Embedded Standard7\DS”如果是64bit的Distribution Share,文件夹的名称应为DS64。DistributionShare是由开发工具提供的,用户不应在其根目录建立新的文件夹。

image

• 步骤 2:单击“New…”按钮,新建一个应答文件。双击“Distribution Share/Templates/IBW”下的“ThinClient.xml”

image

• 步骤 3:菜单“File>Import>importPMQ”,选择在上一节中生成的PMQ文件,并导入。

image

• 步骤  4: 菜单“Validate>AddRequired Packages”。双击下方的错误信息。

image

• 步骤  5: 取消选中“Windows ExplorerShell”,选中“Command Prompt Shell with Shell Support”和“Simplified(PRC)Chinese Language Pack ”。单击“OK”按钮。image

• 步骤  6:菜单“Validate>Add Required Packages”。展开“DistributionShare\Packages\Feature Pack\Embedded Enabling Features”双击Hide BootScreens。

image

• 步骤  7:找到VMwareWorkstation的安装目录下的windows.iso,用winrar或者其他软件打开windows.iso,将里面的所有文件拷贝到DS库的“\$OEM$Folders\$1\Program Files\vmtoolsetup”下,例如:C:\Program Files\WindowsEmbedded Standard 7\DS\$OEM$ Folders\$1\ProgramFiles\vmtoolsetup”文件夹。
之后在“\DS\$OEM$Folders\$1\Windows\Setup\Scripts”文件夹下建立一个名称为“SetupComplete.cmd”脚本文件。编辑该文件加入下列命令:

“C:\Program Files\vmtoolsetup\setup.exe” /v/qn
C:\Windows\system32\calc.exe

这样做会在第7个阶段(OOBE)执行上面2条命令,但是此种执行命令或脚本的方法并不会检查被执行命令的返回值,另外如上所示,第一条命令执行后会重新启动计算机,这有可能造成第二条命令未被执行或没有被完整的执行。这点在开发过程中要注意!
 

• 步骤  8:将DS库的“\$OEM$Folders\$1\Program Files\vmtoolsetup\Program Files\VMware\VMwareTools\Drivers\”的“scsi”文件夹拷贝到DS库的“\Out-of-BoxDrivers目录中,例如将“C:\Program Files\Windows Embedded Standard7\DS\$OEM$ Folders\$1\Program Files\vmtoolsetup\ProgramFiles\VMware\VMware Tools\Drivers”的“scsi”文件夹拷贝到“C:\ProgramFiles\Windows Embedded Standard 7\DS\Out-of-Box Drivers”文件夹下。

$1文件夹下的所有文件将会被IBE自动拷贝到目标系统盘中。其他类似“$1”的“变量”可以从帮助文档中查询。除了此种集成文件的方法:使用imageX修改IBW光盘\DS目录下的install.wim文件。在这里就不详细介绍了。

• 步骤  9:菜单“insert> OEM Folders Path…”选中 “C:\Program Files\WindowsEmbedded Standard 7\DS”下的“$OEM$ Folders”文件夹,然后单击“Open”按钮。

image

• 步骤 10:按快捷键“Ctrl+F”,输入“Home”,单击“Find”按钮。双击下方的“Answerfile”的“IE-InternetExplorer_x86/Home_Page”。

image

• 步骤 11:将“Home_Page”的“Value”设置成“www.cyent.com.cn”。

image

• 步骤 12:将同页上方的“DisableFirstRunWizard”和“DisableWelcomePage”的“Value”设置成“True”。

image

• 步骤  13: 展开并选中“AnswerFile\Untitled\FeaturePack\User Interface\ Command Prompt Shell withShell Support ”。
设置“Filter view by:”为“2 Offline Servicing”。
设置“CustomShell”的“Value”为“C:\windows\system32\cmd.exe”

此处称之为自定义Shell,是大家常用的嵌入式特性之一。可以将用户“锁定”在自定义的应用程序。此处以命令提示符为例(默认就是命令提示符)。

image

• 步骤  14:在做完第8步之后,展开选中“Distribution Share/Out-of-BoxDrivers/mydevices”,鼠标右键“Insert Drive Path to Pass 1 WindowsPE”

此处称之为集成驱动,此方法只能集成INF格式的驱动程序!磁盘控制器的驱动(这类驱动称之为系统启动必须加载的驱动程序)要在第一阶段被加载否则将找不到可用的磁盘。

image

• 步骤  15: 展开“AnswerFile\Untitled\Product\Operating System\Foundation Core\WindowsEmbedded Edition\Setup_X86\UserData”
设置“Filter view by:”为“1 WindowsPE”
设置“AceptEULA”的“Value”为“True”。
展开并设置“ProductKEYKEY\”的“Value”为产品的序列号。如果没有请留空,不要使用00000-00000-00000-00000-00000。
设置“WillShowUI”的“Value”为“OnError”

image
 
• 步骤  16: 展开“AnswerFile\Untitled\Product\Operating System\Foundation Core\WindowsEmbedded Edition\International-Core-WinPE_X86”。
设置“Filter view by:”为“1 WindowsPE”。
设置“UILanguage”的“Value”为“zh-CN”。

image
 
• 步骤  17: 展开“AnswerFile\Untitled\Product\Operating System\Foundation Core\WindowsEmbedded Edition\International-Core_X86”。
设置“Filter view by:”为“4 Specialize”。
设置“UILanguage”的“Value”为“zh-CN”。

image
 
• 步骤  18:在DS\$OEM$Folders文件夹下建立一个名称为disksp.txt的文本文档。

select disk 0
create partition primary
select partition 1
format FS=NTFS quick
active
exit

将上面的脚本复制到该文本文档中,并保存。

菜单“Insert\Synchronous Command\Pass 1 windowsPE…”,在弹出的窗口中键入(仅键入粗体部分的字符):

“diskpart /s “D:\AutoUnattend_Files\windowsPE\$OEM$Folders\disksp.txt”。然后单击“OK”按钮。

我们直接在第一阶段调用dskpart进行分区,并配置分区。RunSynchronous和RunAsynchronous可以在指定的阶段执行命令。Runsynchronous与RunAsynchronous不同地方是Runsynchronous会等待当前命令执行完,才会执行下一条。

image

 
• 步骤  19: 展开“AnswerFile\Untitled\Product\Operating System\Foundation Core\WindowsEmbedded Edition\Setup_X86\ImageInstall”。
设置“Filter view by:”为“1 WindowsPE”。
设置“InstallToAvailablePartition” 的“Value”为“True”。

这样设置会使得系统镜像安装到第一个标记到活动的分区中。如果要指定安装分区可以展开“InstallTo”。设置PartitionID的“Value”和“DiskID”的“Value”。

image
 
• 步骤  20: 展开“AnswerFile\Untitled\Product\Operating System\Foundation Core\WindowsEmbedded Edition\Shell-Setup_X86\OOBE”
设置“Filter view by:”为“7 OOBE System”
设置“NetworkLocation” 的“Value”为“Work”。
设置“SkipUserOOBE” 的“Value”为“True”。
设置“SkipMachineOOBE” 的“Value”为“True”。
设置“HideWirelessSetupInOOBE” 的“Value”为“True”。
设置“ProtectYourPC” 的“Value”为“1”。
设置“HideEULAPage” 的“Value”为“True”。

此处的这些设置可以跳过OOBE阶段的新建立用户、设置无线网络等设置。

image
 
• 步骤  21: 展开并选中“AnswerFile\Untitled\Product\Operating System\Foundation Core\WindowsEmbedded Edition\Shell-Setup_X86\U
serAccounts\LocalAccount”。鼠标右键单击,在弹出的菜单中选择“Insert NewLocalAccount”。
将“Name”设置为“CYBR”
将“DisplayName”设置为“CYBR”
展开“Password”,将“Value”设置为“CYBR”
将下面的“Group”设置为“Administrators”

image
 
• 步骤  22: 展开“AnswerFile\Untitled\Product\Operating System\Fou
ndation Core\Windows EmbeddedEdition\Shell-Setup_X86\AutoLogon”
设置“Filter view by:”为“4 Specialize”。
设置 “Username” 的“Value”为“CYBR”。
设置 “Enabled” 的“Value”为“True”。
设置 “Password”的“Value”为“CYBR”。

image

 
• 步骤  23:菜单“Validate>Add Required Packages”。
按“Ctrl+S”快捷键,保存应答文件到桌面,使用默认的文件名即可。
菜单“Tools”->“Create Media”-> “CreateIBW Image From Answer file”
在弹出的窗口中单击“…”按钮选择“C:\OSIMAGE”文件夹,单击“OK”按钮开始生成系统镜像。

image
 
• 步骤  24:打开“开始”菜单,在“附件”中,找到命令提示符并用鼠标右键单击,在弹出的菜单中选择“以管理员的身份运行”。
依次输入下列命令:

CD C:\Program Files\Windows Embedded Standard7\Tools\x86
oscdimg -n -m -b”C:\Program Files\Windows Embedded Standard7\Tools\IBW\x86\BOOT\etfsboot.com” C:\OSimageC:\OSimage\OSimage.iso

这样就把系统镜像的安装源打包成一个ISO光盘镜像文件。

image• 步骤 25: 将刚才构建的ISO镜像再如到虚拟机然后启动虚拟机,如果上面步骤没有做错。等待40分钟系统的构建将顺利完成,在这期间不需要手动干预。
 
4.4 用ImageConfiguration Editor(ICE)编写应答文件(用于SYSPREP封装系统)

首先说明一下,在这里给出的是一个比较”通用”的应答文件(testsysprep.xml),应答文件的部分内容仍然需要修改后才能使用!以下是应答文件的内容:

<?xml version=”1.0″encoding=”utf-8″?>
<unattend xmlns=”urn:schemas-microsoft-com:unattend”xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State”xmlns:ew=”urn:schemas-microsoft-com:embedded.unattend.internal.v1″>
   <servicing>
       <package action=”configure”>
           <assemblyIdentityname=”Microsoft-Windows-EmbeddedEdition” version=”6.1.7600.16385″processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” />
           <ew:packageInfo releaseType=”Product”customInfoVersion=”1.0″ />
       </package>
   </servicing>
   <settings pass=”generalize”>
       <component name=”Microsoft-Windows-PnpSysprep”processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
           <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
       </component>
       <componentname=”Microsoft-Windows-Security-Licensing-SLC”processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
           <SkipRearm>0</SkipRearm>
       </component>
   </settings>
   <settings pass=”specialize”>
       <componentname=”Microsoft-Windows-International-Core”processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
           <UILanguage>zh-CN</UILanguage>
       </component>
       <component name=”Microsoft-Windows-Shell-Setup”processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
           <ProductKey>00000-00000-00000-00000-00000</ProductKey>
       </component>
   </settings>
   <settings pass=”oobeSystem”>
       <component name=”Microsoft-Windows-Shell-Setup”processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
           <AutoLogon>
               <Password>
                   <Value>CYBR</Value>
                   <PlainText>true</PlainText>
               </Password>
               <Username>CYBR</Username>
               <Enabled>true</Enabled>
           </AutoLogon>
           <OOBE>
               <NetworkLocation>Work</NetworkLocation>
               <SkipUserOOBE>true</SkipUserOOBE>
               <SkipMachineOOBE>true</SkipMachineOOBE>
               <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
               <ProtectYourPC>1</ProtectYourPC>
               <HideEULAPage>true</HideEULAPage>
           </OOBE>
       </component>
   </settings>
   <settings pass=”windowsPE”>
       <componentname=”Microsoft-Windows-International-Core-WinPE”processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″language=”neutral” versionScope=”nonSxS” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
           <UILanguage>zh-CN</UILanguage>
       </component>
   </settings>
   <ew:answerFileInfo distributionSharePath=”C:\ProgramFiles\Windows Embedded Standard 7\DS” footprint=”576716800″ecoreFootprint=”576716800″ />
</unattend>

你可以用ICE打开这个应答文件,看看都改了那些配置。特别说明一下,ICE保存这个应答文件会报错。这是很正常的因为这个应答文件没有添加任何“组件包”,它是不能用来构建系统镜像的。所以直接忽略这些错误。毕竟用ICE写一个应答文件要比用记事本写方便的多。上面的应答文件一共配置了:

1. 设定好OOBE过程中的设置(这样就实现了无人值守的部署)

2. 跳过硬件检测(减少部署的时间,不会删除已经配置好的驱动。)

3. 自动登录(这个需要根据自己的需要更改。)

4. 设置了CDKEY(ProductKey必须根据实际情况修改,试用版留空。)

5. 重置了激活计数器(WES7需要进行产品激活,最多可以重置3次。所以在最后一次执行syssprep命令,才可以将SkipRearm设置为0)

• 步骤  1启动好虚拟机,等待CMD打开后,输入explorer打开资源管理器(仍然不会出现“桌面”)

image

• 步骤 将刚才的应答文件(大家自己修改过的)拷贝到“C:\Windows\System32\sysprep”下(直接复制粘贴过去,VMTool刚才已经安装好了)。

删除“C:\Windows\Setup\SCRIPTS”下的所有文件。
回到CMD下执行下面的命令:
sysprep /shutdown /generalize /oobe/unattend:C:\Windows\System32\sysprep\testsysprep.xml

等关机后,就可以使用Ghost或者ImageX进行系统镜像的批量部署,当然你也可以再次启动虚拟机看结果。

最后祝大家元旦快乐!\( ^▽^ )/


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows Embedded Standard 7是一款基于Windows 7操作系统的嵌入式操作系统,适用于嵌入式设备和智能终端。要下载Windows Embedded Standard 7,你可以按照以下步骤进行操作: 1. 首先,打开浏览器,并在搜索引擎中输入“Windows Embedded Standard 7下载”。 2. 根据搜索结果,找到可靠的微软官方网站或其他可信赖的下载网站。 3. 确保你选择的网站是安全可信赖的,并提供合法的Windows Embedded Standard 7下载。 4. 进入下载页面后,确认系统要求和硬件要求是否满足你的设备条件。注意操作系统的位数(32位或64位)以及所需的存储空间。 5. 点击下载按钮,并选择合适的下载选项,可以是ISO镜像文件或安装程序。 6. 下载过程可能需要一段时间,具体时间取决于你的网络连接速度。 7. 下载完成后,确保对下载文件进行安全检查,以防止恶意软件或病毒的存在。 8. 如果你下载的是ISO镜像文件,你需要使用光盘刻录软件将其刻录到光盘上,或者使用虚拟机软件将其挂载为虚拟光驱。 9. 安装Windows Embedded Standard 7之前,先备份你的重要数据,并根据安装向导进行操作。 10. 完成安装后,根据你的需求配置操作系统并安装所需的驱动和软件。 总而言之,下载Windows Embedded Standard 7可以在合法可信赖的网站上进行,确保你的设备符合系统要求,并进行安全检查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值