标题:[Hyper-V]从UFD启动和运行Hyper-V Server 2008 R2 出处:gOxiA=苏繁=SuFan Blog 时间:Tue, 04 May 2010 13:48:37 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/1377.htm 内容: 以下内容节选自我刚撰写的一篇文章,当然其中主要的操作步骤参考了TechNet Librarys,所以分享出来并无大碍!这篇日志旨在希望能以更小化的改变当前服务器的环境,来评估或实施Hyper-V。所以我们可以选择免费的Hyper-V Server 2008 R2,并使其从 USB Flash Drive(俗称:U盘)启动运行。 要实现这一目标,制作好一个承载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)。 第一步,创建一个VHD。利用diskpart命令创建一个用于存储Hyper-V Server 2008 R2的VHD文件,容量为12G,采用固定磁盘类型,并创建一个主分区,使用NTFS格式,并将其挂载到当前系统中分配盘符为R,卷标为HyperV。为此,在当前系统中的CMD环境下执行如下命令行: mkdir c:\hvvhd diskpart create vdisk file=c:\hvvhd\hyperv.vhd maximum=12000 type=fixed sel vdisk file=c:\hvvhd\hyperv.vhd attach vdisk create partition primary assign letter=r format quick fs=ntfs quick label=HyperV exit 第二步,利用WAIK提供的imagex.ex命令将Hyper-V Server 2008 R2安装源(Install.wim)中的映像释放到分区R中,完成后将hyperv.vhd从当前系统中卸载。为此,执行如下命令: imagex /apply 1 r: diskpart sel vdisk file=c:\hvvhd\hyperv.vhd detach vdisk exit 第三步,准备U盘(UFD),还是通过diskpart命令对U盘进行分区格式化,此外还要将该分区标注为活动分区。命令如下: diskpart sel disk clean create partition primary active format fs=ntfs quick assign letter=z exit 第四步,将之前制作好的hyperv.vhd拷贝到U盘上,如果当前工作环境不是Windows 7或Windows Server 2008 R2,则还需要使用WAIK中提供的bootsect命令为U盘标注为可引导。命令行如下: copy c:\hvvhd\hyperv.vhd z: bootsect /nt60 z: /force /mbr 第五步,使用bcdboot命令在U盘上为hyperv.vhd中的系统创建引导数据。为此,执行下面的命令行: diskpart sel vdisk file=z:\hyperv.vhd attach vdisk exit bcdboot r:\windows /s z: 第六步,上面的5个步骤执行完毕后,这个U盘上的Hyper-V Server 2008 R2 还无法通过U盘引导启动运行,因为VHD Native Boot虽然能够实现从VHD中启动运行操作系统,但是该系统的磁盘缓存文件仍存储在实际磁盘上,而且因为U盘自身的原因,频繁地在U盘上读写数据势必会影响其整体的性能和稳定性,所以我们还需要通过修改注册表禁用这个系统上的磁盘缓存文件。为此,执行下面的命令行: reg load HKLM/hyperVTemp r:\windows\system32\config\system reg add “HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f reg delete “HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f reg unload HKLM\HyperVTemp 第七步,从当前卸载Z盘上的VHD文件,完成整个操作。 diskpart sel vdisk file=z:\hyperv.vhd detach vdisk exit 最后,我们便可以将该U盘插到硬件满足Hyper-V 需求的服务器上,从U盘引导运行这个Hyper-V Server 2008 R2。 通过上面的例子,我们可以深入认识和理解微软在虚拟化方面所作出的努力。利用U盘运行的方式,我们只需要修改注册表中“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PnP\PollBootPartitionTimeout”的键值为“30000”,便能够在更大的移动存储设备,如:移动硬盘上面引导运行Windows Server 2008 R2的完整版。目前据我所知有不少ITPro通过eSATA外接移动硬盘在自己的笔记本上运行Windows Server 2008 R2 Hyper-V 来实现相关产品和技术的学习或评估工作。 Generated by Bo-blog 2.1.1 Release