欢迎光临,这里是 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。下面就将详细的操作步骤与大家分享!

HOWTO:制作 Windows 7 加速部署映像

        加速部署映像 - 也就是我们通常说的系统模板,通常我们为了提高 Windows 的安装速度,会事先制作一套包含驱动、应用软件、补丁程序以及自定义设置的标准化系统。这样我们在使用该加速部署映像完成安装后,就可以让用户直接使用,不仅在安装方面大大缩短了时间,也提高了用户的体验。

        在 Windows XP 时代,我们在定制完毕系统后为了能够让该加速部署映像用于不同 HAL 的电脑,还需要人工执行很多复杂繁琐的操作,最后再使用 Sysprep 执行系统封装准备,完成后对系统打包。如果要实现自动安装,事先还需要使用 setupmgr 制作一份用于 Sysprep 的应答文件。

        自 Windows Vista 开始,Windows 的安装和部署发生了质的变化,到了 Windows 7 更是得到了完善和加强。现在我们使用 Sysprep 的 generalize 参数即可制作出一套不受 HAL 限制的通用映像。而自动应答文件富含更多地功能和设置,我们现在需要借助 WAIK(Windows Automated Installation Kit)这个新的 Windows 自动安装工具包来制作 Windows 的应答文件。由于 Windows 安装方式的改进,过去零散的安装文件都被打包在以扩展名为 WIM 的文件中,此外由于采用了文件方式的存储,WIM 不受磁盘大小的约束,能够很轻易的部署到不同容量的分区卷上,并且在释放 WIM 后文件都将紧密排列存储。这样我们维护或部署映像也将更将方便快捷。

        由于 Windows 7 的一些新特性,如:系统 oobe 阶段必须创建一个新用户;经过定制后将当前用户配置文件应用于默认用户配置,则需要借助  WAIK 在 specialize 阶段通过 CopyProfile=true 来实现。导致我们不能像以往 Windows XP 那样制作定制的加速部署映像。在 WAIK 的帮助文档中提供了多种安装部署方式的标准流程,鉴于一些环境因素的约束,gOxiA 采用如下的流程来制作 Windows 7 的加速部署映像。

image

        本次测试环境是在 Hyper-V 中创建了一个 Windows 7 的虚拟机,标准安装时直接 Mount 的 Windows 7 Pro ISO,使用虚拟化来创建加速部署映像是非常方便的。如果打算在物理机上实施则可以使用安装光盘、移动U盘或网络安装等方式执行标准化安装。

        使用集成 imagex 等小工具的 WinPE v3.0 工具盘可以说为很多朋友解决了不少的问题。gOxiA 一直以来也都擅长喜好使用 imagex 来执行系统备份,诸如此类的优势说明在过去的日志中也经常提到,这里就不再复述。而今天要与大家分享的经验是最近 gOxiA 遇到一个问题,而过去也曾经历过只不过未有留意,而这次遭遇同类问题在解决之后认为有必要大家分享,帮助大家避免发生同类的问题。

        起因是这样,gOxiA 的 Blog 服务器前段时间曾出现不稳定的状况,在对系统执行优化后决定对磁盘执行一次碎片整理,毕竟这个基于 Windows Server 2008 Web 的虚拟服务器已经运行了近17个月。随即在夜间进行了磁盘整理工作,第二天一早发现悲剧降临了,在执行碎片操作前,gOxiA 忽略了这台虚拟服务器使用的是动态类型的磁盘,而虚拟磁盘文件所在的分区卷容量还小于这个动态类型磁盘的容量,结果可想而知。系统启动后无法登录,提示磁盘已满,而存储卷显示剩余0字节。之前决定使用 VMWare 的压缩工具进行压缩,但都以失败告终。现在唯一的可行办法就是使用 WinPE 引导系统,挂载一个空的虚拟磁盘并使用 imagex 将原系统映像备份出来,因为 imagex 是以文件方式来执行数据拷贝的,所以新生成的映像恢复到新的虚拟磁盘上将不会有任何问题,初次之外还起到了磁盘整理的效果,因为 imagex 恢复后的文件时顺序排列的。经过一番折腾,总算把备份的映像释放到了新的虚拟磁盘上,然后挂载到虚拟机上启动系统,但是出现了 winload.exe 0xC000000E 故障。

