问题背景:
今天在启动一个hyper-v虚拟机时出错了,没有成功启动起来,报错信息大概为:无法初始化内存: 磁盘空间不足。 (0x80070070)。虚拟机“winserver2022”无法启动,因为没有足够的磁盘空间。具体错误如下图所示:

出错原因分析:
错误信息其实已经提示很明显,即C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines目录下的8259B499-4024-46C1-B395-0C49167C19FB.VMRS文件无法创建(16384MB,也即16G,也即当前虚拟机配置的内存大小),直白一点就是:C盘大小不够了(目前只有7.7GB), 如下图所示:

解决办法汇总:
而上述错误信息其实也已经包括了解决方法:
1. 清理C盘中的无用文件或扩容C盘,使其至少有16G的剩余空间
2. 减少该虚拟机的配置内存,例如改为4G(即虚拟机之后创建的vmrs文件也将减少至4G)
3. 配置虚拟机,使其不再创建vmrs文件
4. 配置虚拟机,使其创建vmrs文件保存到其他分区,例如d盘。
系统环境说明:
我的物理机系统为windows server 2022数据中心版
具体解决办法:
(1). 对于上述点1和点2的解决办法,可能实际情况上并不适用,例如C盘确实没有更多的空间,或者虚拟机确实需要这么多的内存。这个根据实际情况自行决定是否采用即可,操作步骤也比较直观,不再赘述。
(2) 对于上述点3,因为vmrs内存内容文件是用于保存虚拟机内存状态的,所以将虚拟机配置为不保存内存状态即可,即把虚拟机的【自动停止操作】由原来的【保存虚拟机状态】改为【关闭来宾操作系统】即可,设置如下所示:

应用该设置后,虚拟机应该即可成功启动,如下图所示:

(3) 点3的解决方法有个明显的缺点,就是物理机重启后,虚拟机也被自动执行了一遍关机并重启,也就是说虚拟机里面原来运行着的软件,打开的文件也要自行再打开一遍。而原来的设置,即:【自动停止操作】->【保存虚拟机状态】,在物理机重启后,虚拟机是保持上之前的运行状态的。
所以就有了点4的方法。点4的方法也比较简单(执行以下操作前,先把【自动停止操作】改回原来的【保存虚拟机状态】):右键虚拟机,选择移动,然后选择【移动虚拟机的存储】->【将虚拟机的所有数据移动到一个位置】,把虚拟机移到其他分区即可(为了更真实测试,在移动虚拟机后,可再往c盘填大文件,使其可用空间少于16G),步骤也不再赘述,下面是成功启动的界面及说明:

1272

被折叠的 条评论
为什么被折叠?



