欢迎光临,这里是 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 安装源,并提供了只有品牌机才有的恢复功能。

WS08-R2_v_rgb  HOWTO:从移动存储上启动和运行完整版的 Windows Server 2008 R2

        还记得这篇日志吗 —《从UFD启动和运行Hyper-V Server 2008 R2》!?要从 UFD(USB Flash Disk 闪存盘)或移动硬盘上启动和运行 Hyper-V Server 2008 R2 是非常简单的,这是因为微软在 Hyper-V Server 2008 R2 中添加了对移动存储启动的支持。只需要参考日志中的操作流程,就可以看到成果了!在文中,gOxiA 提到只需要修改注册表中的相关项便能够在移动存储上运行完整版的 Windows Server 2008 R2,相信这才是大家更感兴趣的体验!

        gOxiA 先后入手了一个PNY 8G 的 UFD和一个双接口的移动硬盘盒,目前打算在这个拥有320G存储容量的双接口(eSATA+USB)硬盘盒中独立运行一个 Windows Server 2008 R2,主要用于 Hyper-V 相关的虚拟机应用,其中虚拟机也将存储在这个移动存储中。这样一来,gOxiA 就能够节省出来笔记本本身的资源,降低本机硬盘的损耗。

        实际的实施过程比较顺利,但是结果并不乐观。gOxiA 修改了 PollBootPartitionTimeout 为 30000(十进制,十六进制是0x00007530)后,在启动系统时还是出现了蓝屏 0x0000007b,看来只修改 PollBootPartitionTimeout 并不能完全解决问题。前面讲过 Hyper-V Server 2008 R2 能够直接从 UFD或大容量移动存储上启动和运行主要还是因为微软添加了对此的支持,通过对相关驱动文件内容的比较发现 Hyper-V Server 2008 R2 和 Windows Server 2008 R2 并无实质差异,不足以影响到启动失败,那么问题应该还是出在注册表设置上,查阅了一些资料发现了一个关键的注册表键 – BootDriverFlags,在 MSDN Library 中找到了合理的解释。

BootDriveFlags:On initial validation, Image Configuration Editor displays the following message in the Validation tab: Package "Bootable Windows USB Stack" would like Setting "BootDriverFlags" in Component "Kernel-PnP" set to the value "4".

        找到了关键问题所在,一切都迎刃而解!非常顺利的,gOxiA 在自己的320G移动硬盘上启动并成功运行了 Windows Server 2008。下面就将详细的操作步骤与大家分享!

        在上一篇日志 — 《HOWTO:在 Windows 7 中嵌入 Windows PE》中,gOxiA 与大家分享了将 Windows PE 嵌入到 Windows 7 中的具体实施步骤,而这篇日志将利用 Windows 7 的新特性 — VHD Native Boot,来实现 Windows PE 以 VHD 方式来引导。就目前的应用而言,此方法真正的使用价值还有待推敲,但是不能否认的是一旦使用 Windows PE VHD Native Boot,那么在 Windows PE 中的修改将会得到保存,如果将网上网友定制的功能丰富的 Windows PE 3.0(此类 PE 集成了很多实用工具,甚至包含了浏览器和QQ,并且桌面也极像 Windows 的标准桌面。)拿来使用,那么该 Windows PE 完全可以作为一个轻量级的系统来进行使用。需要注意的是可能会与授权问题相抵触,使用前需慎重考虑!

        本文侧重点是实现 Windows PE 3.0 的 VHD Native Boot,如果你对 VHD Native Boot 的使用已经相当了解,那么具体操作起来是非常容易的,我们只需要将定制的 Windows PE 3.0 中的 Boot.wim 释放到 VHD 中即可。此外还需注意,Boot.wim 释放后的容量要比 wim 容量大很多,那么在创建 VHD 时一定要将容量设置的大一些。下面是具体的操作指令:

diskpart

create vdisk file=d:\winpe3.vhd maximum=2000 type=expandable

list disk

sel disk 1

create partition primary

format fs=ntfs quick label=WinPE3

assign letter=v

        上面的指令将在 D 盘创建一个动态扩展类型,最大2G的名为 winpe3.vhd 的虚拟磁盘文件。并为其创建一个主分区,使用 NTFS 格式快速格式化,卷标为 WinPE3,并将其盘符分配为 V。“list disk”用于显示当前的磁盘信息,便于之后执行“sel disk n”选择虚拟磁盘。为了方便之后的操作,建议不要退出 diskpart。

        之后使用 imagex 或支持 wim 格式的解压缩软件将其释放到虚拟磁盘 V 上,释放完毕后在 diskpart 下执行“datech vdisk”卸载虚拟磁盘,如果之前已经退出 diskpart,则重新进入后需要先选择 vdisk,即“sel vdisk file=d:winpe3.vhd”,之后再执行卸载虚拟磁盘的命令。

        最后生成 Windows PE VHD Native Boot 的引导信息,并添加到 ToolsDisplayOrder 引导列表中,为此执行如下操作:

bcdedit /copy {current} /d "Windows PE VHD Native Boot"

bcdedit /set {GUID} device vhd=[d:]\winpe3.vhd

bcdedit /set {GUID} osdevice vhd=[d:]\winpe3.vhd

bcdedit /set {GUID} detecthal yes

bcdedit /set {GUID} winpe yes

bcdedit /toolsdisplayorder {GUID} /addlast

        完成所有操作后,重新启动计算机引导时按下空格键调出引导列表,使用 Tab 键切换到 ToolsDisplayOrder 列表,进行选择。

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