为了让服务器更拉风,把主板从 ASRock Z390-Pro4 换成了 Asus Z390-A,这样一来就有 PCIe x8 + x8 + x4 插槽可以插各种卡。但是,机器装好,开机进入 ESXi 6.7 的时候,紫屏崩溃了。报错“Firmware bug: RMRR overlaps system memory”。
网上能查到的解决办法,一种是调整 PCI 子系统让其不占用 4GB 以上的内存空间,另外一种就是升级 BIOS。但是,我这里已经更新了目前最新的 1903 BIOS,依然报错。
仔细看了一下报错原因,是 UEFI 固件里面缺少对主板某些功能的内存预留记录。那是不是说换成功能更少的老固件就可以了呢?
于是,经过一个版本一个版本的尝试,终于找到了可以成功引导 ESXi 的版本:1602。
顺便记录一下需要注意的设置项目:
- 将 Intel Virtualization 设置成 Enabled
- 将 VT-d 设置成 Enabled
- 将 Decode above 4G memory 设置成 Enabled
- 将 Memory remap 设置成 Enabled
- 将 SR-IOV 设置成 Enabled
另外,为了能将 UHD 630 集显直通给 Plex 服务器,我又多插了一张 Zotac ION GT218 亮机卡。这卡的优点是,只需要一个 PCIe x1 插槽。但是,在 BIOS 里面将主显卡设置成 PCIE 之后,开机一长三短提示音报错无法找到显卡。原来这块主板的 BIOS 认为 PCIE 显卡就只能插在那两个 x16 插槽上。后来摸索了半天,找到的解决方案如下
- 将 Primary graphics 设置成 Auto
- 将 iGPU Multi-display 设置成 Enabled
- 打开 CSM
这样就可以使用 PCIe x1 插槽上的亮机卡了。