Hyper-V是微软的管理虚拟机(Virtual Machine)的服务,在安装Hyper-V功能之后,系统自动安装可视化的虚拟机管理工具:Hyper-V Manager。在同一台物理机上,能够使用Hyper-V创建多个虚拟机(VM),每一个VM执行不同的工作负载(workload),运行单独的系统环境。Hyper-V为管理VM提供全面的灵活性,用户可以根据需要,在一台物理机上创建多个VM,每个VM安装不同的操作系统(Windows或Linux),运行不同的应用程序,但是,虚拟机是以牺牲性能为代价的,IO和CPU的性能都会下降。

You can use virtual machines to run different workloads. Each virtual machine runs in an isolated execution environment, which gives you the flexibility to run different operating systems and applications on one physical computer.

一,安装Hyper-V功能

本文物理机的操作系统环境是Windows Server 2012 R2(Win12 R2),默认情况下,Hyper-V是不会安装的。想要在一台物理机上创建多个VMs,首先安装Hyper-V功能。打开Server Manager->Dashboard窗体,点击”Add Roles and Features“,在Server Roles Tab中,选择Hyper-V安装。计划在VM上安装的Guest OS是Win12 R2。

二,在Hyper-V中创建虚拟机

在安装Hyper-V之后,系统会自动安装Hyper-V管理器(Hyper-V Manager),默认将本机添加到Server列表中,可以通过菜单”Connect To Srever“将其他Server(已安装Hyper-V Feature)添加到Hyper-V管理器中,通过Hyper-V Manager来创建和管理虚拟机。

1,打开 New Virtual Machine 向导(Wizard)

2,指定VM的名字和数据存储的位置(Location)

3,选择VM的版本(Generation)

Hyper-V的版本共有2代:Generation 1 和 Generation2。第一代虚拟机是Hyper-V的前一个版本,第二代虚拟机启动(boot)更快,模拟加载的硬件资源更少,性能更高,但并不是所有的机器都支持第二代VM。 因此,可以无脑选择Generation 2,如果创建第二代VM失败,再选择Generation 1。

4,为VM分配开机内存

为新建的VM分配开机内存,勾选动态分配内存,VM会动态使用系统内存。

5,配置网络适配器,从connection列表中选择网络适配器

6,为VM分配存储数据的磁盘空间

创建虚拟硬盘(Virtual Disk)文件,后缀名是.vhdx,是逻辑盘符中的一个文件,能够动态扩张,用于存储VM的OS和数据文件。

7,为VM安装操作系统

选项:Install an operating system later,在VM创建完成之后,等到VM启动时再安装OS,本文使用该选项。

其他两个选项都是在创建VM时安装OS,从镜像文件(ISO),或从网络上安装。如果有了Windows Server 2012 R2的镜像文件,可以选择”Install an operating system from a bootable image file“,后缀名是.ISO。

8,概要,描述VM的配置信息,点击Finish按钮,开始创建VM 

三,配置VM,安装OS

由于在创建VM时,选择的是”Install an operating system later“,因此,在VM创建成功之后,需要配置VM,安装OS。在Virtual Machines面板中,会罗列出在特定Server上创建的所有VMs,选择需要安装OS的一个VM。

1,点击Connect,打开VM

2,点击Start按钮,启动VM

3,从镜像文件(ISO)安装OS

首先,添加集成服务安装硬盘,点击菜单 Action,选择”Insert Integration Services Setup Disk“,

然后,添加Disk驱动设备,点击菜单 Media,选项DVD Drive,选择”Insert Disk“,选择Windows Server 2012 R2的安装镜像文件(ISO);

最后,关闭VM(shutdown),设置firmware,从DVD Drive引导启动(boot from DVD Drive),设置的过程,参考下文:4,设置固件(Firmware),从固件中引导VM启动(boot)

重启VM,等待出现以下Dos界面,按下任意键,从CD或DVD引导VM安装OS

4,设置固件(Firmware),从固件中引导VM启动(boot)

点击VM的Settings,打开VM_Test的设置窗体

点击Firware,设置VM引导启动的顺序(Boot order),排在第一个Boot Entry,默认的类型是File,从bootmgfw.efi 文件中引导启动;将第一个boot Entry修改为Hard Drive,首先从Disk驱动器中引导VM启动,选中Hard Drive,点Move Up向上移动。

四,虚拟交换机管理器(Virtual Switch Manager)

在Hyper-V Manager的右侧面板上,点击Virtual Switch Manager,打开虚拟交换机管理器面板,如图

在Hyper-V中,能够创建三种类型的Virtual Switch:

  • External:将Virtual Switch绑定到物理网络适配器上,这样,VM能够通过访问物理网络和外网通信;
  • Internal:Virtual Switch 不能连接物理网络适配器,只能用于在本地物理机上创建的VM,用于VM和本地物理机的通信;
  • Private:Vitrual Switch 只能用于在本地物理机上创建的VM,使VMs之间能够互相通信;

五,修改VM的设置

1,修改Firmware,上文已说明

