以前,虽然听说过这个特性,但一直没有尝试过。
最近有机会尝试了一下,本以为是很难的东西,但实际操作起来,还是很简单的。首先,先解释一下什么是 原生 VHD 启动(Native VHD Boot)?
实际上,Win7可以 启动VHD 里面的系统,并且里面的系统知道运行在 VHD磁盘上。
那么VHD是什么? VHD是MS的虚拟硬盘文件,实际上,如果用过VPC,Virtual Server,Hyper-V,Windows Virtual PC,那么你应该也会知道了。(注:前2个可能不适用制作VHD文件)
现在大家应该知道这个启动是怎么回事了,如果还没有理解,可以这么想想一下,在Win7内核 以及 启动引导中,增加了对 VHD 文件 的磁盘控制器的虚拟硬件。
好的,接下来,说说 要求和限制
要求
VHD启动需要依赖一下几点:
- 磁盘上至少有2个分区:一个是作为启动的,另一个是用来存放文件的。(注意不要加密)
- 包含VHD文件的分区必须拥有足够大的可用空间。(稍后说明)
限制
原生 VHD 有一下限制:
- 原生VHD 启动 只支持 下列版本:
- Windows® 7 Enterprise
- Windows® 7 Ultimate
- Windows Server 2008 R2
- 原生VHD磁盘最大附加VHD文件并行数量约为512个。
- 原生VHD启动不支持系统休眠,但睡眠还是支持的。(不知道什么是休眠,睡眠的看这里http://www.hackline.net/a/school/xtrm/2009/0823/227.html)
- VHD文件不能嵌套。即不能VHD下的VHD文件。
- 原生VHD启动不支持 服务器消息块(SMB)共享。(说实话,这个我也不是太清楚,虽说Windows的共享就是这个。)
- 不能在VHD文件卷上使用 Bitlocker 加密,并且 在VHD内部的卷也不能使用 bitlocker 。
- VHD 的父文件不能是卷快照的一部分。
- 附加VHD磁盘不能被配置成动态磁盘。
- 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文件拿出来。(注:VPC ,Virtual Server 安装的系统在部署后可能会有问题)
这里我以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、选中 “硬盘驱动器”,确认磁盘文件所在位置。
5、在“Hyper-V 管理器”中选择,“编辑器磁盘”。
6、在“编辑虚拟磁盘向导“对话框中单击下一步继续。
7、选择刚才确定文件位置,然后单击下一步继续。
8、选择 “压缩”,然后单击下一步。
9、单击确定,开始压缩VHD。
好,这样就获得了VHD系统文件。
VHD的准备就到此结束了。
然后就是系统部署了。
(压缩之后,一般可以大幅度的减少大小,我这成功的将40G清理到30G,这样在部署下载时候,能提高速度。)
2、 部署VHD文件
部署VHD也分成2个部分,一个是裸机部署,一个是在已有系统上进行部署。
那么先从裸机部署开始。
在开始之前,请先把要部署的VHD文件放到 共享中,或者FTP中。
2.1 裸机部署VHD 文件
所谓的裸机,是指硬盘上没有系统,或者要把原有硬盘内的东西清理掉,从而,机器中没有启动引导的一种状态。
1、使用 Win7或者Win2008R2的安装光盘,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 来设置启动项。
7、部署方法有何区别?
答:实际上,部署主要是将启动信息添加到系统的启动菜单中。
有2个方法,使用BCDEDIT或者使用BCDBOOT,不管使用哪种部署,都可以使用。只不过后者需要先挂上VHD磁盘。
(有待补充)
最后附上一个自动应答文件,也可以使用 “Windows 系统映像管理器”创建一个。
请自行替换XML中【】内容
unattend
1
<?xml versinotallow="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
参考:
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)