ESXi产品分为两种:OEM版和官方版。对于没有购买ESXi授权的用户,公开可下载的只有OEM版(即针对于各厂商特定机型定制的版本),而OEM版又极有可能不包含非OEM的专有驱动(这里特指网卡驱动,因为如果ESXi无法检测到网卡则会强制终止安装),本文将基于ESXi 6.5版本对ESXi的镜像做自定义化处理,加入自定义的网卡驱动。
补充说明
经过实际测试,本文的方案向下兼容至ESXi 5.5(即可用范围为5.5-6.7),但可能不适用于ESXi 7及之后的版本。
测试过程中ESXi 7仍能正常生成ISO,但会提示组件版本有问题。
1 | Warning: The image profile fails validation. The ISO / Offline Bundle will still be generated but may contain errors and |
目前根据不同方面的测试报告显示,通过本文方案封装的ESXi7的镜像有些可以启动有些不能(会报Warning,暂不清楚是否能够继续安装)。总之现在应该是有新方案了的,不过本人最近没空测试,等之后有空了应该会再水一篇文章。
本人实测不行,检测不到网卡。
准备
一般来说需要准备PowerCLI工具、Offline Bundle包和驱动VIB文件。
在线安装PowerCLI
以管理员身份打开PowerShell,输入如下指令安装vmware PowerCLI:
1 | Install-Module -Name VMware.PowerCLI |
正常来说,此时会有询问是否从NuGet存储库安装,两次询问全选Y
即可安装。
测试是否正确安装可输入Import-Module VMware.PowerCLI
,如果没有红色字报错,则安装成功,正常Import
后的输出应该是有黄色字的“Warning”然后过一会自动退出无其他返回。
离线安装PowerCLI
当然哪有那么简单,我这实测根本无法从PSGallery安装模块,速度奇慢,加了代理也是一样。多等一会就好了,因为我之前装过旧版本的PowerCLI没删干净导致手动安装总会有问题。如果之前你也安装过旧版本的PowerCLI请一定要先卸载干净了之后重启电脑再离线安装。
因此我决定手动安装。
- 首先打开VMware PowerCLI下载“Download”下的ZIP包,该包内包含了PowerCLI及其全部依赖项。
- 以管理员身份打开PowerShell,执行:之后会返回一串以分号分割的路径,从第一个路径开始,如果在资源管理器中可以打开,则将上一步下载的ZIP文件解压到该目录中。
1
$env:PSModulePath
如果你所打开的文件夹中包含以
vmware.
开头的文件夹,则删除全部以vmware.
开头的文件夹。 - 配置安全策略:忽略证书验证:
1
Set-ExecutionPolicy RemoteSigned
验证安全策略:1
Set-PowerCLIConfiguration -Scope AllUsers -ParticipateInCeip $false -InvalidCertificateAction Ignore
返回1
Get-ExecutionPolicy
RemoteSigned
即可。 - 解除模块block:验证是否正确安装:
1
Get-ChildItem * -Recurse | Unblock-File
如果有正确返回:1
Get-Module -Name VMware.PowerCLI -ListAvailable
即为安装成功。1
2
3ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 12.7.0.... VMware.PowerCLI
同样的,也可以通过
Import-Module VMware.PowerCLI
来检测是否正确配置。
下载ESXi
- 打开产品补丁程序下载页面。
- 第一个下拉框选择
ESXi (Embedded and Installable)
,第二个下拉框选择版本,然后点“搜索”,一般选择列表的第一项“立即下载”即可。
下载网卡驱动
- 打开List of currently available ESXi packages下载网卡驱动,找到你的网卡芯片型号,比如我这里是
RTL8168
,则点进Net55-r8168
页面。 - 在最下方
Direct Download links
中选择VIB文件下载(VIB File)。
下载ESXi-Customizer-PS
在任意无中文、无空格、无特殊字符的目录下clone仓库:
1 | git clone https://github.com/VFrontDe/ESXi-Customizer-PS.git |
如果你没有Git,也可以打开这个链接下载一个ZIP包,解压之后一样用。
加入驱动
- 把刚才下载的离线bundle包(ESXi那个ZIP文件)移入“ESXi-Customizer-PS”文件夹
- 在“ESXi-Customizer-PS”目录下新建一个文件夹,命名
pkg
- 把刚才下载的VIB文件(驱动文件)丢进
pkg
这个文件夹 - 以管理员身份打开PowerShell,切换到刚才clone的“ESXi-Customizer-PS”文件夹
- 在“ESXi-Customizer-PS”文件夹执行:
1
.\ESXi-Customizer-PS.ps1 -izip .\ESXi650-202210001.zip -pkgDir .\pkg
如果此时正确执行了ESXi-Customizer
,则此时应有如下返回:
1 | Running with PowerShell version 5.1 and VMware PowerCLI version 12.7.0 build 20091289 |
此时在上方倒数第二行的路径应有一个新建的ISO文件,是已经集成好驱动的ESXi镜像文件。该镜像文件和OEM镜像是一样的,可以烧录到U盘或其他介质引导安装。
参考资料
排名不分先后