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. 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路

    针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...

  2. .net 分布式架构之业务消息队列

    开源QQ群: .net 开源基础服务  238543768 开源地址: http://git.oschina.net/chejiangyi/Dyd.BusinessMQ ## 业务消息队列 ##业务消 ...

  3. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

  4. 流程开发Activiti 与SpringMVC整合实例

    流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...

  5. 云瓣影音网站&&微信端(已开源)

    随着该项目的发布到线上(小打小闹),即将又要开启另一段崭新的旅程.强迫自己停下来写写所学所得,个人认为总结和分享是一种很棒的学习方式.那让我们先来瞧瞧项目长的什么样.如果着急要源码的朋友,可以下拉到最 ...

  6. 如何区别char与varchar?

    1.varchar与char两个数据类型用于存储字符串长度小于255的字符,MySQL5.0之前是varchar支持最大255.比如向一个长度为40个字符的字段中输入一个为10个字符的数据.使用var ...

  7. mysql 5.7中的用户权限分配相关解读!

    这篇文章主要介绍了MySQL中基本的用户和权限管理方法,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,是MySQL入门学习中的基础知识,需要的朋友可以参考下 一.简介 各大帖子及文章都会讲 ...

  8. ASP.NET Core 在 JSON 文件中配置依赖注入

    前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等 ...

  9. ASP.NET MVC防范CSRF最佳实践

    XSS与CSRF 哈哈,有点标题党,但我保证这篇文章跟别的不太一样. 我认为,网站安全的基础有三块: 防范中间人攻击 防范XSS 防范CSRF 注意,我讲的是基础,如果更高级点的话可以考虑防范机器人刷 ...

  10. Guava库介绍之实用工具类

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...