Hyper-V 2019 и Intel I219-V

Поднимал недавно сервер с Hyper-V Server 2019. Там был на самом деле обычный комп, который раньше использовался как сервер - потому что там было чуть более мощное железо (правда наверно это по старым временам). Но он как бы уже устарел сильно и некоторое время бездействовал, ибо оказался ненужным, замененым более новыми, правильными железками. Но тут я решил его вернуть в строй.... И при установке Hyper-V 2019 оказалось что сеть (там встроенная сетевуха Intel I219-V) не поднялась - драйверов нет.
Поднимал недавно сервер с Hyper-V Server 2019. Там был на самом деле обычный комп, который раньше использовался как сервер - потому что там было чуть более мощное железо (правда наверно это по старым временам). Но он как бы уже устарел сильно и некоторое время бездействовал, ибо оказался ненужным, замененым более новыми, правильными железками. Но тут я решил его вернуть в строй.... И при установке Hyper-V 2019 оказалось что сеть (там встроенная сетевуха Intel I219-V) не поднялась - драйверов нет.
Гуглёж по теме показал что проблема не новая, люди испытывают трудности и при установке Windows 10. Самое интересное, в итоге, прям совсем готового способа решения не нашлось, особенно именно под Hyper-V 2019, пришлось вникнуть и решить самостоятельно (за основу конечно были взяты решения из инета). Попробую примерно рассказать как решил я (может я что-то и неправильно сделал - но в результате сеть у меня на сервере заработала - а это главное).
Итак, первым делом я конечно попытался поставить драйвера из официальных установщиков и с помощью специальных утилит - например, SDI Но все попытки завершились неудачей. Но по крайне мере SDI мне показал идентификаторы оборудования (8086:15BC), которые я использовал потом
Потом, я уточнил версию windows - в командной строке - ver
Затем взял официальные драйвера скачанные с сайта Intel - Можно отсюда полный комплект, или отсюда. Ссылки действительны на момент написания статьи. В первом случае у нас простой архив в котором нас интересует папка Release_28.0.zip:\Release_28.0\PRO1000\Winx64\NDIS68 Во втором случае инсталяшка Wired_driver_28.0_x64.exe (тоже архиватором вскрывается), внутри которой нас интересует папка ArcLite:PE→zip:Wired_driver_28.0_x64.exe:\PRO1000\Winx64\NDIS68
PRO1000 - семейство сетевых среди которых и интересующая меня I219V, NDIS68 - семейство драйверов для server 2019, ну Winx64 - наверно и так понятно :). Вот всю эту папочку надо закинуть на сервер...флешкой, особых вариантов нет :)
Дальше пойдет колдовство с интернета. Нам надо отключить проверку драйверов и разрешение на установку неподписанных/тестовых драйверов для этого рисуем батнички в том же каталоге где драйвера Download file 01-disable-integrity-checks.cmd
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
bcdedit -set NOINTEGRITYCHECKS ON
rem shutdown /r /t 0
 
Download file 02-install-driver.cmd
 
pnputil -i -a e1d.inf
 
@echo Exit code: %ERRORLEVEL%
 
Download file 03-enable-integrity-checks.cmd
bcdedit /deletevalue loadoptions
bcdedit -set TESTSIGNING OFF
bcdedit -set NOINTEGRITYCHECKS OFF
rem shutdown /r /t 0
Команды на перезагрузку можно раскоментировать - я потом просто на всякий случай набирал bcdedit и проверял что изменения применились
В интернетах запуск первого батничка вроде помогал установить драйвера (ну т.е. запускаете первый батничек, потом устанавливаете драйвера)... Но мне это не помогло и я решил что надо действовать решительнее - пришлось модифицировать под себя e1d.inf - в котором и была нужная информация о нужной мне сетевухе. Я удалил содержимое секции
[ControlFlags]
(кстати не уверен что это нужно было - но я уж опишу полностью все что сделал) и в секции
[Manufacturer]
воткнул посередке через запятую значения
NTamd64.10.0...17763, NTamd64.10.0.1..17763
(опять же думаю что достаточно было только добавить
NTamd64.10.0...17763
) Надеюсь понятно что 17763 - это та версия операционки которую я посмотрел вначале на скрине - слева то что было, справа - то как изменил
Далее добавил в файл следующее содержимое
     
[Intel.NTamd64.10.0...17763]
; DisplayName                   Section        DeviceID
; -----------                   -------        --------
%E15BCNC.DeviceDesc%            = E15BC.19H1,       PCI\VEN_8086&DEV_15BC
%E15BCNC.DeviceDesc%            = E15BC.19H1,       PCI\VEN_8086&DEV_15BC&SUBSYS_00008086
        
[Intel.NTamd64.10.0.1..17763]
; DisplayName                   Section              DeviceID
; -----------                   -------              --------
%E15BCNC.DeviceDesc%            = E15BC.10.0.1.19H1,       PCI\VEN_8086&DEV_15BC
%E15BCNC.DeviceDesc%            = E15BC.10.0.1.19H1,       PCI\VEN_8086&DEV_15BC&SUBSYS_00008086
(помните ид оборудования 8086:15BC подсмотрели с помощью SDI? ). Опять же на скрине - слева то что было, справа - то как изменил
Ну и собственно все - далее запускаем батничек 01-disable-integrity-checks.cmd, перегружаем сервер, затем запускаем 02-install-driver.cmd - когда спросит - доверять ли драйверам, конечно же соглашаемся, пусть устанавливает, потом восстанавливаем настройки проверки драйверов, запускаем 03-enable-integrity-checks.cmd. перегружаемся. У меня сеть заработала. надеюсь и вам поможет.