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

Windows 8 Native VHD Boot

[ 2013/01/02 10:44 | by gOxiA ]

windows_8_logo

Windows 8 Native VHD Boot

        Native VHD Boot 相关的文章 gOxiA 之前已经写过很多了,之前貌似大伙都以 VHD Native Boot 来称呼。之所以今天要把这个话题重新拿出来分享是因为 Windows 8 已经正式发布一段时间,而且看到很多网友都在咨询如何能在不影响当前系统的前提下,安装全新的 Windows 8 进行体验!既然涉及到双系统,那么 Native VHD Boot 的方式则是最佳的选择!为了便于大家查询参考,gOxiA 本次以一台 Windows 7 的系统环境,并在其上安装 Windows 8 Native VHD Boot 为例,对执行步骤做一次路演!

        首先,我们要创建一个 VHD 文件用于承载 Windows 8 Native VHD Boot,在 Windows 7 上我们完全可以使用图形界面来完成这一步骤,当然也可以使用下面的命令行。

diskpart

create vdisk file=c:\windows8.vhd maximum=40000 type=expandable

attach vdisk

create partition primary

format fs=ntfs quick

assign letter=v

exit

        下来,我们需要使用工具将 install.wim 释放到 vhd 中,简单点还是推荐用 imagex.exe,需要的朋友点击文件名即可下载,然后执行如下命令行:

imagex /apply x:\sources\install.wim 1 v:
  

        当然也可以使用广为流传的 Install-WindowsImage Powershell Script,使用方法见其文档。这里一定要提一下 Windows 8 内置的 DISM 命令,可以直接操作 WIM 十分有用,命令行参考如下:  

dism /apply-image /imagefile:x:\sources\install.wim /index:1 /applydir:v:\
  

        最后,使用 bcdedit 命令来创建启动信息,命令行如下:  

bcdedit /copy {current} /d “Windows 8 Native VHD Boot”
  

bcdedit /set {GUID} device vhd=[c:]\windows8.vhd
  

bcdedit /set {GUID} osdevice vhd=[c:]\windows8.vhd

        至此大功告成,重新启动计算机执行后续的初始化过程最终完成 Windows 8 Native VHD Boot,理解了三大步就会明白其实 Native VHD Boot 非常简单易用!如果要在裸机上以 Native VHD Boot 方式运行 Windows 8,也非常简单,事先做个安装 U盘,启动计算机进入安装向导,调用 cmd 执行前面的第一大步创建 VHD,之后在安装向导的磁盘分区那一步刷新一下就能看到 VHD 这个磁盘卷,选择将系统安装到其上,之后一路跟着向导走都搞定了!

        很简单,不复杂!不依赖第三方的软件,安全可靠!对 Windows Server 2012 一样奏效,gOxiA 当前的本子上就是这样使用的(PS:UEFI Mode)。

Tags: , , , , , , ,

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

        为了让大家更清晰的明白 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。下面就将详细的操作步骤与大家分享!

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