前言

这是一篇面向大众的教程

对 bare vm supervisor 了解的不多,而ESXi的安装程序又有些智障,在x86软路由上,这安装程序的问题似乎尤为的突出…

这次折腾ESXi的途中被它坑了两下,这里简单的总结一下遇到的两个坑。

ESXi版本: 6.7.0 (官网 iso 镜像, rufus 写入 U 盘) 硬件: 小马 x86 软路由 V2

坑一

启动安装程序时,显示 Multiboot could not setup the video subsystem

router-esxi-issue-1.jpg

乍一看好像是不兼容显卡,或是缺了显卡驱动,但实际上是 ESXi 的安装程序需要当前显示器的分辨率不小于 1024x768

当 BIOS 的显卡设置为 Legacy 模式时,分辨率会被固定到 800x600,而 UEFI 模式是跟随当前显示器的。

于是我们在 BIOS 中找到显卡设置,把显卡模式改为 UEFI。 在我的环境上,这个选项在 CSM Configuration -> Option ROM execution -> Video

router-bios-1.jpg

router-bios-2.jpg

坑二

显卡相关的问题解决了,可是启动安装程序的时候,还是卡在了 Relocating modules and Starting up kernel

router-exsi-issue-2.jpg

这同样是安装程序的问题,在检查当前硬件是否为 headless (无显示器) 时卡住了。 我们可以通过给安装程序添加启动参数来跳过 headless 检查。

在安装程序启动后,加载安装文件前(左下角在倒计时 5 秒),按下 Shift+o 编辑启动参数,在后面加上 ignoreHeadless=TRUE 后回车,即可正常进入安装程序。

esxi-installer-loaded.jpg

在安装的最后一步,ESXi安装程序会提醒你移除你用来安装的 U 盘,然后重启,这里我们照做。 但需要注意,headless 检查并不只在安装程序中才有,而是在 ESXi 的每一次启动中都存在。 于是我们在重启之后,准备再一次按 Shift+o 添加 ignoreHeadless=TRUE 来启动到 ESXi 中。

在成功的启动到 ESXi 之后,我们要为 ESXi 永久添加这个跳过 headless 检查的参数,这样就不用每次重启都手动改一遍参数了。

首先在主界面中按 F2 esxi-main-screen

然后使用刚刚安装时设置的密码登录到 root 账户

esxi-login.png

选择 Troubleshooting Options

esxi-troubleshooting-options.png

然后我们打开 ESXi Shell

esxi-enable-shell.png

这时我们按 Alt+F2 进入 Shell,依然是使用 root 登陆

执行 esxcfg-advcfg --set-kernel "TRUE" ignoreHeadless 就可以了

还可以执行 esxcfg-advcfg –get-kernel ignoreHeadless 看看是否正确的设置了参数 如果返回 ignoreHeadless = TRUE 表示一切 OK

然后就可以执行 exit 退出 Shell 了,之后你可以把 ESXi Shell 功能关闭来提升安全性。

参考

http://plain-virt.blogspot.ca/2012/11/vsphere-5x-errors-installing-esxi-5x.html

https://community.spiceworks.com/topic/513331-multiboot-could-not-set-up-the-video-subsystem-esxi-install