winload_0xc000000e

        该故障引发的原因很简单,因为 bcdboot 中的引导信息是与硬盘所关联的,因为映像释放到了新的虚拟磁盘上,就相当于更换了硬盘,那么势必导致硬盘唯一标识变更,最终导致该故障的发生。而早先 gOxiA 使用 imagex 用于部署系统,不是将备份恢复到原硬盘就是使用 sysprep 后部署到其他硬盘上。此外,在部署 Windows 7 和 Windows Server 2008 R2 时因为系统设计的变化,默认安装系统时会自动生成一个 100M 大小的分区存储引导信息,而通常我们只备份系统盘,而在使用 imagex 恢复映像后都需要使用 bcdboot 命令创建引导信息。OK,到这里我们已经改如何解决这个故障信息了,除了使用 Windows 安装光盘引导进行修复以外,我们还可以使用手头现有的 WinPE 光盘进行命令行方式的修复。为此,我们使用 WinPE 引导盘引导系统,执行如下命令:

bcdboot c:\windows /s c:

        执行完这条命令之后我们就可以进行正常的启动了,但是问题还并未真正解决完。因为你会发现启动过程会显示 boot manager 菜单,而其中包含了两个名称相同的系统引导项,此外还会发现当前的引导菜单无法正确显示出中文字符。所以我们在前面使用 bcdboot 命令创建完引导信息之后还需要再执行如下命令,使 boot manager 采用中文版本。

bcdboot c:\windows /l zh-cn

        执行完上面两行命令后再退出 WinPE 重新引导计算机,最后使用 bcdedit 命令删除之前失败的系统引导项,整个恢复过程才算正式结束。

        保持清醒的头脑,认真分析之后再进行操作才能万无一失!

Tags: ,

路演使用 VHD Native Boot 打造多系统应用环境

        搜索 gOxiA 的博客查找关于 VHD 和 Native Boot 的文章确实比较匮乏,而且都比较零散,周围的朋友当工具参考的时候,也比较麻烦,所以今天写此篇日志,路演一遍使用 VHD Native Boot 打造多系统应用环境。除此之外,再分享一些小心得体会!

        在开始之前,有必要提醒大家几个注意事项,首先要准备好 image.exe 这个工具,使用它来释放系统源;其次建议准备一个独立分区,专门用来存储这些 VHDs,比如 gOxiA 就划分出一个独立的 40G 分区,用来存放 Windows Server 2008 R2、Ubuntu,根据需要还可以放入 Windows 7 英文版或64bit 进行测试或满足其他工作需求,当然这一步也不是必须得,根据自己的喜好;最后就是准备好系统源 — Install.wim。

        一切准备就绪,就可以开始了。首先安装主系统,最好是 Windows 7,毕竟桌面平台用桌面版本最符合要求(gOxiA 长期经验,不管做什么应用,桌面的还是用桌面系统最好,其他的跑虚拟化更为合适。),此外 VHD Native Boot  只有 Windows 7 和 Windows Server 2008 R2 支持,这点要尤为注意。主系统的安装过程我就不再复述,下面进入主要环节。

        我们要做的就是创建一个虚拟磁盘(VHD),将需要的系统版本安装源释放到这个 VHD 中,然后使用 bcdedit 创建这个对应 VHD 的引导信息便大功告成。过程其实很简单,因为大部分操作都涉及命令行,所以本例将全部以命令行的方式来进行路演。

        首先,我们需要使用 Diskpart 来创建一个 VHD 文件,当然也可以参考之前的文章(Discovery support Virtual Hard Disks (新增对 VHD 的支持))进行操作。

diskpart

create vdisk file=d:\ws08r2.vhd maximum=20480 type=expandable

sel vdisk file=d:\ws08r2.vhd

attach vdisk

create partition primary

format fs=ntfs quick label=WS08R2

