【IT168 应用技巧】以下内容节选自我刚撰写的一篇文章,当然其中主要的操作步骤参考了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
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 来实现相关产品和技术的学习或评估工作。