实现从硬盘引导 VistaPE

之前的 Blog 陈述了我对 VistaPE 的一些看法,谨代表个人看法。下来此篇 Blog 将与大家分享我是如何实现从硬盘引导 VistaPE 的。
      这次实践所需的环境与定制个性化 VistaPE 时的一样,我将会使用 Virtual PC 2007 来作为硬盘启动 VistaPE 的测试环境。同样我仍然强烈地推荐使用 Vista 系统作为宿主环境。
      之前定制个性化 VistaPE 时,我并没有安装 VistaPE 支持的组件支持,作为今后的使用工具我个人认为还是有必要把这些组件都安装进入到我的个性化 VistaPE 中去。为此,我们首先需要将之前做好的映像重新 mount 到我们的特定目录性,之后通过“peimg”工具来查看我们已安装的组件,和安装新的组件,之后我们会重新封装这个映像并从最终的映像文件中删除所有未安装的程序包,来有效地减少整个映像的大小,最后将我们修改过的 VistaPE 制作成一个 ISO 文件,供我们稍候在虚拟机实践硬盘启动 VistaPE 中使用。具体步骤如下:
      1、装入基本的 VistaPE 映像,也就是将 winpe.wim 文件内容影射到我们的 mount 目录中,并且我们可以对其进行修改。
InBlock.gifimagex /mountrw c:vistapewinpe.wim 1 c:vistapemount
      2、查看当前映像中已经安装的内置组件支持,并安装我们需要的内置组件。
InBlock.gifpeimg /list c:vistapemountwindows
           注:在 INS 列中,(+)表示已经安装的组件包,(-)则表示为安装的组件包。下图则显示了默认映像中内置组件的安装情况。
          如果要安装其中未安装的组件我们则使用参数“/install”即可,具体的命令如下:
InBlock.gifpeimg /install=*HTA* c:vistapemountwindows
          注:其中“*HTA*”即“WinPE-HTA-Package”,为了快速执行可以使用通配符。此外,官方文档中提及的“WinPE-SRT-Package”组件并不包含在我下载的简体中文版的WAIK中。
      3、准备映像,删除我们未安装得组件,以减少映像大小。
InBlock.gifpeimg /prep c:vistapemountwindows[code]
      4、重新封装映像,将更改提交至映像。
 
InBlock.gifcode] imagex /unmount c:vistapemount /commit
          注:在提交更改前,请找到本机“%windir%system32winload.exe”这个文件拷贝到“C:vistapemountwindowssystem32”下,因为根据实际测试发现WAIK自带的原始模板中并没有这个文件,由此会导致我们以硬盘启动 VistaPE 时因无法找到文件而启动失败。
      5、替换默认的 Boot.wim 文件。
InBlock.gifcopy c:vistapewinpe.wim c:vistapeisosourcesoot.wim
      6、因为是制作硬盘启动的 VistaPE ,所以我们要先制作一张 CD-ROM 的 ISO 镜像文件,以便我们在虚拟机中测试。
InBlock.gifoscdimg -n -bc:vistapeetfsboot.com c:vistapeiso c:vistapevistape.iso
      在晚上上述的准备工作后,我们就可以开始实践以硬盘方式启动 VistaPE,因为 Vista 使用 BCD 来替换 boot.ini,所以我们需要使用BCDEdit(管理 BCD 存储的命令行工具)来重新生成我们的启动配置文件。为此,打开我们事先准备好的虚拟机(内存应该分配512M,否则将导致 VistaPE 运行失败),并载入我们上面制作好的 ISO 文件。成功引导进入 VistaPE 系统后,打开命令行模式,用 diskpart.exe 为硬盘重新分区格式化,并将 ISO 中的 VistaPE 解包至硬盘上,并重新生成硬盘引导用的 BCD 文件。具体步骤如下:
      1、首先我们进入 VistaPE 命令行模式,准备硬盘驱动器。
InBlock.gifdiskpart    
InBlock.gif
InBlock.gifselect disk 0
InBlock.gif
InBlock.gifclean
InBlock.gif
InBlock.gifcreate partition primary size=512
InBlock.gif
InBlock.gifselect partition 1
InBlock.gif
InBlock.gifactive
InBlock.gif
InBlock.gifformat fs=ntfs
InBlock.gif
InBlock.gifexit
InBlock.gif
      2、将 VistaPE 文件复制到硬盘。
d:imagex /apply d:sourcesootwim 1 c:    

xcopy d:oot*.* /e /f c:oot

copy d:ootmgr c:

del c:ootcd

      3、配置 BCD 存储,重新生成引导配置文件。
bcdedit -createstore c: empBCD    注:如果提示错误,请现在C盘下建立temp这个目录
bcdedit -store c: empcd -create {bootmgr} /d "Microsoft Boot Manager"

bcdedit -store c: empcd -set {bootmgr} device boot

bcdedit -store c: empcd -create /d "Microsoft Windows Vista PE" -application osloader

bcdedit -import c: empcd

注:在上面的命令中惠返回一个 GUID 值,请记录下来并替换下面命令行中的 GUID。
bcdedit -store c:ootcd -set GUID osdevice partition=c:

bcdedit -store c:ootcd -set GUID device partition=c:

bcdedit -store c:ootcd -set GUID path windowssystem32winload.exe

bcdedit -store c:ootcd -set GUID systemroot windows

bcdedit -store c:ootcd -set GUID winpe yes

bcdedit -store c:ootcd -set GUID detecthal yes

bcdedit -store c:ootcd -displayorder GUID -addlast

      至此我们就完成了计算机的准备工作没,现在可以重新启动计算机并从硬盘启动 VistaPE。以硬盘启动 VistaPE 的过程就完成了,在 BCD 生成过程中会涉及到一个 GUID (全局统一标识符),这个 GUID 生成的算法可能用到了以太网卡地址、纳秒级时间、芯片ID码或许多可能的数字,由于猜测可能我们制作出来的硬盘启动的 VistaPE 不能应用在所有的计算机或移动硬盘上,具体成功与否我们还有待测试,可能会出现的关键阻碍就是我们在移动硬盘上制作的硬盘方式引导的 VistaPE,并不能在所有的计算机上运行。希望结果不会是这样的。
      好了,以硬盘启动的 VistaPE 制作过程到这里就告一段落,实际测试表明以硬盘方式启动 VistaPE 时,启动速度确实快了不少,而且当计算机内存为128M时仍然正常启动运行,当然在 VistaPE 中作的修改也会得到保存。
      此外发现一个有趣的现象,使用硬盘启动 VistaPE 后,硬盘上的 C 盘盘符会自动变为X,当用其他介质引导时磁盘盘符会恢复为 C,也就是说微软将 VistaPE 默认引导磁盘盘符定义为 X ,而且是无法更改的。
      关于移动硬盘使用硬盘启动方式的 VistaPE 测试结果我会尽快向大家提供,也希望大家能继续关注我的 Blog,我也非常愿意与大家分享我的心得体会。



本文转自 苏繁 51CTO博客,原文链接http://blog.51cto.com/goxia/220337,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IxChariot是一款世界著名的网络测试工具(里诺下载站提供),它通过模拟真实应用流来预测现实负载情况下的网络设备和系统的性能。 IxChariot测试系统包括IxChariot控制台、测试端点(Performance Endpoint)和IxProfile。IxChariot测试系统通过在数千个网络节点上模拟上百种协议,提供详尽的网络性能评估和设备测试。使用IxChariot可以全面的评估在有线网络或者无线网络上运行各种应用程序时的性能特性。   【软件特点】   1.提供了192个应用脚本,以仿真各种企业应用、Triple Play 和Internet流量   2.支持L4(传输层)上的真实应用行为   3.支持使用应用群组(Application Goups)创建独立的控制层面和数据层面行为   4.使用IxProfile 和IxChariot SDK量身定做指定功能的脚本   5.创建复杂的有QoS或无QoS的IPv4和IPv6的流量模型   6.可以测定吞吐量、抖动、丢包率、端到端延迟、MOS值和MDI值   7.支持诸如RSSI等802.11客户端状态统计与IP统计的无缝关联。   8.可以评定新技术的影响,比如VoIP、IPv6和组播视频   9.支持嵌入定制的净荷内容,用于测试网络上的特定数据流   10.能够通过分割测试性能低劣的网络环节和设备,对关键性能问题进行故障定位   11.可以评测IPTV频道“zap”时间   12.可以测试高BDP网络,例如卫星链路和10G以太网   13.用Ixia的硬件测试平台可以生成2-3层线速流量与IxChariot生成的应用流量模型一起运行

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值