assign letter=v

        上面的命令行很容易理解,在D盘创建一个名为 ws08r2.vhd 大小为20G的动态扩展虚拟磁盘,并挂载到当前系统,之后为该虚拟磁盘创建一个主分区,使用 NTFS 格式进行快速格式化,将其卷标命名为 WS08R2,分配其盘符 v。

        下来我们将使用 imagex.exe 释放 Windows Server 2008 R2 安装源 install.wim 中的 Windows Server 2008 R2 Standard Edition 版本到之前的虚拟磁盘中,在当前系统上虚拟磁盘的盘符是v。

imagex /apply f:\soruces\install.wim 1 v:

        OK,一个命令就完成了,如果需要安装其他版本则可以使用 /info 参数来确定版本的 index 。

        最后,我们将使用 bcdedit 来创建这个 WS08R2 的引导信息,为此执行下列操作:

bcdedit /copy {current} /d "Windows Server 2008 R2 Standard Edition"

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

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

bcdedit /set {GUID} detecthal on

bcdedit /set {GUID} hypervisorlaunchtype auto

        如果希望 WS08R2 的引导不出现默认引导菜单,默认还是与往常一样进入 Windows 7,待需要时调用的话,可以将该引导项存储在 toolsdisplayorder 中,那么我们就需要先从 displayorder 中删除“Windows Server 2008 R2 Standard Edition”引导项,之后执行下面的命令再添加到 toolsdisplayorder 中,启动计算机时引导系统光标出现按下空格就可以进行调用,这也是 gOxiA 所推荐的,毕竟很美观不破坏整体效果。

bcdedit /displayorder {GUID} /remove

bcdedit /toolsdisplayorder {GUID} /addlast

        至此,我们就可以重新启动计算机引导 WS08R2 进行安装初始化,由于默认引导还是 Windows 7,所以当 VHD 上的 WS08R2 重新启动时需要认为干预选择通过 WS08R2 引导。通过这些操作我们还可以在当前系统上搭建出不同的应用环境满足自己的需求,gOxiA 基本上保证一套自己常用的主系统长期正常运行,再通过此法搭建出一套只用于 Hyper-V 的实验环境,满足自己的需求。有时候要进行教程录制或不同语言环境的测试,都需要一个干净的环境,所以 VHD Native Boot 也派上了大用场,总之充分利用这一颠覆性的创新特性能帮助我们解决不少问题,更多应用还有待用户来挖掘。

        最后希望今天这一路演能帮助从事微软相关工作的朋友们,嘿嘿!确实很适合一定人群的使用需求!其他更多相关文档可以在本博搜索关键字 vhd 或 native boot,为了方便大家这里提供 imagex 文件的下载:imagex.exe

[Windows 7] 探索 Windows 7 RTM ISO

[ 2009/08/13 16:26 | by gOxiA ]

探索 Windows 7 RTM ISO

        不希望因为标题而让大家最后失望,只是实在想不出来什么更贴切的主题名称,所以开头 gOxiA 先做个介绍,其实也不算什么探索。作为 MSDN 或 TechNet Plus 订阅用户,我们知道在 Windows Vista RTM 发布时,订阅中提供的是除了企业版以外的多个版本的合集.也就是当我们下载来的 Windows Vista RTM 的 ISO 中已经包含了 Starter、HomeBasic、HomePremium、Business 以及 Ultimate 这几个版本。虽然是包含了 5个版本,但是利用 imagex 的差异特性极大的缩小了存储空间!

        但是到了 Windows 7 RTM,订阅用户会发现微软并未像之处 Windows Vista RTM 那样,而是独立发布了 Starter、HomeBasic、HomePremium、Professional(Windows Vista 时命名为 Business) 以及 Ultimate,这样一来我们就需要为每一个版本下载一个拷贝!极为占用空间!

        不管微软出于什么原因最终这样发布,但是好在 gOxiA 有手工使用 imagex 来安装 Windows 7 的习惯,通过分析旗舰版的 Install.wim 文件,得知实际上这个 Install.wim 依旧包含了其他几个版本,只是安装时将根据配置文件来直接安装对应的版本。如果你想要了解你的 Install.wim 是否包含多个版本,可以使用如下命令:

imagex /info %PATH%\sources\instlal.wim

        内容大致如下:

ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Version: 6.1.7600.16385

WIM Information:
----------------
Path:        v:install.wim
GUID:        {bc90f44f-35aa-48fe-9fa0-0b6c63c6b4d7}
Image Count: 5
Compression: LZX
Part Number: 1/1
Attributes:  0xc
             Integrity info
             Relative path junction

Available Image Choices:
------------------------
<WIM>
  <TOTALBYTES>2241959924</TOTALBYTES>
  <IMAGE INDEX="1">
    <DIRCOUNT>9550</DIRCOUNT>
    <FILECOUNT>47318</FILECOUNT>
    <TOTALBYTES>7983637109</TOTALBYTES>
    <CREATIONTIME>
      <HIGHPART>0x01CA0443</HIGHPART>
      <LOWPART>0x6568BDF8</LOWPART>
    </CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01CA0463</HIGHPART>
      <LOWPART>0x76D5423C</LOWPART>
    </LASTMODIFICATIONTIME>
    <WINDOWS>
      <ARCH>0</ARCH>
      <PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME>
      <EDITIONID>Starter</EDITIONID>
      <INSTALLATIONTYPE>Client</INSTALLATIONTYPE>
      <HAL>acpiapic</HAL>
      <PRODUCTTYPE>WinNT</PRODUCTTYPE>
      <PRODUCTSUITE>Terminal Server</PRODUCTSUITE>
      <LANGUAGES>
        <LANGUAGE>zh-CN</LANGUAGE>
        <DEFAULT>zh-CN</DEFAULT>
      </LANGUAGES>
      <VERSION>
        <MAJOR>6</MAJOR>
        <MINOR>1</MINOR>
        <BUILD>7600</BUILD>
        <SPBUILD>16385</SPBUILD>
        <SPLEVEL>0</SPLEVEL>
      </VERSION>
      <SYSTEMROOT>WINDOWS</SYSTEMROOT>
    </WINDOWS>
    <NAME>Windows 7 STARTER</NAME>
    <DESCRIPTION>Windows 7 STARTER</DESCRIPTION>
    <FLAGS>Starter</FLAGS>
    <HARDLINKBYTES>3045021372</HARDLINKBYTES>
    <DISPLAYNAME>Windows 7 简易版</DISPLAYNAME>
    <DISPLAYDESCRIPTION>Windows 7 简易版</DISPLAYDESCRIPTION>
  </IMAGE>
  <IMAGE INDEX="2">
    <DIRCOUNT>9561</DIRCOUNT>
    <FILECOUNT>47403</FILECOUNT>
    <TOTALBYTES>8003795881</TOTALBYTES>
    <CREATIONTIME>
      <HIGHPART>0x01CA0443</HIGHPART>
      <LOWPART>0x6568BDF8</LOWPART>
    </CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01CA0463</HIGHPART>
      <LOWPART>0x929ACF4C</LOWPART>
    </LASTMODIFICATIONTIME>
    <WINDOWS>
      <ARCH>0</ARCH>
      <PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME>
      <EDITIONID>HomeBasic</EDITIONID>
      <INSTALLATIONTYPE>Client</INSTALLATIONTYPE>
      <HAL>acpiapic</HAL>
      <PRODUCTTYPE>WinNT</PRODUCTTYPE>
      <PRODUCTSUITE>Terminal Server</PRODUCTSUITE>
      <LANGUAGES>
        <LANGUAGE>zh-CN</LANGUAGE>
        <DEFAULT>zh-CN</DEFAULT>
      </LANGUAGES>
      <VERSION>
        <MAJOR>6</MAJOR>
        <MINOR>1</MINOR>
        <BUILD>7600</BUILD>
        <SPBUILD>16385</SPBUILD>
        <SPLEVEL>0</SPLEVEL>
      </VERSION>
      <SYSTEMROOT>WINDOWS</SYSTEMROOT>
    </WINDOWS>
    <NAME>Windows 7 HOMEBASIC</NAME>
    <DESCRIPTION>Windows 7 HOMEBASIC</DESCRIPTION>
    <FLAGS>HomeBasic</FLAGS>
    <HARDLINKBYTES>3060203459</HARDLINKBYTES>
    <DISPLAYNAME>Windows 7 家庭普通版</DISPLAYNAME>
    <DISPLAYDESCRIPTION>Windows 7 家庭普通版</DISPLAYDESCRIPTION>
  </IMAGE>
  <IMAGE INDEX="3">
    <DIRCOUNT>9779</DIRCOUNT>
    <FILECOUNT>48416</FILECOUNT>
    <TOTALBYTES>8445655979</TOTALBYTES>
    <CREATIONTIME>
      <HIGHPART>0x01CA0443</HIGHPART>
      <LOWPART>0x6568BDF8</LOWPART>
    </CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01CA0463</HIGHPART>
      <LOWPART>0xAE00FE9C</LOWPART>
    </LASTMODIFICATIONTIME>
    <WINDOWS>
      <ARCH>0</ARCH>
      <PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME>
      <EDITIONID>HomePremium</EDITIONID>
      <INSTALLATIONTYPE>Client</INSTALLATIONTYPE>
      <HAL>acpiapic</HAL>
      <PRODUCTTYPE>WinNT</PRODUCTTYPE>
      <PRODUCTSUITE>Terminal Server</PRODUCTSUITE>
      <LANGUAGES>
        <LANGUAGE>zh-CN</LANGUAGE>
        <DEFAULT>zh-CN</DEFAULT>
      </LANGUAGES>
      <VERSION>
        <MAJOR>6</MAJOR>
        <MINOR>1</MINOR>
        <BUILD>7600</BUILD>
        <SPBUILD>16385</SPBUILD>
        <SPLEVEL>0</SPLEVEL>
      </VERSION>
      <SYSTEMROOT>WINDOWS</SYSTEMROOT>
    </WINDOWS>
    <NAME>Windows 7 HOMEPREMIUM</NAME>
    <DESCRIPTION>Windows 7 HOMEPREMIUM</DESCRIPTION>
    <FLAGS>HomePremium</FLAGS>
    <HARDLINKBYTES>3439427655</HARDLINKBYTES>
    <DISPLAYNAME>Windows 7 家庭高级版</DISPLAYNAME>
    <DISPLAYDESCRIPTION>Windows 7 家庭高级版</DISPLAYDESCRIPTION>
  </IMAGE>
  <IMAGE INDEX="4">
    <DIRCOUNT>9836</DIRCOUNT>
    <FILECOUNT>48866</FILECOUNT>
    <TOTALBYTES>8326968857</TOTALBYTES>
    <CREATIONTIME>
      <HIGHPART>0x01CA0443</HIGHPART>
      <LOWPART>0x6568BDF8</LOWPART>
    </CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01CA0463</HIGHPART>
      <LOWPART>0xBC779674</LOWPART>
    </LASTMODIFICATIONTIME>
    <WINDOWS>
      <ARCH>0</ARCH>
      <PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME>
      <EDITIONID>Professional</EDITIONID>
      <INSTALLATIONTYPE>Client</INSTALLATIONTYPE>
      <HAL>acpiapic</HAL>
      <PRODUCTTYPE>WinNT</PRODUCTTYPE>
      <PRODUCTSUITE>Terminal Server</PRODUCTSUITE>
      <LANGUAGES>
        <LANGUAGE>zh-CN</LANGUAGE>
        <DEFAULT>zh-CN</DEFAULT>
      </LANGUAGES>
      <VERSION>
        <MAJOR>6</MAJOR>
        <MINOR>1</MINOR>
        <BUILD>7600</BUILD>
        <SPBUILD>16385</SPBUILD>
        <SPLEVEL>0</SPLEVEL>
      </VERSION>
      <SYSTEMROOT>WINDOWS</SYSTEMROOT>
    </WINDOWS>
    <NAME>Windows 7 PROFESSIONAL</NAME>
    <DESCRIPTION>Windows 7 PROFESSIONAL</DESCRIPTION>
    <FLAGS>Professional</FLAGS>
    <HARDLINKBYTES>3305882953</HARDLINKBYTES>
    <DISPLAYNAME>Windows 7 专业版</DISPLAYNAME>
    <DISPLAYDESCRIPTION>Windows 7 专业版</DISPLAYDESCRIPTION>
  </IMAGE>
  <IMAGE INDEX="5">
    <DIRCOUNT>9866</DIRCOUNT>
    <FILECOUNT>49019</FILECOUNT>
    <TOTALBYTES>8485352280</TOTALBYTES>
    <CREATIONTIME>
      <HIGHPART>0x01CA0443</HIGHPART>
      <LOWPART>0x6568BDF8</LOWPART>
    </CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01CA0463</HIGHPART>
      <LOWPART>0xCBBB37DC</LOWPART>
    </LASTMODIFICATIONTIME>
    <WINDOWS>
      <ARCH>0</ARCH>
      <PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME>
      <EDITIONID>Ultimate</EDITIONID>
      <INSTALLATIONTYPE>Client</INSTALLATIONTYPE>
      <HAL>acpiapic</HAL>
      <PRODUCTTYPE>WinNT</PRODUCTTYPE>
      <PRODUCTSUITE>Terminal Server</PRODUCTSUITE>
      <LANGUAGES>
        <LANGUAGE>zh-CN</LANGUAGE>
        <DEFAULT>zh-CN</DEFAULT>
      </LANGUAGES>
      <VERSION>
        <MAJOR>6</MAJOR>
        <MINOR>1</MINOR>
        <BUILD>7600</BUILD>
        <SPBUILD>16385</SPBUILD>
        <SPLEVEL>0</SPLEVEL>
      </VERSION>
      <SYSTEMROOT>WINDOWS</SYSTEMROOT>
    </WINDOWS>
    <NAME>Windows 7 ULTIMATE</NAME>
    <DESCRIPTION>Windows 7 ULTIMATE</DESCRIPTION>
    <FLAGS>Ultimate</FLAGS>
    <HARDLINKBYTES>3463057728</HARDLINKBYTES>
    <DISPLAYNAME>Windows 7 旗舰版</DISPLAYNAME>
    <DISPLAYDESCRIPTION>Windows 7 旗舰版</DISPLAYDESCRIPTION>
  </IMAGE>
