尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ESXi-Customizer实战:给官方ISO注入RAID与网卡驱动,解决安装卡壳

ESXi-Customizer实战:给官方ISO注入RAID与网卡驱动,解决安装卡壳 简介ESXi-Customizer 是一套面向 VMware ESXi 管理员与运维人员的自定义 ISO 构建工具核心用途是将 Realtek 系列网卡驱动R8168、R8169、8139、R8161、R8151直接集成进 ESXi 安装镜像解决非标准硬件部署时无法识别网卡的问题。压缩包内为 v2.7.2 版本工具共 38 个文件、大小仅 5.27MB包含可执行程序、vib 格式驱动包、txt 说明文档、dll 运行库及 au3 自动化脚本结构清晰适合需要快速制作自定义 ESXi 安装盘的初中级运维人员。其中驱动覆盖多款 Realtek 千兆/百兆网卡并附有 README、CHANGES 等说明文本便于理解版本差异与集成流程。目前已有 542 人学习下载对经常处理 ESXi 部署和硬件兼容性调试的 IT 人员来说是一份轻量实用的工具包。 ESXi装到一半卡在“找不到硬盘”或者“网卡未识别”这种场景玩过物理机虚拟化的朋友应该都不陌生。尤其是联想ThinkSystem、戴尔R系列这类服务器自带RAID控制器和万兆网卡官方ESXi镜像往往不带对应驱动装到存储那一步直接筛掉一批人。今天聊的ESXi-Customizer就是专门解决这类“官方ISO缺驱动”问题的封装工具可以把网卡驱动、存储控制器驱动、甚至OEM补丁直接打进去生成一个“开箱即识别”的自定义安装镜像。这篇文章我会把工具选型、封装步骤、以及我在实际部署中踩过的坑一并写清楚适合正在折腾ESXi 7.0/8.0安装和驱动的朋友。1. 先聊清楚为什么官方ISO不够用ESXi-Customizer要解决什么问题1.1 ESXi-Customizer到底是什么ESXi-Customizer本质上是一个镜像封装器它做的事情很简单解包官方ESXi ISO、把额外驱动或补丁塞进去、重新打包成新的ISO。早期它有一个图形化版本叫ESXi-Customizer v2.x在ESXi 6.x时代非常流行很多装机教程里都有它的身影。后来VMware在ESXi 7.0之后调整了镜像签名和引导方式旧版GUI工具对新版本往往不生效于是社区逐渐转向了基于PowerShell的ESXi-Customizer-PS脚本名字听起来像是升级版其实是一个独立维护的项目。我自己的理解是ESXi-Customizer不是“万能的驱动注入器”它的核心价值在于定制“引导期驱动”。也就是说它注入的是ESXi安装程序在启动阶段就能识别的驱动目的是让安装过程顺利进行。系统装上之后部分驱动可以在运行时通过VIB包再补但安装时就卡住的话连补的机会都没有这就是工具存在的真正意义。1.2 什么时候你会用到它什么时候需要封装自定义镜像我列几个最常见的场景。服务器装了RAID卡如PERC H730P / H740P、Adaptec 88xx系列但ESXi安装界面里看不到RAID卷。主板板载网卡是Intel I350 / I210 / X710 / X550等官方镜像不带或驱动版本过旧安装后管理地址出不来。需要在安装阶段直接支持一些特殊硬件比如NVMe硬盘部分老版本ESXi对NVMe支持不全、USB网卡等。想把一些OEM官方补丁、社区驱动如Realtek网卡驱动预先整合进镜像避免每次装系统都要手工加载驱动。批量部署多台同型号服务器希望使用同一个定制镜像保持硬件兼容性。符合这些场景ESXi-Customizer就能帮你省掉大量重复操作。不过得提醒一句如果在普通家用台式机上装ESXi碰到“认不出硬盘”或者“没有网卡驱动”先别急着封镜像。先确认是不是BIOS/UEFI模式不匹配这一点我在后面问题排查章节会细说。1.3 “安装ESXi还是直接装Windows”这题其实不冲突每次分享ESXi相关工具总会有人问“我到底该装ESXi还是直接装Windows”。这个问题在定制ISO的语境下其实可以换个角度想ESXi是底层裸金属虚拟化平台它的优点是硬件开销小、稳定性高、适合长期跑虚拟机缺点是硬件兼容性天然比Windows挑剔。Windows恰恰相反几乎任何硬件都有驱动但资源开销大、需要维护系统本身。如果你只是想跑一两个轻量应用比如软路由、下载机直接用Windows或Linux更省事如果你想在一台机器上稳定跑软路由、NAS、Windows虚拟机、Linux开发环境并且愿意折腾驱动兼容性那ESXi才值得投入。我写这篇指南默认读者已经选了ESXi这条路剩下的问题就是怎么把ISO搞定。2. 两种主流封装方案与工具选型2.1 图形化工具版ESXi-Customizer v2.xESXi-Customizer v2.x是很多早期教程里的主角Windows图形界面几步就能完成驱动注入。它支持往镜像里加VIB离线包、OEM.tgz补丁还允许自定义bootbank里的引导参数。它的原理是通过读取ESXi镜像内depot索引把第三方VIB解压并纳入镜像依赖树。但这里有个大坑老版本ESXi-Customizer只适配ESXi 5.x/6.x的镜像结构。ESXi 7.0无论怎么折腾它生成的镜像大概率会在引导时直接报错或者安装器根本起不来。所以我现在的态度很简单ESXi 6.7及以下版本可以用GUI版ESXi 7.0以上别抱侥幸心理直接上PowerShell脚本版。2.2 PowerShell脚本版ESXi-Customizer-PSESXi-Customizer-PS是目前维护活跃、兼容性最好的封装方案。它运行在装有PowerShell的Windows机器上本质是调用VMware PowerCLI的ImageBuilder模块把驱动包整合进ESXi镜像。它的命令结构很清晰下面是一个典型使用方式。# 导入ESXi-Customizer-PS脚本假设已下载到当前目录 .\ESXi-Customizer-PS.ps1 -iz ..\ESXi\VMware-ESXi-7.0U3g-20328353-HPE-20221001.iso -pkgDir ..\DriverPackages -outDir ..\Output参数含义我解释一下-iz指定原始ESXi ISO路径。-pkgDir指定存放VIB离线包.zip或.vib的目录脚本会自动识别里面的depot。-outDir指定生成ISO的输出目录。还可以加-vft参数强制保留社区驱动的VIB不打签名校验。这个脚本最大的优点是利用PowerCLI的在线依赖库和ImageBuilder引擎理论上可以完整保留ESXi的签名体系生成镜像在物理机上引导时会干净很多。2.3 其他“平替”方案除了ESXi-Customizer这条路还有几个替代方案我简要对比一下方便你根据场景选择。工具/方案适用版本优点缺点ESXi-Customizer v2.xESXi 6.x及以下图形界面简单直观已停止维护对7.0无效ESXi-Customizer-PSESXi 7.0/8.0兼容性最好支持PowerCLI需要Windows环境且要装PowerCLI模块VMware ImageBuilder图形shell7.0/8.0VMware官方离线命令稳定可靠命令较多学习成本略高在线ESXi镜像生成器如HPE厂商定制ISO各OEM版本厂商已内置大量驱动仅限对应品牌服务器可用从实操体验来看ESXi-Customizer-PS综合表现最好。虽然PowerCLI初装有点繁琐但封装一次之后后续换驱动版本、加新补丁都非常灵活值得花时间配置好。3. 基于ESXi-Customizer的完整封装实操3.1 动手前准备软件环境与驱动包获取先说环境。建议准备一台Windows 10/11机器安装以下东西VMware PowerCLI直接在PowerShell里执行Install-Module -Name VMware.PowerCLI -Scope CurrentUser即可注意PowerCLI 12及以上版本需要.NET Framework 4.8或更高。ESXi-Customizer-PS脚本从社区仓库或者GitHub下载解压到工作目录。原始ESXi ISO建议从VMware官网、Broadcom官网或服务器OEM厂商官网下载比如联想ThinkSystem的定制ISO不要从不明来源下载防止镜像被篡改。然后是驱动包来源。驱动包一般可以分为三类官方VIB离线包从VMware Compatibility Guide里找到对应硬件下载官方提供的VIB zip文件。社区驱动包比如Intel网卡的igb/ixgbe驱动、Realtek驱动这些经常在VMware社区论坛或GitHub上有维护者发布zip包。OEM补丁比如HPE、Dell、Lenovo服务器管理工具的VIB包需要品牌对应的官方离线仓库。我个人的习惯是先用VMware官方兼容性列表找找不到再去社区找。因为官方VIB与ESXi的版本绑定更严格出问题概率小。要注意的是驱动包版本必须与目标ESXi版本匹配比如ESXi 7.0 Update 3用的驱动包直接塞到ESXi 8.0里大概率会报签名或依赖错误。3.2 注入驱动的具体配置流程我把整个流程拆成可复现的步骤假设你已经在工作目录下准备好了脚本、原始ISO和驱动包。第一步启动Windows PowerShell管理员模式确认PowerCLI加载正常Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force Import-Module VMware.PowerCLI -ErrorAction Stop如果提示允许脚本执行选Y如果PowerCLI找不到先执行Install-Module -Name VMware.PowerCLI。第二步新建两个目录把原始ISO和驱动包分别放好。我的习惯是C:\ESXi-Custom\ ├── ESXi-Customizer-PS.ps1 ├── Source\VMware-ESXi-7.0U3g-20328353-HPE-20221001.iso ├── DriverPackages\Intel-i350-igb_1.5.1-1.zip └── Output\第三步执行封装命令。我结合Intel I350网卡驱动和RAID驱动的真实场景给出一个具体命令示例.\ESXi-Customizer-PS.ps1 -iz C:\ESXi-Custom\Source\VMware-ESXi-7.0U3g-20328353-HPE-20221001.iso -pkgDir C:\ESXi-Custom\DriverPackages -outDir C:\ESXi-Custom\Output -nsc-nsc参数表示不进行签名校验官方VIB不需要加这个参数但社区驱动经常因为签名链不完整被拒绝所以我一般加上。执行过程中脚本会把原ISO解包、构建ImageProfile、添加驱动、重新打包ISO耗时会根据驱动包的大小有所不同通常几分钟到十几分钟。第四步执行完成后检查Output目录。如果一切正常会生成VMware-ESXi-7.0U3g-20328353-custom.iso文件。我把生成的ISO名习惯改成包含驱动信息的名字比如ESXi-7.0U3g-custom-for-I350-RAID.iso方便日后区分。3.3 生成ISO后的验证这一步别省很多人封装完就直接刻盘安装结果引导失败又回头怀疑工具。其实生成ISO以后最好花两分钟做个简单验证先用压缩软件打开生成的ISO查看bootbank目录下是否有对应的VIB文件正常会看到vmtools、igb等驱动相关的VIB包。再把ISO放到虚拟机或用Ventoy写入U盘后引导一下看是否会出现ESXi安装器的欢迎界面。我就遇到过Windows PowerShell杀毒软件把生成过程中的临时文件误删导致ISO损坏的情况所以“先引导验证再量产”这条流程建议每个人踩实。3.4 RAID5与直通场景下的封装注意事项“ESXi怎么识别RAID5”这个热搜问题封装层面其实没有特殊魔法。RAID5是RAID控制器做的逻辑卷ESXi能不能识别取决于控制器驱动是否注入。比如联想ThinkSystem内置的PERC RAID控制器需要用厂商对应的mpt3sas或megaraid_sas驱动VIB封装进镜像后安装界面会自动把RAID5卷识别为一个普通磁盘不需要额外配置。只是在安装后建议再进RAID控制器管理界面确认阵列状态为“在线”防止ESXi只识别到物理盘而看不到逻辑卷。而Intel I350网卡直通这块封装驱动只是第一步。ESXi 7.0/8.0安装完成后如果要把I350网口直通给iStoreOS虚拟机必须在直通硬件时确认网卡处于未绑定状态iStoreOS侧如果igb驱动版本和ESXi直通后的硬件交互有问题常见表现是虚拟机内网口频繁断开或速率掉到100Mbps。这通常不是驱动没注入ESXi而是直通后宿主和虚拟机驱动对网卡硬件初始化状态的理解不一致。解决办法是把I350网卡的直通顺序换一下或者给虚拟机手动指定PCI设备必要时升级iStoreOS内核与igb驱动。整套问题在ESXi-Customizer工具层面是解决不了的它只能保证ESXi本身能识别并管理这块网卡。4. 安装与后续运维中的高频问题与排查4.1 安装时认不出硬盘/网卡先按顺序排查ESXi安装认不出硬盘是DIY装机用户最常遇到的问题。我要强调一个容易被忽略的现象很多消费级主板开启了Intel VMDVolume Management Device功能ESXi官方镜像默认不带VMD驱动所以即使硬盘是NVMe SSD安装界面也会空白。这种情况在BIOS里关闭VMD或开启“VMD passthrough”模式往往就解决了。如果确定是RAID控制器驱动缺失才需要走ESXi-Customizer封装路线。网卡同理先看网卡型号和驱动是否在官方兼容性列表中。如果网卡过于新、官方没有驱动再从社区找VIB包注入。我遇到过一种情况驱动包注入成功、ISO也引导成功但装完系统后管理地址始终不出来最后发现是网卡在BIOS里被禁用或者Port Group配置不对。所以检查顺序永远是硬件是否识别esxcli network nic list→ 驱动是否加载vmkload -l igb→ 网络是否upesxcfg-nics -l→ 管理网络是否配置正确。4.2 Intel I350直通与iStoreOS igb驱动不兼容的实战心得iStoreOS配合I350网卡直通是社区里非常火的一种玩法。把I350四个网口直通给iStoreOS当软路由性能好、延迟低。但有个典型的坑iStoreOS默认加载的igb驱动版本跟ESXi直通后的硬件状态不匹配会导致网口反复link down/up。我在一次部署里遇到的现场是四个直通网口两个正常、两个间歇性掉线错误日志里全是link change事件。排查到最后定位到是iStoreOS内核内置的igb 5.x驱动和Intel I350新版固件冲突。解决的路线有两条一是换iStoreOS固件版本找一个内核驱动更稳定的版本二是在iStoreOS里手动升级igb驱动模块如果不熟悉内核编译建议优先换固件。这个问题的本质和ESXi-Customizer封装并无直接关系ESXi只需要保证网卡在宿主机里驱动正常即可。因此当你看到“esxi直通i350与iStoreOS igb不兼容”这类热搜先冷静判断问题出在哪一层不要一上来就重封装ISO。4.3 网卡/显卡直通导致DevicePowerOn启动故障ESXi里做PCIe直通比如显卡直通给Windows虚拟机时经常遇到一个报错Failed to power on VM : DevicePowerOnFailure。通常的原因是设备被写入PCI passthrough配置后宿主机的vfio驱动初始化失败或者是设备正被宿主机自身占用。我的排查步骤是# 查看已配置直通的设备 esxcli hardware pci pcipassthru list # 查看直通设备当前状态 esxcli hardware pci list | grep -A 10 I350显卡直通尤其麻烦NVIDIA显卡在ESXi下有时需要隐藏GPU的vendor ID否则虚拟机里驱动报错43。这个操作和ESXi-Customizer无关需要在虚拟机配置文件.vmx里添加参数hypervisor.cpuid.v0 FALSE如果是AMD显卡还要加pciHole0MemSize等内存孔洞参数。这里提醒一下直通问题尽量在虚拟机配置层面找原因不要动不动就打补丁重封装镜像。4.4 ESXi里安装Win11提示不符合要求有一些朋友会在ESXi里装Win11结果安装程序提示CPU或TPM不符合要求。在物理机上Win11要求TPM 2.0和安全启动。在ESXi虚拟机里解决办法是在虚拟机设置里添加“可信平台模块”并开启UEFI引导同时打开安全启动。具体操作编辑虚拟机设置 → 虚拟机选项 → 引导选项 → 将固件改为UEFI → 勾选安全启动再在“添加硬件”里添加“可信平台模块”。虚拟机硬件版本建议调到最新比如兼容ESXi 7.0后的版本。直通显卡打游戏的话还要单独设置显存类型这些和ESXi-Customizer没有关系但属于ESXi整机运维的高频坑就一并写在这里了。4.5 SSH连接、远程传文件与误删镜像的补救装好ESXi之后SSH是日常管理高频入口。命令行开启SSH很简单在DCUI按F2进入管理界面里找到Services → TSM-SSH → 启动且设为“start and stop with host”避免重启后失效。从Windows远程给ESXi数据存储传文件我最常用的是scp命令简单直接。比如把new.iso传到datastore1的根目录scp C:\local\new.iso rootesxi-ip:/vmfs/volumes/datastore1/如果传大文件建议用sftp或图形化工具比如WinSCP。误删镜像这种事我在同事那里见过不止一次。ESXi数据存储上删掉ISO后如果数据存储还有剩余空间立刻把数据存储设为只读或停止写入操作再用专业数据恢复工具去扫描有一定概率找回来。但更靠谱的建议是ISO源文件别只放一份在本地和NAS上都留备份因为ESXi数据存储本身不是为长期归档设计的。4.6 版本选择、许可证与镜像下载的避坑指南ESXi 8.0镜像的下载现在各大厂商都统一到Broadcom官网了。VMware原版、HPE定制版、联想ThinkSystem定制版镜像都能在对应官网找到。需要注意Broadcom官网下载需要注册账号并选择正确的产品线不同版本的镜像文件厂商都会标注支持的服务器型号。不建议下载所谓“精简版”“整合版”第三方镜像因为一旦集成不明来源的驱动轻则安装失败重则存在安全风险。序列号和许可证这块如果你只是个人学习完全不需要找什么破解序列号。ESXi安装完默认是评估模式有60天周期VMware官方提供免费版的许可证密钥可以用来解锁vSphere Hypervisor免费版功能和评估模式基本一致但不包含vCenter等高级功能。直接在VMware官网申请即可。6.7的序列号在7.0/8.0上不通用升级版本后需要重新换对应版本或免费密钥。4.7 高频问题速查表问题现象可能原因优先排查路径安装界面看不到硬盘RAID/VMD驱动缺失先关BIOS的VMD再封镜像补RAID驱动安装界面没有网卡网卡驱动版本过旧或未注入确认网卡型号注入对应VIB包管理地址出不来管理网络配置错误或网卡未认用esxcfg-nics -l查看物理网卡状态I350直通后网口不稳定直通后驱动归属冲突换iStoreOS内核或调整直通顺序虚拟机启动报DevicePowerOn失败PCI直通设备初始化异常释放PCI设备检查vfio状态调.vmx参数Win11安装提示不符合要求缺TPM/UEFI/安全启动虚拟机里加TPM开启UEFI和安全启动误删数据存储ISO无备份或数据覆盖立即停止写入尝试数据恢复根本解法是留备份设备直通后宿主机无法管理直通设备被宿主占用用pciPassthru.ignoreUUID参数绕过最后再说点实在的我用ESXi-Customizer封装过的ISO少说也有几十个。从早期手动解包改VIB到后面用PowerCLI一条命令解决最大的体会是工具只是辅助关键还是搞清楚硬件兼容性链条。官方ISO缺驱动是“半成品”不是“废品”通过ESXi-Customizer补丁封装就能救回来但如果你在BIOS设置、引导模式、直通配置这些基础环节出了问题再好的定制ISO也救不了。所以我的建议是先花十分钟确认硬件兼容性和BIOS配置再动手封装镜像。工具下载好之后第一次务必用虚拟机或U盘先引导验证一次。驱动包尽量用官方和知名社区维护的版本命名规范点版本号写清楚。这样就算半年后要重新部署翻出打包记录就能立刻上手。最后补一句别把定制ISO当成万金油ESXi 7.0之后的镜像结构变化明显老教程里的参数套到8.0上可能直接报错遇到问题实时查官方文档和PowerCLI版本更新日志比到处问人有效得多。本文还有配套的精品资源点击获取
返回列表