Обновление сервера HPE ProLiant DL380 Gen8 до SPP 2017.11.06_Gen8.1 приводит к невозможности загрузки ОС Windows Server 2016 с ошибкой Uncorrectable PCI Express Error (Embedded device, Bus 0, Device 28, Function 7, Error status 0x00100000)

Updating the HPE ProLiant DL380 Gen8 server to SPP 2017.11.06_Gen8.1 results in the inability to boot Windows Server 2016 with the error Uncorrectable PCI Express Error (Embedded device, Bus 0, Device 28, Function 7, Error status 0x00100000)После развёртывания ОС Windows Server 2016 на сервере HPE ProLiant DL380 Gen8, как обычно, требуется выполнить установку драйверов, необходимых для корректной работы оборудования. И одним из основных способов сделать это быстро, является запуск пакета HPE Service Pack for ProLiant (SPP). Однако в случае развёртывания всех драйверов, которые предлагаются к установке в HPE Smart Update Manager (SUM) в крайней версии Gen8 Service Pack for ProLiant (SPP 2017.11.06_Gen8.1) мы словили неприятную ситуацию – после завершения установки и перезагрузки сервера ОС перестала штатно загружаться, вываливаясь в BSOD со STOP-ошибкой "NMI HARDWARE FAILURE".

HPE ProLiant DL380 Gen8 - BSOD Uncorrectable PCI Express Error on Windows Server 2016

При этом в аппаратном IML логе сервера, который можно посмотреть через интерфейс iLO, были обнаружены три записи, следующие друг за другом:

OS ... Operating System failure (Windows bug check, STOP: 0x00000080 (0x00000000004F4454, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000))
PCI Bus ... Uncorrectable PCI Express Error (Embedded device, Bus 0, Device 28, Function 7, Error status 0x00100000)
System Error ... Unrecoverable System Error (NMI) has occurred.  System Firmware will log additional details in a separate IML entry if possible

Понимаем то, что используемая в нашем случае связка аппаратной части сервера и развёртываемой ОС "не первой свежести", и поэтому, наверняка, мы не первые, кто столкнулся с такой проблемой. Поэтому прежде, чем влезать в процедуры дебага с получением и расшифровкой дампа памяти, делаем быстрый запрос в поисковые системы по тексту ошибки. Старая ветка обсуждения "Uncorrectable PCI Express Error" говорит нам о том, что ноги могут расти из видео драйвера.

Смотрим лог установки обновления драйвера Matrox на HPE SUM и видим, какая версия была у нас в системе до и после обновления. Также видим, что установка прошла без явных ошибок. Приведу фрагмент такого лога

Smart Update Manager
Source:          cp035104.exe
Version:         9.15.1.218
Name:            Matrox G200eH Video Controller Driver for Windows Server 2016 and Server 2019
New Version:     9.15.1.218
     - Is operating system supported...Yes
     - Is necessary disk space available...Yes
     - Is hardware present...Yes
     - Is component already installed...Yes
     - Is component marked for removal...No
     - Installed component version status...Older
     - Checking dependency list...Done.
The software is installed but is not up to date.  
Current Version: 9.15.1.143
...
Initiating installation... Type=PNP
The installation procedure was completed successfully.
A reboot is required to finish the installation completely.  
The operation was successful. A system reboot is needed to complete the installation.
...

Предполагаем, что проблема может быть связана в установленной версией драйвера 9.15.1.218.

Попробуем удалить этот драйвер из Windows Server в режиме Safe Mode.

После неуспешной попытки загрузки система автоматически перезапустится в режиме Windows Server 2016 Recovery Environment.

На экране "Choose an option" выбираем пункт "Troubleshoot". Затем на экране "Advanced options" выберем "Startup Settings". На следующем экране "Startup Settings" жмём "Restart".

Windows Server 2016 Recovery Environment

Следующая загрузка системы покажет нам меню вариантов загрузки. На экране "Advanced Boot Options" выбираем режим загрузки "Safe Mode".

Windows Server 2016 Boot in Safe Mode

Когда система загрузится, удаляем пакет видео драйвера Matrox из стандартной оснастки управления установки/удаления программ. После этого отправляем ОС в перезагрузку.

Так как драйвер, поставляемый HPE мы удалили, система загрузится со стандартным драйвером Windows. Теперь STOP-ошибка при загрузке ОС не воспроизводится и ОС загружается штатным образом. Это подтверждает наличие проблемы с ранее установленным видео драйвером HPE Matrox G200eH Video Controller Driver for Windows Server 2016 версии 9.15.1.218 (27 Nov 2018).

Скачиваем с сайта HPE и устанавливаем крайнюю версию этого драйвера 9.15.1.224 (9 Sep 2019). После установки перезагружаем сервер  убеждаемся в том, что теперь ОС загружается в штатном режиме

HPE Matrox G200eH Video Controller Driver for Windows Server 2016

Делаем вывод о том, что драйверы, поставляемые в составе пакетов HPE Service Pack for ProLiant могут подпадать под старую шутку про "не все йогурты одинаково полезны".

Добавить комментарий