При установке платформы VMware ESXi 7 или 8 на сервер с процессорами Intel Core 12 поколения возникает розовый экран смерти (PSOD), содержащий следующие сообщения:
HW feature incompatibility detected; cannot start
Fatal CPU mismatch on feature «Hyperthreads per core»
Fatal CPU mismatch on feature «Cores per package»
Fatal CPU mismatch on feature «Cores per die»
ошибка полностью:
VMuare ESX1 8.0.3 (Releasebuild-25067014 x86_641
HM feature incompatibility detected: cannot start
cr0=0x8001003d cr2=0x0 cr3=0x604000 cr4=0x14012c
FMS=06/b7/1 uCode=0x12e
×PCPUG:524288/bootstrap
Code start: 0x120019a00000 VMK uptime: 0:00:00:02.503
0x452084398d10:10x420019b7c2c01PanicvPanicInt@vmkerne1#nover+0x20c stack: 0x42081a1de5c8
0x452084398dc0:(0x420019b7ca3c1Panic_NoSave@vmkerne1#nover+0x4d stack: 0x452084398e20 0x452084398e20:(0x420019a8a03e1CPU_CheckUniformity@umkerne1#nover+0xd43 stack: 0x420045c00000
0x452084398e80:[0x420019a815ee1SMP_BootAPs0vnkerne1#nover+0x18f stack: 0x4538c0b9f000
0x452084398ee0:10x420019b883a91SysInitTable_Start@unkerne1#nover+0x72 stack: 0x2
0x452084398f30:[0x420019b5f0641InitVMKerne10vnkerne1#nover+0x25 stack: 0x0
0x452084398f60:10x420019a408091LegacyBootVMKerne1@vnkerne1inover+0x256 stack: 0x100000
0x452084398fc0:10x420019alc9b41BootVMKerne10umkerne1#nover+0x1ed stack: 0x4d1f68 base fs=0x0 gs=0x420040000000 Kgs=0x0
0:00:00:02.579 cpu0:524288)Cpu: 2626: Fatal CPU mismatch on feature «Intel performance monitoring capabilities» (MSR 0×345): B value — 6x174ff, but t cpu8 value 0x74гf 0:00:00:02.579 cpu0::524288)Cpu: 2660: Fatal CPU mismatch on feature «Cores per die»; cpu8 value = 0x20, but
0:00:00:02.579 cpu0:524288)Cpu: 2660: Fatal CPU mismatch on feature
cpu0 value = 0x10
0:00:00:02.579 срu0:524288)Cрu: 2 : 2660: Fatal CPU mismatch on feature «Cores per tile»: cpu8 value = 0x20, but cpp value = 0×1
0x2
«Cores per madule»; cpu8 value = 0x20, but cpu0 value = 0 0:00:00:02:579 cpu0:524288)Cpu: 2660: Fatal CPU mismatch on feature «Hyperthreads per core»»; cpu8 value = 0x1, but cpu0 value
0:00:00:02:579 cpu0:524288)Cpu: 2660: Fatal CPU mismatch on feature «Cores per package»; cpu8 value = 8×20, but cpu0 value = 0
0:00:00:02:579
cpu0:524288)Cpu: 2660: Fatal CPU mismatch on feature «Cores per tile»: cpu9 value = 0x20, but cpu0 value = 0×10 0:00:00:02:579 cpu8:524208)Cpu: 2660: Fatal CPU mismatch on Feature «Cores per module»: cpu9 value = 0x20, but cpu0 value = 0x1 0x2
0:00:00:02.579 cpu0:524288)Cpu: 2660: Fatal CPU mismatch on feature «Hyperthreads per core»: cpu9 value = 0x1, but cpu0 value =
0:00:00:02.579 cpu0:524288)Cpu: 2660: Fatal CPU mismatch on feature «Cores per package»: cpu9 value = 0x20, but cpue value = 0x1
No disk partition configured to dump data.
No file configured to dump data.
No port for remote debugger.
Проблема здесь заключается в том, что новая архитектура процессоров Intel идет с ядрами двух типов — Performance-cores и Efficient-cores. Начиная с vSphere 7.0 Update 2, в ядро гипервизора был добавлен параметр cpuUniformityHardCheckPanic для того, чтобы избежать подобной проблемы, которая проявляется в следующих версиях платформы виртуализации:
- vSphere / ESXi 8.0 или более поздние
- vSphere / ESXi 7.0 Update 2 или более поздние
1. Итак, в самом начале установки ESXi нажимаете SHIFT+O, чтобы изменить параметры загрузки. Далее в появившейся строке вводите:
cpuUniformityHardCheckPanic=FALSE

2. После этого нажимаете Enter и дожидаетесь окончания установки.
3. Затем во время первой загрузки опять нажимаете SHIFT+O и вводите ту же самую строчку.
4. А уже когда гипервизор загрузится, нужно добавить следующую строчку в параметры ядра, чтобы отключить проверку, а ESXi не вылетал в розовый экран при каждой загрузке:
# esxcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE
Также есть метод, описанный для установки через механизм автоматизированного развертывания Kickstart:
1. Создаем флэшку USB с ISO-образом ESXi, как написано здесь.
2. Открываем файл /efi/boot/boot.cfg в редакторе и добавляем следующую опцию в строчку kernelopt= параметров ядра:
ks=usb:/KS.CFG cpuUniformityHardCheckPanic=FALSE

3. Далее вам надо создать файл /KS.CFG для конфигурации Kickstart и в секциях %post (пост-параметры установки, но до первой загрузки) и %firstboot (первая загрузка) добавить следующее:
vmaccepteula
install --firstdisk=usb --overwritevmfs network --bootproto=static --ip=192.168.0.26 --netmask=255.255.255.0 --gateway=192.168.0.1 --hostname=esx12.virten.lab --nameserver=192.168.0.1
rootpw VMware1! %post --interpreter=busybox /bin/mcopy -o -i /dev/disks/mpx.vmhba32\:C0\:T0\:L0\:5 ::BOOT.CFG /tmp/BOOT.cfg
/bin/sed -i '/kernelopt/s/$/ cpuUniformityHardCheckPanic=FALSE/' /tmp/BOOT.cfg
/bin/mcopy -o -i /dev/disks/mpx.vmhba32\:C0\:T0\:L0\:5 /tmp/BOOT.cfg ::BOOT.CFG
/bin/reboot %firstboot --interpreter=busybox # Enable SSH
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh # Enable ESXi Shell
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell # Suppress Shell warning
esxcli system settings advanced set -o /UserVars/SuppressShellWarning -i 1 # Disable CPU Uniformity Check
localcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE # SSH Key
cat > /etc/ssh/keys-root/authorized_keys <<EOF
ssh-rsa AAAAB3N[...] yourname
EOF # NTP
esxcli system ntp set -s pool.ntp.org
esxcli system ntp set -e 1
4. Далее можете провести установку с USB-флэшки, а через пару минут вы уже сможете получить доступ к ESXi через консоль или по SSH.
5. Если вы используете механизм Secure Boot, то обычно секция %firstboot не применяется (так работает по умолчанию на большинстве систем). Поэтому вам потребоваться ввести команды этой секции вручную или отключить Secure Boot. С командами раздела %post все будет в порядке.
6. По окончании установки через Kickstart все будет работать:



