Hyper-V启动虚拟机,消耗C盘大量磁盘空间
问题描述
经常使用Hyper-V虚拟机的朋友,可能会碰到这样的现象,当启动某些虚拟机的是否,发现C盘的空间突然减少,减少的空间与虚拟机的内存一样大少。
通过分析C盘空间的磁盘文件,发现在Hyper-V的虚拟目录机(C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines)中自动生成了一个与虚拟机内存一样大小的VMRS文件。
例如下图中,我启动了一个10GB内存的虚拟机,磁盘中自动生成了一个以VMRS为扩展名的10GB文件。如何避免这种巨型文件消耗C盘空间?

Figure 1 – C盘中的VMRS文件
解决方案
VMRS文件是Hyper-V用来存储虚拟机状态的文件。在虚拟机运行过程中,Hyper-V自动将虚拟机的状态保存在这个文件中,当物理机异常关机,再次启动后,我们任然可以获得虚拟机中当时的状态,不会出现数据丢失的情况。
这种设计对于Hyper-V服务器保存数据非常有效,但是对于我们经常在自己的笔记本或者PC上使用Hyper-V,主要用途是实验目的的用户来说,保存实时数据的紧迫性没有特别高,但是对于电脑的磁盘空间却非常重要。
下面介绍两种方案来避免这种巨型文件消耗磁盘空间的问题。
方案一:移除VMRS文件
我们可以设置Hyper-V的“自动停止操作”来移除VMRS文件。将虚拟机的选项设置为“关闭来宾操作系统”,则系统不会自动生成VMRS文件。
关闭需要修改设置的虚拟机,并参考下面的截图修改虚拟机:

Figure 2 - 修改虚拟机设置
方案二:转移VMRS的位置
在系统默认设置中,系统会自动将VMRS文件创建在这个目录中:C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines
但是往往我们的C盘空间不会太大,我们可以通过导出虚拟机,再次导入虚拟机的方式,将VMRS文件转移到其他的磁盘中。导出虚拟机的方法如下图。

Figure 3 - 导出虚拟机
微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang
--End--
Hyper-V启动虚拟机,消耗C盘大量磁盘空间的更多相关文章
- windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理
windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...
- Hyper V NAT 网络设置 固定IP / DHCP
Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...
- VirtualBox启动虚拟机报错0x80004005
Unable to load R3 module C:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 ( ...
- 如何使用虚拟机在U盘上安装linux
如何使用虚拟机在U盘上安装linux 将linux安装到U盘的方法有很多,我觉得用虚拟机还是很方便的,直接上干货 创建虚拟机 我用的vbox,vmware也一样.配置随意一点就好,配置高安装的也快. ...
- vmware 命令行启动虚拟机
在redhat enterprise 5.3安装了vmware workstation,如何用vmware 命令行启动指定虚拟机?/usr/bin/vmware[root@node0 ~]# /usr ...
- vm启动时通过U盘安装的方法
vm启动时通过U盘安装的方法 增加一个以U盘为硬盘的方法,通过boot中设置该硬盘启动后重新ghost或者安装win10X64位. 在虚拟机中增加一个硬盘,第二部设置为物理硬盘,选在对 ...
- Nova 启动虚拟机流程解析
目录 文章目录 目录 前言 从请求说起 nova-api service 阶段 前言 Nova 启动虚拟机的东西太多,持续更新- 从请求说起 无论是通过 Dashboard 还是 CLI 启动一个虚拟 ...
- VMware Workstation 16 启动虚拟机失败(vmmon 版本问题)
问题简述 在 Manjora Linux 下,之前更新过系统,这次启动虚拟机居然就是失败了. 报错信息如下: Version mismatch with vmmon module: expecting ...
- 设置Hyper V
1.打开服务器管理器 2.添加角色和功能 3.安装类型 -> 基于角色或基于功能的安装 4.服务器选择 -> 下一步 5.服务器角色 勾选"Hyper V"
随机推荐
- Python3 open() 函数
Python3 open() 函数 Python3 内置函数 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 ...
- 【校招面试 之 C/C++】第30题 C++ 11新特性(一)之auto关键字
1.自动类型推断 auto自动类型推断,用于从初始化表达式中推断出变量的数据类型.通过auto的自动类型推断,可以大大简化我们的编程工作.下面是一些使用auto的例子. #include <ve ...
- 6-Qt给父widget加上styleSheet(添加背景图)而不改变子widget的styleSheet的方法
Qt给父widget加上styleSheet(添加背景图)而不改变子widget的styleSheet的方法 比如用stylesheet给widget加背景图,可以用qt designer修改ui文件 ...
- Silverlight实用窍门系列:57.Silverlight中的Binding使用(二)-数据验证
本文将简单讲述Silverlight中的Binding数据时的数据验证. NotifyOnValidationError:是否在出现异常/错误信息的时候激发BindingValidationError ...
- 剑指offer面试题3二维数组中的查找
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 需要与面试官确认的是,这 ...
- Bug:src/lxml/lxml.etree.c:84:20: 致命错误:Python.h:没有那个文件或目录
问题描述: pip批量安装软件包时,出现如上题目错误,卡在了lxm依赖于python中的python-devel 问题原因: 缺失python-devel开发包所导致,python.h存在于pytho ...
- Ubuntu12.04添加环境变量
环境变量分为系统级和用户级. 系统级变量设置环境为/etc/environment和/etc/profile等,不要轻易修改,否则可能造成系统错误. 用户级变量设置路径为-/.bashrc和~/.pr ...
- Web前端工程师常去的15个技术网站
1.CSDN 网址:https://www.csdn.net/ 简介: CSDN (Chinese Software Developer Network) 创立于1999年,是中国最大的IT社区和服务 ...
- asp.net状态保持
1.首先如果不是asp.net webform而只是一个纯粹的html页面和ashx一般处理程序的话,因为http协议的无状态,每一次的页面请求都会重新实例化一个页面对象(注意实例化页面对象其实是通过 ...
- C语言 链表基本函数
#include <stdio.h> #include <malloc.h> typedef struct my_node mynode; struct my_node{ ...