virtualbox虚拟机运行中断,启动报错“获取 VirtualBox COM 对象失败”

news2024/11/6 0:35:21

文章目录

    • 问题现象
    • 排查解决
    • 总结

问题现象

  • 2月7日下午四点多,我已经休假了,某县的客户运维方打来电话,说平台挂了,无法访问
  • 客户是提供的一台Windows server机器部署平台,是使用virtualbox工具安装的CentOS7.9虚拟机
  • 和运维沟通,他是今天刚来接班在春节假期值班的,上午平台还好好的,下午使用时发现不行了,无法访问,当时也有一个报错信息,但是他没有记录
  • 他先是尝试关闭虚拟机重启,发现无法启动,报错;关闭当前电脑再去重启,还是报错:虚拟机控制台-严重错误 “获取 VirtualBox COM 对象失败,应用程序将被中断
    在这里插入图片描述
  • 让他打开报错详细信息,看到报错Document is empty.,报错代码E_FAIL (0x80004005)
    在这里插入图片描述
  • 因为客户的这台作为服务器的电脑,只是用的普通电路线路,而这条线路在前段时间又接了充电桩,导致前段时间老是断电重启,我怀疑这次也是断电重启导致的文件损坏,问了下,发现今天没有断电重启,就突然不行了,所以也不是这个问题

排查解决

  • 其实报错信息很明显,就是文件C:\Users\Administrator\.VirtualBox\VirtualBox.xml为空了,0kb,当时没细究为啥是空白的

  • 按照以往的经验,先是重启电脑,再以管理员权限启动virtualbox,再次启动虚拟机,还是不行,只能去网上搜索解决方案了

  • 一开始搜到的一些结果,是重装虚拟机工具virtualbox,重新注册虚拟机进来。我觉得不靠谱,而且这个是生产环境,不好做这个有风险的操作

  • 然后搜索的一个和我类似的报错的一个解决方案《VirtualBox因为强制关机,第二天启动获取 VirtualBox COM 对象失败。亲测解决方案》,类似的报错,不少人评价解决了,我按照步骤实验了一遍,还是不行
    在这里插入图片描述

  • 接着搜索到一个和我报错完全一致的文章,文章说,找到这个文件位置(默认C盘,就是报错里的文件路径C:\Users\Administrator\.VirtualBox),删除这个空的文件VirtualBox.xml,重新启动virtualbox和虚拟机即可(因为这个文件是启动时,从虚拟机自己的文件夹的.vbox维护到C盘这个文件里),结果还是不行

  • 还有说,把虚拟机删除,重新注册进来的,尝试了还是不行,无法注册进来,报错信息到是变了下C:/新平台/虚拟/Centos7.v1.1.0/Centos7.v1.1.0.vbox为空
    在这里插入图片描述

  • 这个时候,我们到了虚拟机文件夹里,发现这个.vbox文件就是0KB,然后去查看了下机器的磁盘空间,爆红,没空间了,破案了
    在这里插入图片描述

  • 虚拟机目录的.vdi磁盘文件262G,Snapshots里的.vdi磁盘文件218G,而总的机器磁盘空间就500多G(也没想到机器空间这么小),加上机器上的其他文件,随着平台的运行,慢慢的就爆满了

  • 磁盘空间问题之前遇到一次:《在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制暂停》,磁盘空间不足时,虚拟机无法运行。于是开始删除电脑磁盘里不要的文件,删了30G左右,继续启动虚拟机,还是不行,还是同样的报错

  • 查看了下这个文件夹,发现有一个同名的.vbox-prev文件,时间刚好是反馈的系统无法访问的时间,把这个文件内容恢复的.vbox文件里,重新注册进去,可以了,解决

总结

  • 客户只提供了Windows server服务器,而且配置比较低(500+G存储空间),而且该机器电路不稳定,偶发断电
  • 为了防止断电文件损坏导致平台无法恢复,就让运维加了备份,然后磁盘就撑满了
  • C:\Users\Administrator\.VirtualBox\VirtualBox.xml文件,和各个虚拟机的.vbox文件。都是定时备份新建的(原文件与加了后缀-prev的备份文件),在新建时没有空间,创建了0KB的文件,导致了 严重错误:获取 VirtualBox COM 对象失败
  • 此时可以先删除机器上一些文件,然后恢复 C:\Users\Administrator\.VirtualBox\VirtualBox.xml文件和各个虚拟机的.vbox文件
  • 再重启VirtualBox与虚拟机就可以了,然后可以删除快照备份
    在这里插入图片描述
  • 删除快照备份时,会将快照与当前最新时间的系统文件对比合并,不会更改当前虚拟机的实际状态,只是损失一个时间点的备份
    在这里插入图片描述
  • 删除备份后,系统空间基本上足够了。此时快照与当前系统文件已合并,相当于删除了绝大部分重复的文件,释放了很多空间
  • 此时可以创建一个新的快照备份,后续再定期去删除旧的备份,创建新的备份。每次删除快照,都会合并一次,这样保持快照文件不会特别大
  • 如果觉得虚拟机磁盘文件过大,也可以使用VirtualBox自带的工具VBoxManage进行压缩瘦身,详情参考:VirtualBox虚拟机磁盘VDI文件压缩瘦身,效果还是比较好的
  • 当然,最好是有一个好磁盘,又大又快

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1463465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础知识——Linux是什么及发展史

文章目录 Linux是什么Linux之前Unix发展史MulticsUnicsUnixUNIX分支--BSDUNIX分支--System VMinixGUN计划GPLXFree86Linux 开源软件和闭源软件开源软件闭源软件/专利软件(copyright) Linux的内核版本Linux发行版 Linux是什么 Linux到底是操作系统还是应用程序呢?Li…

2024最佳住宅代理IP服务商

跨境出海已成为了近几年的最热趋势,大批量的企业开始开拓海外市场,而海外电商领域则是最受欢迎的切入口。新兴的tiktok、Temu,老牌的Amazon、Ebay,热门的Etsy、Mecari等等都是蓝海一片。跨境入门并不难,前期的准备中不…

论文精读--Noisy Student

一个 EfficientNet 模型首先作为教师模型在标记图像上进行训练,为 300M 未标记图像生成伪标签。然后将相同或更大的 EfficientNet 作为学生模型并结合标记图像和伪标签图像进行训练。学生网络训练完成后变为教师再次训练下一个学生网络,并迭代重复此过程…

图形系统开发实战课程:进阶篇(上)——6.图形交互操作:拾取

图形开发学院|GraphAnyWhere 课程名称:图形系统开发实战课程:进阶篇(上)课程章节:“图形交互操作:拾取”原文地址:https://www.graphanywhere.com/graph/advanced/2-6.html 第六章 图形交互操作:拾取 \quad 在图形系统…

Linux中安装Nginx及日常配置使用

高性能的http服务器/反向代理服务器。官方测试支持5万并发,CPU、内存等消耗较低且运行稳定 使用场景 Http服务器。 Nginx可以单独提供Http服务,做为静态网页的服务器。虚拟主机。 可以在一台服务器虚拟出多个网站。反向代理与负载均衡。 Nginx做反向代理…

创建型设计模式 - 原型设计模式 - JAVA

原型设计模式 一 .简介二. 案例三. 补充知识 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一 .简介 原型模式提供了一种机制,可以将原始对象复制到新对象&#xff0…

Linux篇:进程

一. 前置知识 1.1冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 为什么计算机要采用冯诺依曼体系呢? 在计算机出现之前有很多人都提出过计算机体系结构,但最…

vite是什么

vite 是什么 vite —— 一个由 vue 作者尤雨溪开发的 web 开发工具 Vite由两个主要部分组成 dev server:利用浏览器的ESM能力来提供源文件,具有丰富的内置功能并具有高效的HMR生产构建:生产环境利用Rollup来构建代码,提供指令用…

