欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

进一步优化加速部署映像的安装

        为了让大家更清晰的明白 gOxiA 这篇日志要讲的内容,先让我们回顾一下 gOxiA 之前写的两篇日志:制作 Windows 7 加速部署映像利用 REAgentc 实现快速的系统恢复。否则你将无法真正了解 gOxiA 撰写此篇日志的意图。

        创建自定义映像(加速部署映像)就是为了能提高系统的安装速度,并简化安装过程。而部署这一映像有很多种方法,比如:通过网络、UFD、DVD等方式。这里将不讨论网络的安装方式,而后两者都是通过存储载体进行安装,那么我们要么使用标准的 Windows 7 Setup 进行安装,或者使用自定义的 PE 环境来调用命令(Imagex.exe)安装。两者各有优势,Windows 7 Setup 提供了友好的交互界面,而命令方式虽然看似复杂,但能实现更多的需求,并减少人工的干预,最关键的是实现安装后的系统已经包含恢复功能及恢复映像。所以我们需要根据实际的需求对加速部署映像的安装做进一步的优化,以实现我们的需求或目标。

        为了更清楚的描述,gOxiA 拿自己的设计需求为例向大家讲解。首先 gOxiA 已经制作好了一份自定义的 Windows 7 映像,该映像包含应答配置,最终将通过 UFD 为载体进行安装,并提供原始映像用于系统恢复。由于旧计算机已经包含分区和数据,所以配置系统恢复功能只能通过手工的方式,在 Windows 7 Setup 标准安装全部完成之后进行。如果是新计算机则就好办的多,直接执行事先写好的命令行脚本,即可完成创建系统分区和恢复分区、释放系统映像、拷贝加速部署映像到计算机恢复分区、配置 REAgentC、配置恢复分区为 OEM 类型进行隐藏保护等操作。下图是整体的流程:

image

        不难看出,要实现包含恢复功能的安装,最简单的实现办法就是在新计算机上通过命令脚本的方式来安装。而恢复功能则是用的 Windows 7 自带的 REAgentC 来实现。在旧计算机上的安装和后续恢复功能的配置操作这里就不再阐述,可以参考前面提到的“利用 REAgentc 实现快速的系统恢复”。下面将主要讲解如何通过命令脚本在新计算机上进行安装。

        为了进一步的优化安装,上图中的子流程包含了6个步骤,其中包括了为恢复映像单独创建一个分区,并对其进行了隐藏保护。首先我们要准备两个 diskpart 脚本文件,以实现创建分区(ConfigHD.txt)和保护分区(ConfigOEMID.txt)的操作。

        ConfigHD.txt 的内容如下:

sel disk 0
clean
create partition primary size=100
format fs=ntfs quick
active
assign letter=s
create partition primary size=61444
format fs=ntfs quick label=OS
assign letter=c
create partition primary size=10245
format fs=ntfs quick label=Recovery
assign letter=r
exit

        ConfigOEMID.txt 的内容如下:

sel disk 0
sel partition 3
set id=27
exit

        将上面两个文件保存当 UFD 安装盘根目录下。之后创建一个名为 CleanDeployWindows7.cmd 的文件,同样保存在 UFD 根目录下,内容如下:

diskpart /s confighd.txt
imagex apply .\sorucesinstall.wim 6 c:
c:\windows\system32\bcdboot c:\windows /s s: /l zh-cn
md r:\recovery
copy .\sources\install.wim r:\recovery
copy c:\windows\system32\recovery\winre.wim r:\recovery
c:\windows\system32\reagentc /setreimage /path r:\recovery /target c:\windows
c:\windows\system32\reagentc /setosimage /path r:\recovery /rarget c:\windows
diskpart /s configoemid.txt
x:\windows\systrem32\wpeutil reboot

        至此,准备工作完成,接下来使用该 UFD 引导,如果是在新计算机上则调用 CMD,执行 CleanDeployWindows7.cmd,由于要释放和拷贝 WIM,所耗时间会有所增加,但是一劳永逸!当操作完成后会自动重新启动。如果是在旧计算机上,则使用 Windows 7 Setup 进行安装,再之后手工拷贝 WIM 文件,执行 REAgentC 进行恢复功能的配置。

        以上内容参考了 Microsoft OPK 提供的资料并进行了适当的修改。现在我们有了一份属于自己的 Windows 7 安装源,并提供了只有品牌机才有的恢复功能。

使用标准的 Setup 向导安装定制版 Windows 7

        其实本文是《使用 WAIK 的 oscdimg 制作定制的 Windows 7 安装 ISO》的补充,不是今天 MVP 老吴问我相关的问题,我还真没注意到。前文中我向大家介绍了使用 oscdimg 来打包定制的 Windows 7 的安装 ISO,但是忽略了重要的一点!既是,并非我们使用 iamgex 打包的 wim 就能够被 Windows 7 标准的安装向导(Setup.exe)所识别。此外如果使用 WDS 中已经添加的 Windows 7 的 Boot.wim 来 PXE 远程引导进行标准安装时,也将会出现无法识别定制 wim 的故障问题!所以,我们在打包现有系统制作映像时必须使用 imagex 工具的 flags 参数。来标注该映像的版本,使之能够被 Setup 向导所识别。故!正确的命令格式应当参考如下:

imagex /capture /compress fast c: d:\install.wim "Custom Windows 7 for FullAPP" /flags "Ultimate"

        其中 flags 参数的标记信息 ID 必须完全符合微软的版本命名要求。

  • HomeBasic
  • HomePremium
  • Starter
  • Professional
  • Enterprise
  • Ultimate

        下面是两篇关于 Imagex 工具的官方文档,前者是基于 Windows 7 测试版编写的(随着 RTM 的发布,相信 Windows 7 正式版的相关 TechNet library 会很快更新发布),后者是 Windows Vista 的。

http://technet.microsoft.com/zh-cn/library/dd799302(WS.10).aspx

http://technet.microsoft.com/zh-cn/library/cc749447(WS.10).aspx

Tags: , , , , , ,

使用 imagex 手工安装 Windows 7 RTM

        Windows 7 RTM 已经发布,可惜的是首发阵容中并没有中文版!不过微软发布了多种语言包供大家使用,其中囊括中文版本。如果你是微软 MSDN 或 TechNet Plus 的订阅者,那么即可下载来体验一下这款 Windows 历史上具有颠覆性的创新的操作系统。

        OK!不是白吹 Windows 7 的,颠覆性和创新当然是有依据的,如果你长期关注 gOxiA’s Blog 那么你会理解 gOxiA 所做出的评论!就安装而言,我想在 Windows 家族中只有 Windows 7 能真正意义上的做到颠覆性。 我们可以完全抛弃掉安装光盘,完全抛弃掉 Setup.exe 来安装操作系统。

        我们知道从 Windows Vista 开始,Windows 的安装源就开始采用映像格式,虽然与 Windows 7 类似,但是实际上在手工部署时会遇到一些问题,比如无法进行后续的配置安装。但是有微软专家称这只是个例!结果到底如何,现在已经没有必要再争论,因为我们现在要面对的是 Windows 7,而且 gOxiA 这次完全同意 Windows 7 是支持手工释放安装的。gOxiA 从 Windows 7 M3 开始进行测试,除了标准的 Setup.exe 安装就是自己使用 Imagex 命令来手工释放 Install.wim 进行安装。后者可能更适合 ITPro 和一些特定的环境。

        今天 gOxiA 与大家要分享的还是 Imagex 来手工安装 Windows 7 RTM,其实关于 Imagex 的应用之前的 Blog 已经分享过多次,如果你在 gOxiA 创建的 QQ Group 里,也应该对此有所了解!而这次重新针对 Windows 7 RTM 再谈这个话题是因为 gOxiA 对 Windows 7 RTM 英文版(以下简称:Win7RTM-Eng)进行了测试,发现 Win7RTM-Eng 的封装有 Bug,该封装的源不支持引导,而从 M3 到泄漏出来的 RTM 简体中文版,gOxiA 都进行了测试均未发现有与 Win7RTM-Eng 相同的问题,故判断该问题应该是封装人员疏忽所导致的一个 Bug,而该 Bug 将导致我们使用 Imagex 手工释放的 Install.wim 无法进行后续的安装过程。其实出现该问题也是情理之中,意料之外!怎么讲呢?!我们知道在 Windows 7 上,进行安装的时候如果是一个未格式化过的分区,那么安装向导将自动创建一个 100M 容量大小的“系统保留(System Reserved)”分区用于存储引导信息,那么 RTM 里 Install.wim 中的系统源该如何设置存储呢?似乎有些矛盾!不过目前在 gOxiA 测试范围内,除了英文版无法完成引导,其他 M3、Beta、RC、泄漏的中文 RTM 均可以进行引导!事情既然到了这个地步,恐怕也不可能重新收回 RTM。而且到底是不是 Bug 微软目前还未证实!所以我们还是需要用其他办法来解决。其实解决办法很简单,就是使用 bcdboot 命令,重新生成引导配置信息。同时也适用于有 System Reserved 分区的环境。

        大致的过程如下,首先使用 PE2.0 以上版本进行引导,之后使用diskpart 进行磁盘分区,可手工创建 System Reserved 分区,之后使用 imagex 释放 install.wim,最后使用 bcdboot 重新生成引导配置信息。

        diskpart 的命令参考如下(仅适用于新硬盘,如欲了解更多环境应用可以联系 gOxiA 进行讨论):

diskpart
sel disk 0
clean
create partition primary size=100
format fs=ntfs label="Syatem Reserved" quick
active
assign letter=c
create partition primary size=40000
format fs=ntfs quick
assign letter=d
exit

        imagex 的命令参考如下(将存储位置上的 install.wim 里的 Ultimate 版本释放到 D 盘):

imagex /apply %path%\install.wim 5 d:

        bcdboot 的命令参考如下:

d:
cd windows\system32
bcdboot d:\windows /s c:

        之后重新启动计算机,Windows 7 正常引导并开始后续的安装过程直至完成,最后进入系统后你会发现之前创建的 C 盘(System Reserved 分区)会自动隐藏。如果你不使用 System Reserved 分区,那么相关操作可以忽略!

分页: 3/4 第一页 上页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]