ESXi 8.0 开启 UEFI 安全启动?支持但驱动必须签名才行
在 ESXi 运维过程中突然断电、存储异常、虚拟机非法关机很容易导致虚拟机 VMDK 磁盘文件损坏出现无法开机、磁盘挂载失败、提示 VMDK 损坏或找不到磁盘等故障很多新手遇到就只能重装虚拟机。其实修复损坏 VMDK 有两种成熟可行方案可以用 ESXi 自带vmkfstools -E命令直接修复坏盘也可以利用完好的 flat.vmdk 数据文件手动重新构建 VMDK 描述符文件。本文通俗讲解 VMDK 损坏原理、两种修复完整步骤、命令用法和注意事项格式清晰、步骤可直接照搬操作不用第三方工具纯 ESXi 原生命令就能救回虚拟机磁盘数据。一、先搞懂VMDK 为什么会损坏ESXi 里的虚拟机磁盘其实由两个文件组成xxx.vmdk 描述符文件很小记录磁盘参数、容量、格式、指向数据位置xxx-flat.vmdk 数据实体文件真正存放系统和所有数据的大文件。日常大部分 “VMDK 损坏”其实只是小的描述符 vmdk 坏了flat 数据文件完好无损。常见损坏原因服务器突然断电、强制关机存储链路中断、阵列掉线虚拟机文件误删除、异常中断克隆 / 快照快照层级错乱、磁盘链损坏只要 flat.vmdk 没丢、没损坏基本都能完美修复。二、修复方案一用 vmkfstools -E 直接自动修复命令核心作用vmkfstools -E是 ESXi 官方自带修复参数专门用于检测并自动修复损坏、损坏链、轻微逻辑故障的 VMDK 磁盘适合普通损坏场景一键自动处理。操作前提先关闭对应虚拟机移除快照、避免磁盘占用进入 ESXi SSH 终端切换到虚拟机所在目录确认原损坏磁盘文件名称。执行修复命令vmkfstools -E 损坏磁盘.vmdk 修复后新磁盘.vmdk示例vmkfstools -E CentOS.vmdk CentOS_fixed.vmdk执行后效果自动检测 VMDK 结构错误、指针错误、链路损坏自动生成一份完好可用的新 VMDK 描述符不破坏原有 flat 数据安全无损。使用场景适合提示 VMDK 结构损坏、无法加载磁盘快照合并失败、磁盘链异常轻微逻辑损坏、能看到文件但无法开机三、修复方案二利用 flat.vmdk 重新构建 VMDK 描述符如果vmkfstools -E修复失败或者直接描述符 vmdk 被误删、彻底损坏但flat.vmdk数据文件还在就用这种方法重建。核心原理只要大的 flat 数据文件完好我们手动新建一个正常的 vmdk 描述符指向原 flat 文件虚拟机就能正常识别开机。完整操作步骤SSH 进入虚拟机目录查看文件ls -lh确认xxx-flat.vmdk存在且大小正常。先备份原有损坏或空的 vmdkmv 原磁盘.vmdk 原磁盘_bak.vmdk新建一个同容量空白临时 VMDK和原来容量一致vmkfstools -c 磁盘大小 -d thin 临时.vmdk示例创建 100G 精简盘vmkfstools -c 100G -d thin temp.vmdk删除新建生成的临时 flat 文件只保留描述符rm temp-flat.vmdk把原完好的 flat 文件改名关联到新描述符mv 原磁盘-flat.vmdk temp-flat.vmdk将临时 vmdk 重命名回原来正式名称mv temp.vmdk 原磁盘.vmdk刷新权限、修复文件链vmkfstools -R 原磁盘.vmdk完成后回到 ESXi 页面编辑虚拟机重新选择这个磁盘即可正常开机数据完全保留。四、修复前后必做注意事项修复前一定要关闭虚拟机禁止磁盘占用状态下修复优先做文件备份再执行修复命令防止意外有快照先删除 / 合并快照再修复 VMDK不要在挂载、正在读写的磁盘上强行重建描述符修复完成后先测试开机确认系统、数据完整再正常使用。五、两种修复方式怎么选普通损坏、报 VMDK 错误、结构异常优先用vmkfstools -E自动修复简单省事。vmdk 描述符丢失、误删、严重损坏用重建描述符 关联原有 flat.vmdk成功率最高。六、常见误区避坑误以为 VMDK 损坏就等于数据全部丢失其实大多只是小描述符坏了不关机直接修复导致文件占用、修复失败重建描述符时磁盘容量和原盘不一致导致开机报错不备份直接覆盖原文件修复失败无法回滚。总结修复 ESXi 损坏 VMDK 核心方法就两种一是使用vmkfstools -E 坏盘.vmdk 修复盘.vmdk自动检测修复逻辑错误二是保留完好的 flat.vmdk 数据文件手动重建 VMDK 描述符重新关联。绝大多数虚拟机 VMDK 报错、无法挂载、开机找不到磁盘的问题用这两种原生方法都能无损恢复不用重装系统、不丢业务数据是 ESXi 运维必备实用技能。