基于SSM的绿色农产品销售系统的设计与实现

随着电子商务在各行各业中的广泛应用,为更多的产品提供了销售渠道。但就目前来看,这些以工业产品为热销的大型综合性电商平台,农产品销售量很不理想。另外,市面上存在专门销售农产品的网站,大部分消费者没有形成在网上购买农产品的…

C语言每日一题(60)对链表进行插入排序

题目链接 力扣网 147 对链表进行插入排序 题目描述 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有…

虚拟列表【vue】等高虚拟列表/非等高虚拟列表

文章目录 1、等高虚拟列表2、非等高虚拟列表 1、等高虚拟列表 参考文章1 参考文章2 <!-- eslint-disable vue/multi-word-component-names --> <template><divclass"waterfall-wrapper"ref"waterfallWrapperRef"scroll"handleScro…

Kubernetes部署CNI网络组件

目录 1.概述 K8S的三种网络 VLAN和VXLAN的区别 K8S中Pod网络通信 flannel的三种模式 flannel的UDP模式工作原理 flannel的VXLAN模式工作原理 2.部署flannel 在node01节点上操作 在master01节点上操作 3.部署Calico Calico主要由三个部分组成 calico的IPIP模式工作…

Spring6学习技术|Junit

学习材料 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09; Junit 背景 背景就是每次Test都要重复创建容器&#xff0c;获取对象。就是ApplicationContext和getBean两个语句。通过Spring整合Junit&#xff0c;可以…

集合框架之List集合

目录 ​编辑 一、什么是UML 二、集合框架 三、List集合 1.特点 2.遍历方式 3.删除 4.优化 四、迭代器原理 五、泛型 六、装拆箱 七、ArrayList、LinkedList和Vector的区别 ArrayList和Vector的区别 LinkedList和Vector的区别 一、什么是UML UML&#xff08;Unif…

【《高性能 MySQL》摘录】第 3 章 服务器性能剖析

文章目录 3.1 性能优化简介3.1.1 通过性能剖析进行优化3.1.2 理解性能剖析 3.2 对应用程序进行性能剖析3.3 剖析 MySQL 查询3.3.1 剖析服务器负载捕获 MySQL 的查询到日志文件中分析查询日志 3.3.2 剖析单挑查询使用 SHOW PROFILE &#xff08;现已过时&#xff09;使用SHOW ST…

猫头虎分享已解决Bug || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10]

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

跑步也要飙起来:南卡、韶音、墨觉骨传导耳机大比拼

作为一个热衷于运动同时又不能离开音乐的人&#xff0c;我总是在寻找一款既能让我自由奔跑&#xff0c;又能享受到美妙音乐的耳机。记得买耳机前&#xff0c;朋友都说骨传导耳机就像个小喇叭&#xff0c;漏音厉害&#xff0c;我却不这么认为。对我来说&#xff0c;骨传导耳机不…

游戏平台如何定制开发?

随着科技的飞速发展和互联网的普及&#xff0c;游戏平台已成为人们休闲娱乐的重要选择。为了满足用户多样化的需求&#xff0c;游戏平台的定制开发显得尤为重要。本文将探讨游戏平台定制开发的过程、关键要素以及注意事项&#xff0c;为有志于涉足此领域的开发者提供参考。 一、…

MLflow【部署 01】MLflow官网Quick Start实操(一篇学会部署使用MLflow)

一篇学会部署使用MLflow 1.版本及环境2.官方步骤Step-1 Get MLflowStep-2 Start a Tracking ServerStep 3 - Train a model and prepare metadata for loggingStep 4 - Log the model and its metadata to MLflowStep 5 - Load the model as a Python Function (pyfunc) and us…

【笔试强训错题选择题】Day2.习题(错题)解析

文章目录 前言 错题题目 错题解析 总结 前言 错题题目 1. 错题解析 1. 总结