<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/1377.htm</link>
<title><![CDATA[[Hyper-V]从UFD启动和运行Hyper-V Server 2008 R2]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Virtualization]]></category>
<pubDate>Tue, 04 May 2010 05:48:37 +0000</pubDate> 
<guid>https://maytide.net/read.php/1377.htm</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以下内容节选自我刚撰写的一篇文章，当然其中主要的操作步骤参考了TechNet Librarys，所以分享出来并无大碍！这篇日志旨在希望能以更小化的改变当前服务器的环境，来评估或实施Hyper-V。所以我们可以选择免费的Hyper-V Server 2008 R2，并使其从 USB Flash Drive（俗称：U盘）启动运行。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要实现这一目标，制作好一个承载Hyper-V Server 2008 R2运行的U盘，我们需要事先准备一个支持USB2.0规范的U盘，建议16G容量，和一份Hyper-V Server 2008 R2的安装源文件（install.wim），并在当前工作环境下安装WAIK。注意当前工作环境强烈推荐Windows 7或Windows Server 2008 R2。而目标服务器必须满足CPU支持64位（x64） 、U盘引导（Boot from USB）、硬件虚拟化（Hardware-assisted Virtualization）以及硬件数据执行保护（Hardware-enforced Data Execution Prevention）。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一步，创建一个VHD。利用diskpart命令创建一个用于存储Hyper-V Server 2008 R2的VHD文件，容量为12G，采用固定磁盘类型，并创建一个主分区，使用NTFS格式，并将其挂载到当前系统中分配盘符为R，卷标为HyperV。为此，在当前系统中的CMD环境下执行如下命令行：</p><p>mkdir c:＼hvvhd</p><p>diskpart</p><p>create vdisk file=c:＼hvvhd＼hyperv.vhd maximum=12000 type=fixed</p><p>sel vdisk file=c:＼hvvhd＼hyperv.vhd</p><p>attach vdisk</p><p>create partition primary</p><p>assign letter=r</p><p>format quick fs=ntfs quick label=HyperV</p><p>exit</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第二步，利用WAIK提供的imagex.ex命令将Hyper-V Server 2008 R2安装源（Install.wim）中的映像释放到分区R中，完成后将hyperv.vhd从当前系统中卸载。为此，执行如下命令：</p><p>imagex /apply &lt;path-to-wim&gt; 1 r:</p><p>diskpart</p><p>sel vdisk file=c:＼hvvhd＼hyperv.vhd</p><p>detach vdisk</p><p>exit</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第三步，准备U盘（UFD），还是通过diskpart命令对U盘进行分区格式化，此外还要将该分区标注为活动分区。命令如下：</p><p>diskpart</p><p>sel disk &lt;UFD-Disk-Number&gt;</p><p>clean</p><p>create partition primary</p><p>active</p><p>format fs=ntfs quick</p><p>assign letter=z</p><p>exit</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第四步，将之前制作好的hyperv.vhd拷贝到U盘上，如果当前工作环境不是Windows 7或Windows Server 2008 R2，则还需要使用WAIK中提供的bootsect命令为U盘标注为可引导。命令行如下：</p><p>copy c:＼hvvhd＼hyperv.vhd z:</p><p>bootsect /nt60 z: /force /mbr</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第五步，使用bcdboot命令在U盘上为hyperv.vhd中的系统创建引导数据。为此，执行下面的命令行：</p><p>diskpart</p><p>sel vdisk file=z:＼hyperv.vhd</p><p>attach vdisk</p><p>exit</p><p>bcdboot r:＼windows /s z:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第六步，上面的5个步骤执行完毕后，这个U盘上的Hyper-V Server 2008 R2 还无法通过U盘引导启动运行，因为VHD Native Boot虽然能够实现从VHD中启动运行操作系统，但是该系统的磁盘缓存文件仍存储在实际磁盘上，而且因为U盘自身的原因，频繁地在U盘上读写数据势必会影响其整体的性能和稳定性，所以我们还需要通过修改注册表禁用这个系统上的磁盘缓存文件。为此，执行下面的命令行：</p><p>reg load HKLM/hyperVTemp r:＼windows＼system32＼config＼system</p><p>reg add &ldquo;HKLM＼HyperVTemp＼ControlSet001＼Control＼Session Manager＼Memory Management&rdquo; /v PagingFiles /t REG_MULTI_SZ /d &ldquo;&rdquo; /f</p><p>reg delete &ldquo;HKLM＼HyperVTemp＼ControlSet001＼Control＼Session Manager＼Memory Management&rdquo; /v ExistingPageFiles /f</p><p>reg unload HKLM＼HyperVTemp</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第七步，从当前卸载Z盘上的VHD文件，完成整个操作。</p><p>diskpart</p><p>sel vdisk file=z:＼hyperv.vhd</p><p>detach vdisk</p><p>exit</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后，我们便可以将该U盘插到硬件满足Hyper-V 需求的服务器上，从U盘引导运行这个Hyper-V Server 2008 R2。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过上面的例子，我们可以深入认识和理解微软在虚拟化方面所作出的努力。利用U盘运行的方式，我们只需要修改注册表中&ldquo;HKEY_LOCAL_MACHINE＼SYSTEM＼CurrentControlSet＼Control＼PnP＼PollBootPartitionTimeout&rdquo;的键值为&ldquo;30000&rdquo;，便能够在更大的移动存储设备，如：移动硬盘上面引导运行Windows Server 2008 R2的完整版。目前据我所知有不少ITPro通过eSATA外接移动硬盘在自己的笔记本上运行Windows Server 2008 R2 Hyper-V 来实现相关产品和技术的学习或评估工作。</p><br/>Tags - <a href="https://maytide.net/go.php/tags/microsoft/" rel="tag">microsoft</a> , <a href="https://maytide.net/go.php/tags/hyper-v/" rel="tag">hyper-v</a> , <a href="https://maytide.net/go.php/tags/ufd/" rel="tag">ufd</a>
]]>
</description>
</item>
</channel>
</rss>