在Windows Server 2012 R2的Hyper-V中创建支持RemoteFX的虚拟机


在Windows Server 2012 R2的Hyper-V中创建支持RemoteFX的虚拟机

今天一个网友问在Hyper-V创建中,支持3D的内容。有一段时间不用Hyper-V了,今天在家里的PC机上,安装测试一下。

1、在Windows 10计算机安装Windows 2012 R2

我当前的计算机是Windows 10,有1个128GB的M.2的SSD(图中标号为1的),1个3TB的硬盘作数据磁盘,前几天为了装Windows 7,又添加了一个2TB的硬盘,之后在这个2TB的硬盘上创建了3个主分区、1个扩展分区,其中第1个扩展分区安装了64位的Windows 7企业版(这个版本不会自动升级到Windows 10,图中标号为2的),创建的第2个分区规划是用于Windows Server 2012 R2(图中标号为3的),剩下的两个分区就作数据盘了,如图1-1-1所示。为了容易区分,你可以在每个卷上加上卷标名称。

\

图1-1-1 分区状态

当前的Windows 10版本是14279,这是一个预览版。我当前的实验计算机是一个华硕Z97-K的主板、8GB内存、Intel I5-4690K的CPU,没有配独立显卡就是用的CPU中集成的显卡(Intel HD 4600)。

\\

图1-1-2 当前Windows 10

现在做测试,大多数都是在虚拟机中,但有的时候,就没有办法在虚拟机中,例如要测试这个Hyper-V、支持RemoteFX功能的虚拟机,需要在物理机上做测试。这时候就需要安装多系统了。实际上,到了Windows 7之后,安装多系统很容易:

(1)进入Windows 7(或Windows 8、Windows 10、Windows 2008 R2等系统),在Windows 界面开始安装。

(2)有多个"空闲"的分区,每个分区装一个系统,不能将多个系统安装在同一个分区。例如在图1-1-1中,Windows 10安装在128GB的M.2硬盘上,Windows 7安装在标号为2的这个主分区中,Windows 2012将要安装在标号为3的分区中。如果你还要安装更多的"Windows系统",再创建更多的分区就行。如果你的硬盘,没有单独的分区,则可以压缩现有分区,在压缩出的分区中,创建新的分区,或者新建VHDX或VHD文件,挂载虚拟硬盘也是没有任何问题的。

在当前的计算机中,已经安装好了Windows 7、Windows 10的多系统。那么接下来简单的介绍一下,在Windows 10中安装Windows Server 2012 R2的内容(安装Windows 7、Windows 8与此类似)。

(1)进入Windows 10图形界面,加载Windows Server 2012 R2的安装光盘镜像,并将安装光盘镜像里面的所有文件复制到硬盘的一个文件夹中,如图1-1-3所示。在我的这个文件夹中,有Windows 7、Windows 10及Windows 2012的安装文件。

\

图1-1-3 复制Windows 2012 R2安装文件

(2)之后运行setup.exe,进入安装程序,如图1-1-4所示。

\

图1-1-4 安装Windows

(3)之后安装就比较简单了,输入安装序列号,如图1-1-5所示。

\

图1-1-5 输入序列号

(4)在安装位置,选择图1-1-1中所标记的、卷标为2T_WS12R2-OS的分区,如图1-1-6所示。

\

图1-1-6 选择安装Windows 2012 R2的分区

(5)之后等待安装安装完成,在安装完成第一阶段重新启动之后,在启动菜单项中会添加Windows Server 2012 R2,如图1-1-7,这就是安装好的、带有多系统的启动选择菜单了,之后你可以选择要进入的系统。

\

图1-1-7 多系统启动菜单

 

2 安装Hyper-V并创建虚拟机

 

进入Windows Server 2012 R2之后安装Hyper-V及远程桌面服务中的"虚拟化主机"功能。安装完成之后,多次重启之后,进入Hyper-V管理器。

(1)选择"Hyper-V设置",如图2-1-1所示。

\

图2-1-1 Hyper-V设置

(2)在"物理GPU"选项上中,在右侧下拉列表中选择要用于物理GPU的显卡,当前是Intel HD 4600,选中"将此GPU用于RemoteFX",如图2-1-2所示。

\

图2-1-2 物理GPU

(3)创建虚拟机,设置虚拟机名称为Windows 10,将虚拟机保存在一个单独的文件闪中,如图2-1-3所示。

\

图2-1-3 创建虚拟机

(4)在"指定代数"中,选择"第一代",如图2-1-4所示,目前只有第一代虚拟机才支持RemoteFX功能。

\