</WIM>

        OK,既然已经知道 ISO 中包含了其他版本,那么我们就可以不必全部下载所有的版本 ISO,而要安装非默认的版本则可以参考 使用 imagex 手工安装 Windows 7 RTM 这篇日志。

        此外,在 gOxiA 针对 Windows 7 RTM 中文版进行测试后发现,中文版在手工释放 Install.wim 后也不再支持引导,则需要手工使用 bcdboot 来生成引导信息。

使用标准的 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 分区,那么相关操作可以忽略!

HOWTO : 解决 Windows 无法显示用于安装的可用(Could not display the images available for installation)

        当 ITPro 通过 WDS 部署 OEM 版本的 Windows Vista 时可能会遇到“Windows 无法显示用于安装的可用”故障,如下图所示:

WDS_Install_OEM_Error

        出现这个问题的原因在于,某些 OEM 版本的 Windows Vista 安装源与 MSDN 的相同包含了多个系统版本,在安装的时候,安装向导根据 pid.txt 或 autounattend.xml 里的对应值进行自动安装,所以当 ITPro 向 WDS 添加 Windows Vista 安装映像时未选中默认安装的版本,那么在通过 WDS 安装的时候就会出现该错误。如要了解相关的此类信息,可以用“OEM Boot.wim Pid”作为关键词进行搜索。

        理解了上述的说明,那么要解决这个故障问题就有了思路,我们只需要修改 Boot.wim 文件,将 Sources 目录下的 pid.txt 删除即可。这一操作需要借助 WAIK 里的 imagex 命令。大致操作如下:

imagex /mountrw c:\boot.wim 2 c:oemboot

del c:\oemboot\soruces\pid.txt

imagex /unmount /commit c:\oemboot

        注意:请事先将 OEM 安装光盘中的 boot.wim 拷贝出来,并事先建立 oemboot 这个目录。上面的命令行中的正斜杠使用的是全角字符。

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