Win7/R2 原生VHD 启动 详解
 
转载自:http://ce.sysu.edu.cn/hope/Education/ShowArticle.asp?ArticleID=7715

  以前,虽然听说过这个特性,但一直没有尝试过。
  最近有机会尝试了一下,本以为是很难的东西,但实际操作起来,还是很简单的。首先,先解释一下什么是原生 VHD 启动(Native VHD Boot)?
  实际上,Win7 可以启动 VHD 里面的系统,并且里面的系统知道运行在 VHD 磁盘上。
  那么 VHD 是什么?VHD 是 MS 的虚拟硬盘文件,实际上,如果用过 VPC,Virtual Server,Hyper-V,Windows Virtual PC。那么你应该也会知道了。
  现在大家应该知道这个启动是怎么回事了,如果还没有理解,可以这么想想一下,在 Win7 内核以及启动引导中,增加了对 VHD 文件的磁盘控制器的虚拟硬件。

  好的,接下来,说说要求和限制
  要求
  VHD 启动需要依赖一下几点:
  1. 磁盘上至少有 2 个分区:一个值作为启动的,另一个是用来存放文件的。(注意不要加密)
  2. 包含 VHD 文件的分区必须拥有足够大的可用空间。(稍后说明)

  限制
  1. 原生 VHD 有一下限制:
  2. 原生 VHD 启动 只支持下列版本:
    Windows 7 Enterprise
    Windows 7 Ultimate
    Windows Server 2008 R2
  3. 原生 VHD 磁盘最大附加 VHD 文件并行数量约为 512 个。
  4. 原生 VHD 启动不支持系统休眠,但睡眠还是支持的。(不知道什么是休眠,睡眠的看这里 http://www.hackline.net/a/school/xtrm/2009/0823/227.html)
  5. VHD 文件不能嵌套。即不能 VHD 下的 VHD 文件。
  6. 原生 VHD 启动不支持服务器消息块 (SMB) 共享。(说实话,这个我也不是太清楚,虽说 Windows 的共享就是这个。)
  7. 不能在 VHD 文件卷上使用 Bitlocker 加密,并且在 VHD 内部的卷也不能使用 bitlocker 。
  8. VHD 的父文件不能是卷快照的一部分。
  9. 附加 VHD 磁盘不能被配置成动态磁盘。
  10. VHD 的父文件不能被配置成动态磁盘。

  要强调的是,
  VHD 启动不仅需要 Win7 的启动引导,还需要 Win7 系统,即 VHD 里面的安装的是 WIn7 或者 WIn2008 R2。想安装 XP 是不可能的了。
  那么,接下来说说制作步骤。
  整个过程大概分成 2 部分。
  1、准备 VHD 镜像
  2、部署 VHD 镜像

  1、准备 VHD镜像文件

  这个部分又分成 2 中方式,一是从 安装镜像中,直接提取系统文件。二是在虚机中安装系统,然后使用 sysprep 进行封装。

  1.1 从安装镜像提取文件
  这个需要用到 Windows(R) 7 的 Windows(R) 自动安装工具包 (AIK) 中的 ImageX 工具。
  在开始之前,先说一下,我的实验环境是 Win2008 R2 虚拟机 ,并且已经安装了 Win7 的 AIK。
  为了以后的方便,(为了以后),先把安装光盘中的文件复制到硬盘上, 例如 D:/Sources

  首先是建立 VHD 磁盘,步骤如下:
  1: 在单击开始,输入 "Diskmgmt.msc”,启动磁盘管理。

  2: 单击 “显示/隐藏控制台树”(位于“磁盘管理”中)按钮。

  3: 在“磁盘管理 (框线项目)”上右键单击。

  4: 单击“创建 VHD (菜单项目)”。

  5: 单击“浏览(B)... ” ,并选择一个虚拟磁盘的保存位置, 并起一个文件名,这里是 "Test.vhd”,然后单击保存。

  6: 选择一个磁盘类型,这里选择“动态扩展 (D) ”。(注:选择哪个都可以,只不过,选择固定的创建起来有点费时,另外,后期可以通过虚拟机的磁盘管理器进行转换。)

  7: 在“虚拟硬盘大小(S): ”  输入要创建的虚拟硬盘大小,这里输入 "60” 单位选择 "GB”,然后单击确定。 (注:有关这个大小的注意,请看后面)

  8: 在“磁盘管理”中,右键单击新建的磁盘 行头,选择“初始化磁盘(I) ”。

  9: 在弹出的“初始化磁盘”对话框中,选择需要初始化的磁盘,并单击“确定”。

  10: 右键单击 虚拟磁盘的空白区域,选择“新建简单卷(I)... ”。

  11: 按照“新建简单卷向导”中的提示操作,创建一个新的分区。

  再来就是提取安装镜像文件

  1: 单击“开始”,“所有程序”, "Microsoft Windows AIK” ,单击“部署工具命令提示 ”,打开 PE 环境控制台。(如果不这么做的话,会提示 ImageX 文件无法找到,当然,你也可以指定完整路径)

  2: 在“管理员: 部署工具命令提示”中输入 "imagex /apply "D:/Sources/Win7 X64/sources/install.wim" "Windows 7 ULTIMATE" g:/”,展开镜像
  (解释一下,Imagex 是 WIM 的编辑的工具,/apply 是解压,"D:/Sources/Win7 X64/sources/install.wim" 是 Win7X64 安装盘所在位置(install.wim 是固定的), "Windows 7 ULTIMATE" 是 Win7 版本,这个是必须是影响中已经存在的,可以通过 "imagex /info 安装镜像 WIM 文件 "D:/Sources/Win7 X64/sources/install.wim" ”来查看 g:/  要解压到的位置)

  好,到此为止就算解压完镜像文件了。
  如果你想放入自动应答,让安装程序自动完成一部分。可以现在就做,否则,跳过。

  1、定位到虚拟磁盘上的 Windows 目录下,然后新建一个文件夹,名字是 "Panther”(注:一定要是这个名字)
  2、然后将应答文件复制到这个目录中,并重命名为 "unattend.xml”。(注:一定要是这个名字)
  3、如果应答文件中,使用了其他工具或者批处理文件,请将这些文件复制到对应的路径中。

  那么接下来,就是卸载 VHD 虚拟磁盘文件了

  1: 打开“磁盘管理”,在虚拟磁盘的行标头上右键单击,选择“分离 VHD ”。

  2: 在“分离虚拟硬盘”对话框中单击“确定”,即可分离磁盘了。

  1.2 使用虚机制作 VHD 文件
  其实,使用虚机制作,就是用虚机去来安装系统,然后把 VHD 文件拿出来的过程。
  这里我以 Hyper-V 虚机为例,进行演示。

  1、打开“Hyper-V 管理器”,在操作中选择“新建”,“虚拟机”。

  2、在打开的“新建虚拟机向导”对话框,单击下一步,输入虚机的名字,然后单击下一步。

  3、设置分配给虚机的内存,这里输入1024,即 1G,然后单击下一步。(注:内存最少可以是 512M,最大是物理内存大小,请根据具体情况选择合适大小)

  4、配置网络,选择一个可用的网络,如果想配置干净的虚机,可以不设置或者选择一个不能上网的测试网络,免得安装补丁,单击下一步继续。

  5、创建虚拟磁盘,可以创建一个新的虚拟磁盘,也可以选择一个现有的,单击下一步继续。(关于虚拟磁盘的大小问题,稍后会有说明)

  6、设置安装光盘镜像的位置,单击下一步继续。

  7、单击 “完成”,开始创建虚机。

  8、在“Hyper-V 管理器”中,选中新建的虚机,单击操作中的连接。

  9、启动虚机,并安装系统。

  10、(可选)如果希望减少以后安装的麻烦,可以现在先安装上必要的工具。(如:VS,输入法,什么的)(注:虚机插件可以不用安装,Win7 自带了对 Hyper-V 的驱动)

  11、封装系统,用管理员权限打开命令行, 执行如下命令:(如果怕出问题,可以先做个备份或者快照)

  如果,你安装的系统是 WIn7,请先执行这个,否则封装将会出错。Win2008R2 没有这个问题。
  "Net stop WMPNetworkSvc”
  (关闭 "Windows Media Player Network Sharing Service” 服务)
  "cd %windir%/system32/sysprep”
  "sysprep.exe /oobe /shutdown /unattend:win7.xml”
  (/unattend 是 设置自动应答文件的,如果不需要可以不指定)

  当封装完毕后,虚机系统会自动关闭。
  然后,我们可以在优化一下 VHD 文件的大小。

  1、参考上一部分的内容,将 VHD 文件附加到计算机上。
  2、然后 清理一下 VHD 的虚拟磁盘上的东西,比如可以删除页面文件(pagefile.sys),还有者临时文件夹的内容。
  3、清理完后,卸载 VHD 镜像。
  4、在“Hyper-V 管理器”中,选中对应的虚机,然后单击 右边的“设置”。
  5、选中“硬盘驱动器”,确认磁盘文件所在位置。
  6、在“Hyper-V 管理器”中选择,“编辑器磁盘”。

  7、在“编辑虚拟磁盘向导”对话框中单击下一步继续。

  8、选择刚才确定文件位置,然后单击下一步继续。

  9、选择“压缩”,然后单击下一步。

  10、单击确定,开始压缩 VHD。

  好,这样就获得了 VHD 系统文件。
  VHD 的准备就到此结束了。
  然后就是系统部署了。
  (压缩之后,一般可以大幅度的减少大小,我这成功的将 40G 清理到 30G,这样在部署下载时候,能提高速度。)

  2、部署 VHD 文件

  部署 VHD 也分成 2 个部分,一个是裸机部署,一个是在已有系统上进行部署。
  那么先从裸机部署开始。
  在开始之前,请先把要部署的 VHD 文件放到 共享中,或者 FTP 中。
  2.1 裸机部署 VHD 文件
  所谓的裸机,是指硬盘上没有系统,或者要把原有硬盘内的东西清理掉,从而,机器中没有启动引导的一种状态。

  1、使用 Win7 或者 Win2008 R2 的安装光盘,U 盘也可以,启动机器。(注:在启动之前,可以往 U 盘中复制一些 FTP 工具等,方便操作。至于使用是 X64 位还是 X86 安装盘,请根据 VHD 文件内的系统类型选择。还有 X64 的安装盘启动的 PE 里面也是 X64 的,精简掉了 32 位运行子系统,所以工具需要是 64 位版的)
  2、进入安装界面后,选择好正确的语言,单击“下一步”。

  3、选择“修复计算机”,稍等一会,之后出来系统恢复选项,单击下一步,然后选择“命令提示符”。

  4、可以先输入 "start” 命令,打开一个新的命令行窗口, 然后在输入 "startnet” 开启网络支持。

  5、切换到另一个窗口,输入 "Diskpart”,对系统进行分区。
  6、(可选)清除硬盘上的分区,在命令提示窗口中输入:
  List Disk 查看系统上磁盘
  Select disk 1 选择一个系统硬盘,根据上面返回的索引信息。
  Clean 清除磁盘上的所有内容。

  7、创建系统分区(用于启动引导)。例如,这里建立一个 100MB 的系统分区。在命令提示窗口中输入:
  create partition primary size=100
  format quick fs=ntfs
  assign letter=s
  active
  创建分区
  格式化
  分配盘符
  激活(非常重要)

  8、接下来在创建一个主分区。例如,可以用剩余空间。在命令提示窗口中输入:
  create partition primary
  format quick fs=ntfs
  assign letter=c

  9、接下来,将 VHD 复制到计算机上,切换到另一个命令窗口。

  如果使用 Windows 共享,请按一下步骤操作
  先用 Net use 连接网络共享文件夹,如果提示要用户名话,建议输入“机器名/用户名”的形式
  net
  use y: //network_share/
  然后复制 VHD 文件到本地磁盘 copy y:/Windows7.vhd c:

  如果使用 FTP 的话,建议使用第三方工具,系统内部的 FTP 因为一些问题无法正常工作。

  10、下载完成后,就可以附加 VHD 文件到系统了,切换回原来的窗口。这里假设 VHD 文件名字是 "Windows7.vhd”,在命令提示窗口中输入:
select vdisk file=c:/windows7.vhd
attach vdisk

  11、当附加完 VHD 文件之后,系统会自动分配一个盘符。可以通过卷列表查看盘符。在命令提示窗口中输入:
list volume

  12、使用 BCDboot 工具(位于 VHD内的Windows/System32 或者 Windows PE 媒体中),来将启动环境文件从 VHD 中的 /Windows 文件夹复制到系统分区。BCDboot 工具会自动创建 BCD 配置文件来启动 VHD。有关 BCDboot 的更多信息,请看本文最后的参考。
  cd v:/windows/system32
  bcdboot v:/windows /s s:
(v 是附加VHD文件的卷的盘符)

  13、这完成后就可以分离VHD文件了。在命令提示窗口中输入:
  select vdisk file=c:/windows7.vhd
  detach vdisk
  Exit

  14、重启计算机。

  2.2 在已有系统的机器上 部署原生VHD启动

  其实,这个部分,可以换一个说法。就是将 VHD 文件添加到启动菜单中。
  1、先将 VHD 文件复制到本地机器。
  2、使用管理员模式打开命令行。
  3、复制已有的启动引导,然后使用 VHD 信息来修改启动数据。

  bcdedit /copy {current} /d "vhd boot (locate)"

  (注:/d 后面的是显示的启动名字,可以自定义,中文也可以,但如果你的系统不是中文的,会乱码。)
  当成功执行完这个命令后,会返回一个 {GUID} 字符串。
  4、复制上一个命令输出的 {GUID} 字符串,以便之后使用。
  5、设置 VHD 启动项目的 device 和 osdevice 选项。
  bcdedit /set {guid} device vhd=[locate]/windows7.vhd
  bcdedit /set {guid} osdevice vhd=[locate]/windows7.vhd

  (将 {GUID} 替换成 之前复制的内容, [locate] 内容换成本地盘符)
  6、在某些 x86 系统中需要在启动配置中设置一个选项,来探测硬件信息。

  bcdedit /set {guid} detecthal on

  7、重启计算机

  重启玩之后,Windows 启动管理器将会启动 VHD 文件中包含的系统。
  之后就可以随意使用了,和正常的使用没有多少区别。

  大家可能会有一些疑问,那么接下来,我来做一些回答。
  1、从 VHD 启动之后的系统,到底是运行在虚拟机上?还是直接运行在物理硬件之上?
答:是运行在物理硬件上。在 Win7 以及 WIn2008 R2 中的引导程序和系统本身都包含了对 VHD 文件的读写(虚拟)驱动程序,以及虚拟的 VHD 磁盘控制器。不要被这个虚拟所误导,这里指的是模拟硬件,比如最常见的虚拟光驱。因此我们可以在启动计算机的时候,访问 VHD 并且从其上启动;也可以在 Windows 7 中直接创建、加载和卸载 VHD 文件。不过行为有些不同,这些驱动是在系统内核中的,系统本身也会知道自己运行在 VHD 文件上。因此,会把虚拟内存文件放到非 VHD 磁盘的物理磁盘上,也不会写入到 VHD 内部。

  2、从 VHD 启动,还需要哪些必备的条件?
  答:对于 VHD 启动本身,对硬件并没有多少要求,只能能运行系统即可。不过对于软件方面来说,系统必须是以下版本,
  Windows® 7 Enterprise
  Windows® 7 Ultimate
  Windows Server 2008 R2

  XP 和 Vista 是不行的,因为驱动问题。而 Win7 的版本必须是企业版之上,这个策略限制,如果版本不对的话,会提示不支持,然后关机的。

  3、是否会有性能的损失?
  答:会有一些损失,但很小可以忽略。主要原因是对文件系统读写访问的时候,需要经过额外的一层 VHD 读写驱动的解析,这里面有一些微量的 I/O 性能开销,但是跟虚拟化的情况相比,性能基本上接近了真机。下图是在网上找到的测试资料,有一组直接读取硬盘和读写 VHD 的比较,性能差别微乎其微。

  4、VHD 文件格式如何选择?
  答:VHD 文件分为 固定,动态扩展 还有差异 三种格式(其实,还有一种 连接到物理磁盘的格式,不过这里用不上)
  首先是固定,固定是固定大小,在建立完磁盘后,用空数据填充,使其达到设置的磁盘大小。
  动态是根据写入信息的多少,动态的增加磁盘大小。(当然,这种情况下,容易产生磁盘碎片)
  差异是一种父子关系,新建立的磁盘会保存和源盘不相同的内容。
  这3种类型选择哪个都可以,不过对于性能来说,应该选择 固定的。但 固定的建立需要填充文件,所以非常占用时间。
  不过,这里要说的是,经过我的测试发现,不管选择什么类型的 VHD,在使用它启动系统后,都会变成固定的。
  也就是说,如果你设置 VHD 文件有 127G,那么通过它进入系统后,你会看到 VHD 文件变成 127G。
  因此,如果 VHD文 件所在的磁盘空间不够的话,将会无法启动系统。
  (如果是动态磁盘的话,在关机之后,文件会变回实际大小)
  但这个有个例外,就是差异文件。使用差异的话, 父盘的大小是不会变动的。
  个人比较推荐 差异,可以使用这个来建立多个系统。
  差异文件的建立方法是在 Diskpart 中,输入以下命令
  create vdisk file="D:/pathToVhd.vhd" parent="D:/pathtoparent.vhd"
  (就是用 Parent 来指定父文件)

  下图就是一个事例,Win7Base.vhd 是父盘,Win7Disk.VHD 是当前正在使用的系统文件。 可以看到 它的大小 已经变成了设置的最大大小(127G)

  另外,也可以看到页面文件 ,因为 VHD 文件本身会有一点性能损失,加上一些其他问题等,所以 页面文件不会放到 VHD 文件内部。

  5、在裸机部署完之后,重启后,看到菜单是英文的?
  答:是的。即使你用的是中文版的安装盘在第一次启动的时候,也是英文的,但不要紧,进入系统之后,下次重启时就会变成中文的了。主要原因是,在设置启动引导项目的时候,默认的语言是 en-us,而不是 zh-cn。

  6、是否可以挂接 X64 和 X86 系统?
  答:可以。在启动引导中添加相应的条目即可。如果使用的是 PE 环境部署的,建议使用 PE 里面的 bcdboot 来设置启动项。
(有待补充)

  参考
  Understanding Virtual Hard Disks with Native Boot
  http://technet.microsoft.com/en-us/library/dd799282(WS.10).aspx
  Walkthrough: Deploy a Virtual Hard Disk for Native Boot
  http://technet.microsoft.com/en-us/library/dd744338(WS.10).aspx
  Add a Native-Boot Virtual Hard Disk to the Boot Menu
  http://technet.microsoft.com/en-us/library/dd799299(WS.10).aspx
  Windows 7对VHD文件的内建支持
  http://blogs.technet.com/fyu/archive/2009/01/19/windows-7-vhd.aspx
  从VHD文件启动计算机
  http://blogs.technet.com/fyu/archive/2009/01/19/vhd.aspx
  深入研究Windows 7中的Virtual Hard Disk (VHD) 技术
  http://blogs.technet.com/fyu/archive/2009/01/21/windows-7-virtual-hard-disk-vhd.aspx
  再谈从虚拟磁盘文件启动计算机
  http://blogs.technet.com/fyu/archive/2009/02/01/3195439.aspx
  BCDboot 命令行选项
  http://technet.microsoft.com/zh-cn/library/dd744347(WS.10).aspx
  BCDEdit 命令行选项
  http://technet.microsoft.com/zh-cn/library/cc709667(WS.10).aspx>

  使用工具
  Windows(R) 7 的 Windows(R) 自动安装工具包 (AIK)
  http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=zh-cn

  最后附上一个自动应答文件,也可以使用 “Windows 系统映像管理器”创建一个。
  请自行替换XML中【】内容

   1<?xml version="1.0" encoding="utf-8"?>
  2<unattend xmlns="urn:schemas-microsoft-com:unattend">
  3    <servicing></servicing>
  4    <settings pass="oobeSystem">
  5        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  6            <OOBE>
  7                <HideEULAPage>true</HideEULAPage>
  8                <ProtectYourPC>1</ProtectYourPC>
  9            </OOBE>
10            <RegisteredOrganization>【组织名称】</RegisteredOrganization>
11            <RegisteredOwner>【所有者】</RegisteredOwner>
12            <OEMInformation>
13                <Manufacturer>【组织名称】</Manufacturer>
14            </OEMInformation>
15            <WindowsFeatures>
16                <ShowMediaCenter>true</ShowMediaCenter>
17                <ShowInternetExplorer>true</ShowInternetExplorer>
18            </WindowsFeatures>
19        </component>
20        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
21            <OEMInformation>
22                <Manufacturer>【组织名称】</Manufacturer>
23            </OEMInformation>
24            <OOBE>
25                <HideEULAPage>true</HideEULAPage>
26                <ProtectYourPC>1</ProtectYourPC>
27            </OOBE>
28            <WindowsFeatures>
29                <ShowMediaCenter>true</ShowMediaCenter>
30                <ShowWindowsMediaPlayer>true</ShowWindowsMediaPlayer>
31                <ShowInternetExplorer>true</ShowInternetExplorer>
32            </WindowsFeatures>
33        </component>
34        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
35            <InputLocale>zh-CN</InputLocale>
36            <SystemLocale>zh-CN</SystemLocale>
37            <UILanguage>zh-CN</UILanguage>
38            <UserLocale>zh-CN</UserLocale>
39        </component>
40        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
41            <InputLocale>zh-CN</InputLocale>
42            <UILanguage>zh-CN</UILanguage>
43            <SystemLocale>zh-CN</SystemLocale>
44            <UserLocale>zh-CN</UserLocale>
45        </component>
46    </settings>
47    <settings pass="windowsPE">
48        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
49            <UserData>
50                <ProductKey>
51                    <WillShowUI>OnError</WillShowUI>
52                </ProductKey>
53                <Organization>【组织名称】</Organization>
54                <AcceptEula>true</AcceptEula>
55            </UserData>
56        </component>
57        <component name="Microsoft-Windows-Setup" processorArchitecture="x86"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
58            <UserData>
59                <ProductKey>
60                    <WillShowUI>OnError</WillShowUI>
61                </ProductKey>
62                <Organization>【组织名称】</Organization>
63                <AcceptEula>true</AcceptEula>
64            </UserData>
65        </component>
66        <component name="Microsoft-Windows-International-Core-WinPE"processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral"versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
67            <InputLocale>zh-CN</InputLocale>
68            <UserLocale>zh-CN
69</UserLocale>
70            <UILanguage>zh-CN</UILanguage>
71            <SystemLocale>zh-CN</SystemLocale>
72        </component>
73        <component name="Microsoft-Windows-International-Core-WinPE"processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral"versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
74            <InputLocale>zh-CN</InputLocale>
75            <SystemLocale>zh-CN</SystemLocale>
76            <UILanguage>zh-CN</UILanguage>
77            <UserLocale>zh-CN</UserLocale>
78        </component>
79    </settings>
80    <settings pass="specialize">
81        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
82            <!-- <ProductKey></ProductKey> !-->
83            <RegisteredOrganization>【组织名称】</RegisteredOrganization>
84            <RegisteredOwner>【所有者】</RegisteredOwner>
85        </component>
86        <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
87            <Identification wcm:action="modify">
88                <JoinWorkgroup wcm:action="modify">【组织名称】</JoinWorkgroup>
89            </Identification>
90        </component>
91        <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
92            <Identification>
93                <JoinWorkgroup>【组织名称】</JoinWorkgroup>
94            </Identification>
95        </component>
96        <component name="Microsoft-Windows-Security-Licensing-SLC-UX"processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral"versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
97            <SkipAutoActivation>true</SkipAutoActivation>
98        </component>
99        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86"publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
100            <RegisteredOrganization>【组织名称】</RegisteredOrganization>
101            <RegisteredOwner>【所有者】</RegisteredOwner>
102        </component>
103    </settings>
104    <cpi:offlineImage cpi:source="catalog:d:/sources/win7 x64/sources/install_windows 7 ultimate.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi"
/>
105</unattend>
106
 

Win7/R2 原生VHD 启动 详解相关推荐

  1. Win7/R2 原生VHD 启动

    以前,虽然听说过这个特性,但一直没有尝试过. 最近有机会尝试了一下,本以为是很难的东西,但实际操作起来,还是很简单的. 首先,先解释一下什么是 原生 VHD 启动(Native VHD Boot)? ...

  2. SCCM 2007 R2部署、操作详解系列之部署篇

    SCCM 2007 R2部署.操作详解系列之部署篇 导语: 大家好,我是John Cai(蔡建涛),欢迎大家来到我的博客-E网情深http://johncai.blog.51cto.com/.今天,我 ...

  3. Android中AMS工作原理,Android AMS启动详解

    启动 在Android系统启动流程中中我们提到过,AMS是在system_service中启动的, //frameworks/base/services/java/corri/android/serv ...

  4. win7系统自带的录像在哪里 Win7问题步骤记录器教程详解

    v 在我们使用系统的时候是否遇到过有些疑难杂症想找人寻求帮助,但是苦于表述不清,解决起来十分困难的情况呢?当遇到了这样的问题怎么办?快用windows 7自带的问题步骤录制器记录下问题发生的每一个瞬间 ...

  5. CentOS 开机启动详解

    优化centos开机启动项 2011年06月14日 7:21 /etc/inittab文件,把 代码: id:5:initdefault:这一行,修改成 代码: id:3:initdefault:保存 ...

  6. 嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210)

    嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210) 一.SD卡介绍 1. SD卡背景知识和特点 SD卡.MMC卡.MicroSD.TF卡:这些卡其实内部就是Flash存储颗粒,比 ...

  7. 第十一天: SD卡原理分析及SD卡启动详解

    主流的外存设备 内存和外存的区别: 一般是把这种(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存,把ROM(read only memory,只读存储器 ...

  8. Android 10.0 Activity启动详解(二)

    Android 10.0 Activity启动详解(一) 我们在上一篇博客中已经介绍了关于Activity的一些基础概念.这一篇博客我们以Android 10.0的代码来分析Activity的启动流程 ...

  9. PackageManagerService启动详解(三)之开始初始化阶段流程分析

      PKMS启动详解(三)之BOOT_PROGRESS_PMS_START阶段流程分析 Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS ...

最新文章

  1. 简单探讨JavaScript 与 TypeScript之间的联系
  2. 进程和线程的区别?什么时候用进程?什么时候用线程?
  3. 【Python-ML】SKlearn库支持向量机(SVM) 使用
  4. Go 中string和int类型相互转换
  5. xp精简工具_办公人士需要精简Win10吗?
  6. win10 利用安装包 安装 ssh
  7. c++ dll返回容器_Windows x86 Shellcode开发:寻找Kernel32.dll地址
  8. 深入理解ARM体系架构(S3C6410)---认识S3C6410
  9. 对话图灵奖得主、CNN之父Yann LeCun:我在中国看到了AI研究热潮
  10. HTML示例03---标题的对齐方式
  11. java 创建类带泛型_java-创建泛型类列表
  12. web测试要点及基本方法
  13. 计算机维护系统Win8PE,U盘启动计算机维护系统
  14. Filter过滤敏感词汇
  15. 计量论文stata代码大全
  16. yum安装vsftpd时提示:另外一个程序锁定了 yum
  17. 2015第二届上海国际机上内饰与翻新展览会
  18. java imageio temp_Java ImageIO.setUseCache方法代碼示例
  19. java数字时钟代码,Android自定义数字时钟代码,android自定义时钟,package jp.t
  20. U-Net深度学习灰度图像的彩色化

热门文章

  1. 计算机d盘hlddz是啥,tempest_qqgametempestj是会么文件,可以删除么
  2. 二叉树线索化示意图_二叉树线索化
  3. 腾讯云全站加速有哪些功能?有哪些优势?适用于什么场景?
  4. 2018清明假期旅游预测报告:全国游客人次预计破亿
  5. 解决Retrying connect to server
  6. 关于小米路由r3g,TTL刷openwrt救砖几个坑
  7. 「萌新上手Mac」安装软件,步骤超简单
  8. 推荐三款良心实用软件,让人心动
  9. linux内核源码漫游,Linux内核源代码漫游
  10. BI选型之国内外BI产品对比分析