图2-1-4 选择第一代虚拟机硬件

(5)其他选择默认值,或者根据情况选择,在本示例中为虚拟机分配2GB内存(我当前主机只有8GB,如果你的主机配置高,根据你的需要设置更大的内存也可)、设置127GB硬盘,如图2-1-5所示。

\

图2-1-5 指定虚拟硬盘

(6)设置虚拟机完成,如图2-1-6所示。

\

图2-1-6 创建虚拟机

(7)修改虚拟机的设置,如图2-1-7所示。

\

图2-1-7 修改虚拟机设置

(8)在"添加硬件"选项中,选择"RemoteFX 3D视频适配器",单击"添加"按钮,如图2-1-8所示。

\

图2-1-8 添加Remote3D 适配器

(9)添加之后,单击"确定"按钮,完成设置,如图2-1-9所示。在此还可以设置监视器的数目、最大监视器的分辨率。

\

图2-1-9 完成设置

(10)之后启动虚拟机,并在虚拟机中安装Windows 10,如图2-1-10所示。

\

图2-1-10 安装Windows 10

(11)安装完成之后,在Windows 10虚拟机中,执行dxdiag,在"显示"选项卡中,可以当前已经支持3D加载,显卡名称为"Microsoft RemoteFX 图形设备-WDDM",如图2-1-11所示。

\

图2-1-11 3D加载己启用

(12)返回到Hyper-V管理器,在"Hyper-V设置→物理GPU"中,在"GPU详细信息"中看到,有1个虚拟机当前正在使用此GPU,如图2-1-12所示。

\

图2-1-12 GPU详细信息

如果关闭Windows 10的虚拟机,删除"RemoteFX 3D视频适配器",再次启动虚拟机并进入系统,执行dxdiag,看到的显示名称是"Microsoft Hyper-V视频",如图2-1-13所示。

\

图2-1-13 Hyper-V视频

 

3 Windows 7虚拟机测试

 

如果你是在Hyper-V中创建Windows 7的虚拟机,并且安装Windows 7的操作系统,如果添加"RemoteFX 3D视频适配器",则不能使用控制台的方式进入Windows 7的虚拟机,如图3-1-1所示,这是在添加了"RemoteFX 3D视频适配器"的虚拟机,安装完Windows 7之后的提示。

\

图3-1-1 不能显示

对于这种情况,你需要关闭虚拟机,修改虚拟机配置,先移除"RemoteFX 3D视频适配器",如图3-1-2所示。

\

图3-1-2 移除显卡

再次启动虚拟机,进入Windows 7操作系统之后,设置IP地址、启动远程桌面连接功能,并为当前的用户设置一个密码(或者为Administrator设置密码并启用该账户),之后关闭虚拟机,修改虚拟机设置,并重新添加"RemoteFX 3D视频适配器",再次启动虚拟机。

当虚拟机再次启动之后使用"远程桌面连接",连接到这个Windows 7的虚拟机,如图3-1-3所示,执行dxdiage,可看信息。

\

图3-3-3 RDPUDD显卡

如果没有添加"RemoteFX 3D视频适配器"显卡,则看到的是"Microsoft Hyper-V视频",如图3-3-4所示。

\

图3-3-4 标准虚拟显卡

 

4 RemoteFX的要求

 

最后我再简单介绍一下RemoteFX的要求。

显卡:Windows Server 2012中对RemoteFX的硬件需求较低,一般支持支持DirectX 11的显卡并安装驱动程序即可。

CPU:你服务器上的处理器也必须支持Second Level Address Translation (SLAT)扩展、Data Execution Prevention (DEP),并在服务器固件中启用虚拟化。

SLAT(Second Level Address Translation)二级地址转换技术,在Intel和AMD处理器中均有所支持,但名称有所不同,Intel叫做EPT(Extended Page Tables),在Nehalem架构中开始支持;AMD叫做RVI(Rapid Virtualization Indexing),在第三代Opteron处理器Barcelona中才开始支持。

如果你想看你的计算机,是否启用这一功能,执行msinfo32,在"系统摘要"最后四行可以看到,如图4-1-1所示。

\

图4-1-1 系统摘要

支持RemoteFX的Hyper-V VM必须配置最低数量的RAM。对于x86 VM,必须配置至少1024 MB RAM,x64 VM必须至少2048 MB RAM。 

虚拟机操作系统必须是Windows 7 SP1企业版或旗舰版,或者Windows 8.1、Windows 10,需要"第一代"虚拟硬件。

最后说明,Hyper-V 我有一段时间不用了,我写的比较仓促,本文如有错误,欢迎指正。

相关内容