以下内容节选自我刚撰写的一篇文章,当然其中主要的操作步骤参考了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 <path-to-wim> 1 r:

diskpart

sel vdisk file=c:\hvvhd\hyperv.vhd

detach vdisk

exit

        第三步,准备U盘(UFD),还是通过diskpart命令对U盘进行分区格式化,此外还要将该分区标注为活动分区。命令如下:

diskpart

sel disk <UFD-Disk-Number>

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 来实现相关产品和技术的学习或评估工作。

Microsoft Virtualization | 评论(0) | 引用(0) | 阅读(10670)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我