学了两年虚拟机才了解的虚拟机文件格式(超好懂版!!)
碎碎念
在第一次做应急响应的时候,平台给我发了这样一些文件
当时的我直接傻掉,看不到vmx完全不知道怎么分析取证里面的内容,这也让我认识到了我对一些常用的有关虚拟机的文件格式完全不了解,于是写了下面这一篇文章
梗概
主要讲的就是与VMware、VirtualBox紧密相关的 OVF、OVA、VMDK 和 VMX 文件格式,还有它们和 iso 文件的联系
一、iso 文件:虚拟机光驱
创建虚拟机时,若要安装操作系统,就要用到iso 文件,里面挂载着操作系统的安装程序 ,就能把系统文件写入磁盘镜像(像 VMDK 文件),完成系统搭建。此外它还能加载软件、驱动,提取数据,拓展虚拟机功能,作用类似物理机光驱。
人话:写入磁盘的windows安装程序,就是一个镜像文件(平常我们安装虚拟机的时候第一个就是导入这个),它在虚拟机里面是写入vmdk的,下面我们vmdk进行介绍
二、VMDK 文件:虚拟机仓库
1.功能
VMDK 是就是虚拟机的磁盘,存着操作系统、应用程序、用户数据和配置信息。虚拟机运行时,系统从这里读数据,模拟硬盘读写,让虚拟机像物理机一样运行软件、处理数据。
2.特性
VMware 系列(如 VMware Workstation、VMware vSphere)默认用它,创建时自动生成相关文件,还能按需配置大小、位置、磁盘类型。Oracle VM VirtualBox 等软件也支持,方便跨平台迁移,只要目标平台能识别导入,数据就不丢。
3.作用
创建与启动:
创建虚拟机,指定 VMDK 文件大小位置,软件创建磁盘空间、初始化系统。
启动时,找到引导程序,加载内核等文件,让虚拟机启动。
快照功能:
支持快照,运行时随时创建,记录磁盘状态,恢复时靠快照文件与原始数据差异,还原到指定状态,对测试、备份、灾难恢复有用。
我们看创建虚拟机的时候就有指定vmdk的位置的,这里可以看到我的磁盘被分开了,是因为我选了下面这个选项
三、VMX 文件:虚拟机的配置文件
1.用途
VMX 是 VMware 虚拟机软件的配置文件格式,存着虚拟机各种配置,像名称、硬件(CPU、内存、磁盘等)、网络、显示、启动选项,还有高级功能(如 CPU 虚拟化支持),一般用来引导系统的打开(平常我经常只看这个。)
用vscode打开我们就知道了
简单来说当我们点开这个vmx的时候就会去读取vmdk文件然后进入系统
四、OVF 格式:跨平台用的格式
用途
OVF(开放虚拟化格式)是开源规范,让虚拟机及其配置在不同平台安全、顺畅迁移部署,就像是图纸一样,比如你从vmware到VirtualBox,就要规定格式避免出错。下面来看组成(以我应急遇到的文件举例)
构成
mf 文件(可选):扩展名.mf ,是存ovf所有文件文件 SHA 值的清单,用来检错
ovf 文件:是 OVF 包核心,扩展名.ovf ,类似 VMware 的 VMX 格式,对接镜像(如 VMDK)、资源(如 iso)和虚拟机配置,保证系统找到加载资源,正常运行。(可以看到是xml写的vmware的配置文件,我们平常使用的话直接打开ovf文件就会启动虚拟机了(和vmx一样的))
Cert 文件(可选):扩展名.cert ,靠 PKI 生成,用 openssl 工具做,验证 mf 文件合法性,保 OVF 文件包可靠。
磁盘镜像文件(可选):典型是 VMDK 文件,装虚拟机操作系统等,启动时系统读数据,模拟硬件环境,启动系统。
附加资源文件(可选):如 iso 镜像文件,创建虚拟机挂载安装系统,运行时用里面工具维护、恢复数据。
五、OVA 格式:便捷虚拟机包
OVA就是打包 OVF的 所有文件,像取证现场转移虚拟机,用 OVA 更方便,不用担心文件散丢或配置出错。
六、总结
在取证和应急处理中,弄懂这些文件格式及关系很关键。掌握它们,迁移、部署虚拟机,提取分析数据就能又快又好,确保关键信息完整可用,帮我们顺利解决难题。