2,配置VM使用的内存资源,有四个配置选项:

  • Startup RAM:是VM启动时,分配的内存资源,建议配置
  • Dynamic Memory:VM动态地增加或减少内存使用,需要为VM分配内存资源的范围,建议配置
  • Memory Buffer:在VM使用的内存动态增加或减少时,尝试保留(Reserve)的内存缓冲区,建议使用默认值
  • Memory Weight:争用内存的优先级

3,处理器配置(Processor)

管理虚拟机的处理器,为VM分配处理器数量

4,SCSI控制器

管理虚拟硬盘驱动器(Virtual Hard Drive),为VM分配虚拟硬盘,收缩或扩展Disk空间

5,网络适配器(Network Adapter)

管理虚拟机的网络适配器,为VM分配Virtual Switch

六,故障排除

1,Hyper-V:Firmware 显示 Load Failed

详细请参考:《Hyper-V: Firmware – Load Failed》,《Hyper-V VM Load Firmware Failed》,使用的Powershell代码是:

(Get-VM "YOURVMNAME" | Get-VMFirmware).BootOrder

Get-VM "YOURVMNAME" |Get-VMFirmware|ForEach {Set-VMFirmware -BootOrder ($_.Bootorder | ? {$_.BootType -ne 'File'}) $_}

参考文档:

Part 1: Introduction to generation 2 virtual machines

Hyper-V的使用方法

深入浅出Hyper-V网络虚拟化技术

What is the memory buffer when dynamic memory is enabled?

Deciding When To Use Generation 1 or Generation 2 Virtual Machines with Hyper-V

Hyper-V Guide: Create and Configure Generation 1 and 2 Virtual Machines

Hyper-V1:创建和管理虚拟机的更多相关文章

  1. 使用virt-manager创建和管理虚拟机

    1.虚拟机管理程序和虚拟机管理 一个服务器上只安装单一操作系统的时代已经过去,单个服务器可通过安装多个虚拟机来运行不同操作系统.虚拟机的大量使用减少了所需的服务其硬件,降低了服务器的功耗,但却带来了另 ...

  2. 用于创建和管理 Azure 虚拟机的常用 PowerShell 命令

    本文介绍一些可用于在 Azure 订阅中创建和管理虚拟机的 Azure PowerShell 命令. 若要获取特定命令行开关和选项的详细帮助,可以使用 Get-Help 命令. 有关安装最新版 Azu ...

  3. 使用 Virtual Machine Manager 管理虚拟机

    转载自https://www.ibm.com/developerworks/cn/cloud/library/cl-managingvms/   尽管服务器管理在过去问题重重,但虚拟化管理简化了一些问 ...

  4. 菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机

    菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机 chedou@hgdb.net 虚拟机给工作带来巨大的便利,不仅仅体现在资源的按需使用,而且配置的迁移特别方便.本文将使用Ubuntu ...

  5. KVM虚拟机管理——虚拟机创建和操作系统安装

    1. 概述2. 交互式安装2.1 图形化-本地安装2.1.1 图形化本地CDROM安装2.2.2 图形化本地镜像安装2.2 命令行-本地安装2.2.1 命令行CDROM安装2.3 图形化-网络安装2. ...

  6. 使用 libvirt创建和管理KVM虚拟机

      1. libvirt介绍    Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等.Libvirt概括起来包括一个API库.一个 daemon(libv ...

  7. centos 下 KVM虚拟机的创建、管理与迁移

    kvm虚拟机管理 一.环境 role         hostname    ip                  OS kvm_server   target      192.168.32.40 ...

  8. KVM (虚拟机创建及管理,存储管理)

    创建KVM虚拟机 1.图形化界面创建 第一步:查看软件包组 yum grouplist 第二步:下载GUI界面的软件包组 yum groupinstall "Server with GUI& ...

  9. KVM虚拟机的创建、管理与迁移

    [日期:2012-06-01] KVM虚拟机管理 一.环境 role         hostname    ip                  OS kvm_server   target   ...

随机推荐

  1. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

  2. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

  3. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  4. 多个Img标签之间的间隙处理方法

    1.多个标签写在一行 <img src="/i/eg_tulip.jpg" alt="郁金香" height="100px"/> ...

  5. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  6. ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

    操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

  7. css text-fill-color与text-stroke讲解

    顾名思义"text-fill-color"就是文字填充颜色而"text-stroke"就是文字描边.还别说,两个属性可以制作出各种炫酷的文字效果,不过IE系列都 ...

  8. C# 实时折线图,波形图

    此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图. 涉及到知识如下: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制. ...

  9. Git分布式版本控制教程

    Git分布式版本控制Git 安装配置Linux&Unix平台 Debian/Ubuntu $ apt-get install git Fedora $ ) $ dnf and later) G ...

  10. Flyweight(享元模式)

    import java.util.Hashtable; /** * 享元模式 * @author TMAC-J * 享元模式一般和工厂模式一起使用,但此处为了更好说明,只用享元模式 * 定义:享元模式 ...