【转】Hyper-V启动虚拟机,消耗C盘大量磁盘空间,设置虚拟内存的持久化路径 - 陈小羊

时间:2024-02-25 18:15:24

【转】Hyper-V启动虚拟机,消耗C盘大量磁盘空间,设置虚拟内存的持久化路径

原文:https://www.cnblogs.com/danzhang/p/8453687.html

 

问题描述

经常使用Hyper-V虚拟机的朋友,可能会碰到这样的现象,当启动某些虚拟机的是否,发现C盘的空间突然减少,减少的空间与虚拟机的内存一样大少。

通过分析C盘空间的磁盘文件,发现在Hyper-V的虚拟目录机(C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines)中自动生成了一个与虚拟机内存一样大小的VMRS文件。

例如下图中,我启动了一个10GB内存的虚拟机,磁盘中自动生成了一个以VMRS为扩展名的10GB文件。如何避免这种巨型文件消耗C盘空间?

image

Figure 1 – C盘中的VMRS文件

解决方案

VMRS文件是Hyper-V用来存储虚拟机状态的文件。在虚拟机运行过程中,Hyper-V自动将虚拟机的状态保存在这个文件中,当物理机异常关机,再次启动后,我们任然可以获得虚拟机中当时的状态,不会出现数据丢失的情况。

这种设计对于Hyper-V服务器保存数据非常有效,但是对于我们经常在自己的笔记本或者PC上使用Hyper-V,主要用途是实验目的的用户来说,保存实时数据的紧迫性没有特别高,但是对于电脑的磁盘空间却非常重要。

下面介绍两种方案来避免这种巨型文件消耗磁盘空间的问题。

方案一:移除VMRS文件

我们可以设置Hyper-V的“自动停止操作”来移除VMRS文件。将虚拟机的选项设置为“关闭来宾操作系统”,则系统不会自动生成VMRS文件。

关闭需要修改设置的虚拟机,并参考下面的截图修改虚拟机:

image

Figure 2 - 修改虚拟机设置

方案二:转移VMRS的位置

在系统默认设置中,系统会自动将VMRS文件创建在这个目录中:C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines

但是往往我们的C盘空间不会太大,我们可以通过导出虚拟机,再次导入虚拟机的方式,将VMRS文件转移到其他的磁盘中。导出虚拟机的方法如下图。

image

Figure 3 - 导出虚拟机

微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang

--End--