本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!
[Windows PE] Windows PE VHD Native Boot
在上一篇日志 — 《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 时一定要将容量设置的大一些。下面是具体的操作指令:
上面的指令将在 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 引导列表中,为此执行如下操作:
完成所有操作后,重新启动计算机引导时按下空格键调出引导列表,使用 Tab 键切换到 ToolsDisplayOrder 列表,进行选择。
[Windows PE] HOWTO:在 Windows 7 中嵌入 Windows PE
gOxiA 的计算机没有光驱,所以从 Windows Vista 发布以来就没再用过光驱来安装操作系统。通常都是使用 U盘或移动硬盘中自己定制的 Windows PE 来引导计算机,进行系统的安装或维护。虽然这样一来已经非常方便、灵活!而且 Windows 7 的备份还原功能也更加实用、再加上 Thinkpad 独有的 R&R,一旦发生系统故障均能够快速的恢复到正常状态。然而,时间久了会发现偶尔要取出移动硬盘或U盘引导定制的 Windows PE时,也会稍显麻烦!能不能有办法将 Windows PE 嵌入到 Windows 7 中呢?!结论是肯定的,早前 gOxiA 写过几篇相关的文章,当时都是基于 Windows Vista 的,虽然操作过程与在 Windows 7 上大致相同,但是由于 Windows 7 具备一些新的特性,加之 WAIK3 的发布,所以在实际实施中还是有一些不同的,所以 gOxiA 决定撰写该日志与大家分享!
首先,我们先回顾一下 gOxiA 之前写过的相关日志,第一篇是将 Windows PE 部署到一个单独分区中,虽然这种方式某种意义上更加安全、有效。但是实际操作时相当费时费神,所以第二篇提到的方式更适合推广使用。
本章将引领大家在 Windows 7 操作系统中嵌入一个定制版的 Windows PE v3.0,默认不出现在引导列表中,并且以 RAMDISK 方式来运行。这种做法的好处是,我们可以轻易地在一台已经安装好操作系统的计算机上进行嵌入,根据需要调用 Windows PE 来引导,不破坏默认的引导列表而导致每次引导都会出现选择菜单,由于采用 RAMDISK 方式,所以定制版的 Windows PE 维护起来也更方便,只需要维护一个 WIM 映像文件即可,而且不必担心因为误操作而引起的文件修改或丢失问题。
关于 Windows PE 的定制 gOxiA 这里不再复述,网上有很多定制的版本和定制工具,当然也可以自己参考 WAIK 文档制作符合自己需求的定制版本。在开始前,请准备一套完整的 Windows PE,他们通常是 ISO 格式,然后将 boot 目录下的 boot.sdi 和 sources 目录下的 boot.wim 拷贝到你本地磁盘上的某一个目录中,本例中是保存到“E:\Personal\Tools\WindowsPE”目录下;最后,在管理员权限下执行“bcdedit /export boot.bak”,将引导信息进行备份。
下面是 gOxiA 工作 PC 上的 bcd 信息,供参考使用:
Windows 启动管理器
--------------------
标识符 {bootmgr}
device partition=C:
description Windows Boot Manager
locale zh-CN
inherit {globalsettings}
default {current}
resumeobject {4d3dfcc6-aaf4-11de-a800-00e04c54037c}
displayorder {current}
{4d3dfccb-aaf4-11de-a800-00e04c54037c}
toolsdisplayorder {memdiag}
timeout 10
Windows 启动加载器
-------------------
标识符 {current}
device partition=C:
path \windows\system32\winload.exe
description Windows 7
locale zh-CN
inherit {bootloadersettings}
recoverysequence {4d3dfcc8-aaf4-11de-a800-00e04c54037c}
truncatememory 0x80000000
recoveryenabled Yes
osdevice partition=C:
systemroot \windows
resumeobject {4d3dfcc6-aaf4-11de-a800-00e04c54037c}
nx OptIn
numproc 1
usefirmwarepcisettings No
Windows 启动加载器
-------------------
标识符 {4d3dfcc8-aaf4-11de-a800-00e04c54037c}
device ramdisk=[C:]\Recovery\4d3dfcc8-aaf4-11de-a800-00e04c54037c\Winre.wim,{4d3dfcc9-aaf4-11de-a800-00e04c54037c}
path \windows\system32\winload.exe
description Windows Recovery Environment
inherit {bootloadersettings}
osdevice ramdisk=[C:]\Recovery\4d3dfcc8-aaf4-11de-a800-00e04c54037c\Winre.wim,{4d3dfcc9-aaf4-11de-a800-00e04c54037c}
systemroot \windows
nx OptIn
winpe Yes
Windows 启动加载器
-------------------
标识符 {4d3dfccb-aaf4-11de-a800-00e04c54037c}
device vhd=[D:]\ws08r2.vhd
path \windows\system32\winload.exe
description Windows Server 2008 R2
locale zh-CN
inherit {bootloadersettings}
recoverysequence {4d3dfcc8-aaf4-11de-a800-00e04c54037c}
truncatememory 0x80000000
recoveryenabled Yes
osdevice vhd=[D:]\ws08r2.vhd
systemroot \windows
resumeobject {4d3dfcc6-aaf4-11de-a800-00e04c54037c}
nx OptIn
numproc 1
usefirmwarepcisettings No
从休眠状态恢复
---------------------
标识符 {4d3dfcc6-aaf4-11de-a800-00e04c54037c}
device partition=C:
path \windows\system32\winresume.exe
description Windows Resume Application
locale zh-CN
inherit {resumeloadersettings}
filedevice partition=C:
filepath \hiberfil.sys
pae Yes
debugoptionenabled No
Windows 内存测试程序
---------------------
标识符 {memdiag}
device partition=C:
path \boot\memtest.exe
description Windows Memory Diagnostic
locale zh-CN
inherit {globalsettings}
badmemoryaccess Yes
EMS 设置
------------
标识符 {emssettings}
bootems Yes
调试器设置
-----------------
标识符 {dbgsettings}
debugtype Serial
debugport 1
baudrate 115200
RAM 故障
-----------
标识符 {badmemory}
全局设置
---------------
标识符 {globalsettings}
inherit {dbgsettings}
{emssettings}
{badmemory}
启动加载器设置
--------------------
标识符 {bootloadersettings}
inherit {globalsettings}
{hypervisorsettings}
虚拟机监控程序设置
-------------------
标识符 {hypervisorsettings}
hypervisordebugtype Serial
hypervisordebugport 1
hypervisorbaudrate 115200
恢复加载器设置
----------------------
标识符 {resumeloadersettings}
inherit {globalsettings}
设备选项
--------------
标识符 {4d3dfcc9-aaf4-11de-a800-00e04c54037c}
description Ramdisk Options
ramdisksdidevice partition=C:
ramdisksdipath \Recovery\4d3dfcc8-aaf4-11de-a800-00e04c54037c\boot.sdi
从上面显示的当前系统的 BCD 信息可以得知,默认 Windows 7 除了标准的系统引导,还有 Windows 恢复环境,Windows 恢复程序以及内存检测程序。其中 Windows 恢复环境就是以 RAMDISK 方式运行的一个 Windows PE,与我们要嵌入类型是一致的。注意:上面信息中包含的 Windows Server 2008 R2 是我附加上去的 VHD Native Boot,可以忽略!在一些品牌机,如 Thinkpad,由于安装有 R&R那么还会看到有关 R&R 的引导信息,也是以 RAMDISK 方式引导,并且会使用默认标识符“{ramdiskoptions}”,而非 GUID。
现在我们将开始,Windows PE 的嵌入!以管理员权限启动 CMD 环境之后键入如下指令:
执行上面的指令后,将会创建一个名为“Custom Windows PE v3.0 x86”的“设备选项”,并得到一个 {GUID},为了便于识别这里将此{GUID}叫做{SDIGUID},请复制下来备用。然后键入下面的指令,配置该设备选项的引导文件:
在设备选项的信息配置完毕后,创建一个新的“Windows 启动加载器”,获取到该启动加载器的 GUID 后,添加相关的引导信息,指令如下:
下来我们将这个 Windows 启动加载器,添加到 ToolsDisplayOrder 列表中,这样启动过程中不会进入引导选项列表,当我们需要启动这个 Windows PE 时只需要在引导时按下空格键即可调出引导选择列表,之后使用 Tab 键切换到 ToolsDisplayOrder 列表中,通过上下箭头定位到该 Windows PE 的名称上——“Custom Windows PE v3.0 x86”,按下回车即可开始引导。为此需要执行下列指令:
至此便大功告成了,现在可以进行测试感受一下。重新过一边这篇日志,相信细心的朋友会发现为什么创建的启动加载器的 Description 是“Windows PE”,而最终显示结果却是“Custom Windows PE v3.0 x86”。这是因为 RAMDISK 会引用“设备选项”的 Description,gOxiA 也是测试之后才发现这个问题,而为了解决这个问题则选择单独存储一个 boot.sdi,并单独创建一个“设备选项”。如果关联到“Windows 恢复环境”的“设备选项”,那么最终的显示结果会是“Ramdisk Options”,在启动选择里不容易被识别。
最后需要提醒的是由于本日志系统过滤特殊字符的原因,指令中部分符号是全角字符,实际操作中建议手工对照键入,不要直接复制使用。如果对 bcdedit 命令很熟悉,其实上述一些步骤是可以省略或简化的,这里为了使网友更清晰地了解操作步骤,故完整路演了一遍。
[Windows 7] 使用 Windows PE 安装部署 Windows 7 RTM 的注意事项
使用 Windows PE 安装部署 Windows 7 RTM 的注意事项
由于 Windows 7 安装“载体无关性”的新特性,可以让我们灵活地、随心所欲地来安装或部署 Windows 7。目前在网上盛传着各类介绍 Windows 7 安装方式的资讯,如:怎么通过硬盘来安装、自己制作光盘来安装、使用 U盘来安装,使用硬盘来安装或通过网络来安装。gOxiA 很早也发布了相关的日志,而今天主要是分享 Windows PE 来安装部署 Windows 7 RTM 时所要注意的事项。
作为一名 IT 专业人士,面对工作时必须要严谨、认真、高效、灵活并且值得信赖!在系统部署或维护时,各自手中都会有一张 Windows PE 或定制版的 Windows PE。正如前面所提到的工作态度,导致一些在网上非常 HOT 的定制版 Windows PE 可能不适用与一些工作环境。通常 ITPro 会使用 WAIK 来制作一张属于自己的定制版 Windows PE,里面集成了一些非常实用的小工具,比如 gOxiA 早先基于 Windows Vista WAIK 制作的定制版 Windows PE,内部就集成了远程桌面、Imagex、Ghost 和虚拟光驱等实用的软件,特别是这个虚拟光驱工具可以轻松地载入 Windows Vista 的安装 ISO 甚至是现在 Windows 7 的安装 ISO,这对于安装操作系统来讲是非常便捷的,因为我们不需要专门制作、维护一份存储有 Windows 的安装源。从 Windows Vista 开始,gOxiA 就在自己的 U盘、移动硬盘、光盘甚至是 WDS 服务器上拷贝了自己定制的 Windows PE,用于安装和维护操作系统,非常之方便。并且这份 PE 一直沿用至 Windows 7 RC,但是到 Windows 7 RTM 英文版后,便无法再使用(PS:泄漏的 Windows 7 RTM 中文版并未发现此问题)!具体表现为,当执行 Setup 安装后第一阶段结束会提示一个无法处理的错误,之后安装宣告失败。检查系统盘,发现盘中的目录格式并非正常命名,而是包含有 Windows.old 这样的目录,看来英文版的 Windows 7 RTM 在安装时对系统检查这一过程更加严谨,将我基于 Windows Vista 的 PE 识别为了老版本的系统,故最终导致安装失败!
OK,注意事项就是这个,如果要使用 Windows PE 来安装部署 Windows 7 RTM,则必须满足 Windows PE 是最新的 WAIK 3.0 制作的,否则就必须使用 Imagex 来手工安装 Windows 7,而 Imagex 手工安装 Windows 7 所需要注意的问题可以参考之前的日志“使用 imagex 手工安装 Windows 7 RTM”。
看来 ITPro 要重新定制自己的 Windows PE,以满足 Windows 7 的安装需求!gOxiA 在未来一段时间也会开始制作基于 WAIK 3 的 Windows PE,并正确总结成日志与大家分享!