本文适用版本:ESXi 7.0 U3 / 8.0 U2 / 9.0 GA(三版统一报错,解决方案略有差异)
阅读时长:约 8 分钟
难度:⭐⭐⭐(需在 DCUI/物理机前操作,不建议生产机远程盲操作)
一、为什么写这篇文章?
最近陆续有几位网友私信问同一个问题:装 ESXi 的时候跑到一半,屏幕突然卡住,报bootbank is corrupted,再也进不去系统。
搜遍全网,要么是让你"重新装一下试试",要么就是一堆英文论坛的复制粘贴。问的人还挺多,我就决定写一篇系统点的攻略,把这个问题彻底讲清楚。
好消息:这问题 90% 的情况下能救回来,不用推倒重来。
坏消息:前提是你得搞清楚是"真损坏"还是"假损坏"。
二、先搞懂 bootbank 是什么
ESXi 的系统盘有个特殊设计——为了保证升级可回滚,系统镜像会同时存在两个 bootbank 分区:
┌─────────────────────────────────────┐ │ /bootbank ← 当前启动的活动镜像 │ ├─────────────────────────────────────┤ │ /altbootbank ← 上次升级保留的备份 │ └─────────────────────────────────────┘ESXi 启动时会做校验:
- 读
/bootbank/boot.cfg,验证所有 VIB 的签名 - 如果校验失败,就尝试从
/altbootbank启动(回滚机制) - 两个都坏了才会报 “bootbank is corrupted”
关键认知:90% 的"corrupted"其实是签名校验失败,文件本身没坏。盲目重装会丢失自定义 VIB(网卡驱动、RAID 卡驱动、OEM 定制包)。
三、报错现场长什么样?
3.1 物理机安装阶段
[OK] Loading module ipmi_dev [OK] Loading module nvmexpress [!!] Cannot find boot configuration [!!] bootbank is corrupted [!!] The system cannot continue. Halting now.ESXi 安装器在写入 bootbank 那一刻就坏了,屏幕卡住。
3.2 已运行的 ESXi 主机
启动时停在这个界面:
Loading VMware ESXi... bootbank is corrupted. Unable to find a trusted signer for required updates. Press any key to continue boot from altbootbank.按任意键可能能从 altbootbank 起来,但系统会留下警告日志,/var/log/vmkernel.log里能看到:
WARNING: Bootbank: Cannot find a trusted signer WARNING: USB: device descriptor read/64, error -110四、三种根本原因 + 对应解法
我把所有 case 归成 3 类。
情况一:安装镜像本身坏了(最常见,占 60%)
症状:不同物理机用同一 U 盘装都报同一个错,或者新机器第一次装就报。
排查:
# 1. 校验 ISO 完整性(MD5/SHA256)certutil-hashfileD:\VMware-ESXi-8.0U2c-23825597-depot.zip SHA256# 官网给的 SHA256: a1b2c3d4e5f6...# 必须完全一致,一个字符都不差# 2. 校验 U 盘写入是否完整# Rufus 写完后勾选"校验写入",或用:ddif=/dev/sdbof=/tmp/usb_dump.imgbs=4M sha256sum /tmp/usb_dump.img解决:
# 重新下载 ISO(用官方镜像源)# 推荐用 VMware Customer Connect 而不是网上随便搜的"网盘版"# https://customerconnect.vmware.com/downloads/info/slug/datacenter-cloud-infrastructure/vmware-vsphere/8-0# 重新烧录 U 盘(推荐 Rufus,而不是 UltraISO)# 注意:Rufus 选 "DD 模式",不是 "ISO 模式"为什么 Rufus 必须用 DD 模式?
ISO 模式会改写 U 盘的 MBR 分区结构,ESXi 启动器识别不了;DD 模式是字节对字节复制,100% 还原 ISO 里的启动扇区。
情况二:硬件兼容性问题(占 30%)
症状:同一镜像在旧服务器上能装,在新服务器上就报 corrupted。多见于:
- 14 代以后的新 CPU(ESXi 9.0 优化方向)
- NVMe 5.0/PCIe 5.0 SSD
- RAID 卡直通模式 vs 硬件 RAID 模式混用
排查(进不去系统的,用另一台能跑的机器制作 live USB):
# 用 ESXi 自己的命令验证镜像兼容性(进入 Embedded Mode)# 启动时按 Shift+O 加引导参数:# runweasel cdromBoot allowHibernation=TRUE hddBootCimlerDelay=10# 装到一半卡住时,切到另一个 TTY(Alt+F1~F12)看日志tail-f/var/log/vmkernel.log# 常见报错:# "Unable to load module xxx: missing dependency"# "Unsupported CPU family"解决:
| 硬件 | 解法 |
|---|---|
| 14 代 Intel / AMD Genoa | 升级到 ESXi 8.0 U2b 以上,或用 ESXi 9.0 |
| NVMe 5.0 SSD | 进 BIOS 把 PCIe 5.0 槽降到 PCIe 4.0 |
| RAID 卡 JBOD 模式 | 进 RAID 卡 BIOS 改成 HBA / RAID 模式,不要混用 |
| 老机器装新版 ESXi | 用 VMware HCL(https://vmware.github.io/cpu-check/)验 CPU 兼容性 |
官方 HCL 验 CPU 命令:
# 在能联网的机器上跑curl-sLhttps://vmware.github.io/cpu-check/check.py|python3# 会输出 CPU 是否在 ESXi 8.0/9.0 支持列表情况三:签名校验失败 / altbootbank 也坏(占 10%,最难)
症状:镜像没坏、硬件也在 HCL 里,但启动就是过不去签名验证。
排查(需要从 altbootbank 或 Live USB 启动):
# 从 altbootbank 启动(如果还能起来)# /etc/init.d/hostd restart 不一定有效,直接重签:esxcli software profile update\--profileESXi-8.0U2c-23825597-standard\--depot/vmfs/volumes/your-datastore/iso/VMware-ESXi-8.0U2c-23825597-depot.zip强力解法:用esxcli software profile install --dry-run先干跑一遍:
# 先把镜像传到 ESXi 的某个 datastore(用 vCenter 拖文件 / Winscp / scp)# 推荐放 datastore 而不是 /tmp,后者重启会被清esxcli software profileinstall\--dry-run\--depot/vmfs/volumes/datastore1/iso/VMware-ESXi-8.0U2c-23825597-depot.zip\--profileESXi-8.0U2c-23825597-standard# 看输出里有没有 "VIBs to be installed" 和任何 warning# 如果 dry-run 没问题,再去掉 --dry-run 真装如果还是失败,用核武器级方案——手动重建 bootbank:
# ⚠️ 高危操作,需要从 ESXi Live CD 启动(VMware-VMvisor-Installer 镜像本身可当 Live USB)# 1. 挂载损坏的 bootbankmkdir/mnt/brokenmount/dev/sda5 /mnt/broken# sda5 视实际情况而定# 2. 备份里面残留的 VIB 列表ls/mnt/broken/boot.cfgcat/mnt/broken/boot.cfg|grepmodules# 3. 用新镜像里的 boot.cfg 覆盖cp/mnt/usb/boot/boot.cfg /mnt/broken/boot.cfg# 4. 把缺失的 VIB 从镜像里补回来forvibin/mnt/usb/vib20/*/*.vib;docp$vib/mnt/broken/done# 5. 卸载重启umount/mnt/brokenreboot五、装完后,做 3 件事防止再犯
- 永远保留原始 ISO 的 SHA256 校验值,存到内部 Wiki
- 升级用 vLCM(vSphere Lifecycle Manager)而不是手动 esxcli,vLCM 会先 dry-run
- 装系统时拍快照——虚拟化部署工具(MAAS、Cobbler、Foreman)能保留 bootbank 完整备份
六、速查命令卡(可收藏转发)
# 校验镜像sha256sum VMware-ESXi-*.iso# 验证 dry-run 安装esxcli software profileinstall--dry-run--depot/path/to/depot.zip--profileESXi-X.XUXX-XXXXXXX-standard# 手动重建 bootbank(从 Live CD)mount/dev/sda5 /mnt/brokencp/mnt/usb/boot/boot.cfg /mnt/broken/umount/mnt/brokenreboot# 检查当前 bootbank 健康度esxcli storage filesystem list|grepbootbank