uwe.at.work
Goto Top

"Microsoft Network Adapter Multiplexor Protocol" wiederherstellen

Aus Versehen hab´ ich das "Microsoft-Multiplexerprotokoll für Netzwerkadapter" auf einem Hypervisor gelöscht. Beim Versuch das Protokoll via "Installieren..." wieder zu installieren, kommt die Meldung "Das angeforderte Feature konnte nicht hinzugefügt werden. Fehler: Das angegebene Modul wurde nicht gefunden."

Hier schreibt jemand folgendes dazu: "Once it has been removed, it is not possible to re-install it without re-installing Windows." Auch der Eintrag hier macht nicht wirklich viel Hoffnung.

Ich hab´ schon die üblichen Sachen probiert:
  • sfc /scannow
  • dism /Online /Cleanup-image /Restorehealth
  • Registry-Einträge des Kernel-Treibers verglichen
  • "NdisImPlatform.inf" manuell installiert
  • Mit "Letzter als funktionierend bekannte Konfiguration“ gestartet

Das hat allerdings alles nichts gebracht. Den Server neu aufzusetzen wäre ein ziemlicher Aufwand. Es wäre schon cool, wenn jemand wüsste, wie man das Protokoll wieder zurück bringt...

Content-ID: 7691858542

Url: https://administrator.de/contentid/7691858542

Ausgedruckt am: 18.11.2024 um 21:11 Uhr

Pjordorf
Pjordorf 14.07.2024 um 20:17:20 Uhr
Goto Top
Hallo,

Zitat von @uwe.at.work:
wenn jemand wüsste, wie man das Protokoll wieder zurück bringt...
Deine Datensicherung von "bevor du gelöescht hast" bemühen.

Gruss,
Peter
uwe.at.work
uwe.at.work 14.07.2024 aktualisiert um 22:00:37 Uhr
Goto Top
Die Hyper-V - Server werden bewusst nicht gesichert. Das ist ein Cluster mit (abgesehen von UIDs / Adressen) identisch konfigurierten Knoten. Die Konfiguration ist gut dokumentiert und es gibt Checklisten zur Neuinstallation (für die Punkte die nicht über Gruppenrichtlinien kommen). Trotzdem ist es ein ziemlicher Aufwand das neu aufzusetzen. OpenTofu und Ansible wären toll - sind aber noch nicht soweit.

Wenn jemand eine (echte) Idee / Lösung hat - dafür wären bestimmt auch andere dankbar, die noch auf den Fehler stoßen werden.
MysticFoxDE
MysticFoxDE 15.07.2024 aktualisiert um 06:23:42 Uhr
Goto Top
Moin @uwe.at.work,

Aus Versehen hab´ ich das "Microsoft-Multiplexerprotokoll für Netzwerkadapter" auf einem Hypervisor gelöscht. Beim Versuch das Protokoll via "Installieren..." wieder zu installieren, kommt die Meldung "Das angeforderte Feature konnte nicht hinzugefügt werden. Fehler: Das angegebene Modul wurde nicht gefunden."

bist du dir ganz sicher, dass du das Multiplexerprotokoll komplett deinstalliert hast und nicht nur die Zuordnung bei einer bestimmten NIC gelöscht hast?
Ist es auf der zweiten NIC denn auch weg?

Ich vermute eher, dass du die Zuordnung zu einer bestimmten NIC lediglich gelöscht hast und das lässt sich eigentlich einfach beheben, in dem du die entsprechende NIC zuerst aus dem entsprechenden Team und dann im Gerätemanager einfach löschst (!! nicht aber den Treiber dafür löschen !!), dann eine Hardware-Neuerkennung ausführen. Danach sollte die NIC mit Default-Einstellungen wieder da sein. Sprich, anschliessend die NIC wieder ins Team hinzufügen und schon sollte der Fisch geputzt sein.

Übrigens, LBFO-Teaming wird seit Hyper-V 2016 von Microsoft nicht mehr supportet.

Das hat allerdings alles nichts gebracht. Den Server neu aufzusetzen wäre ein ziemlicher Aufwand. Es wäre schon cool, wenn jemand wüsste, wie man das Protokoll wieder zurück bringt...

Kleiner Tipp für die Zukunft.
Erstellt die Konfiguration der Hyper-V's in Power-Shell.
So hast du zum einen gleich eine Dokumentation und kannst diese auch sehr einfach zum Wiederaufsetzen verwenden. 😉

Gruss Alex
uwe.at.work
uwe.at.work 15.07.2024 um 09:41:50 Uhr
Goto Top
bist du dir ganz sicher, dass du das Multiplexerprotokoll komplett deinstalliert hast und nicht nur die Zuordnung bei einer bestimmten NIC gelöscht hast?
Ist es auf der zweiten NIC denn auch weg?

Ja - ist leider weg.

Ich vermute eher, dass du die Zuordnung zu einer bestimmten NIC lediglich gelöscht hast

Nein - leider nicht.

und das lässt sich eigentlich einfach beheben, in dem du die entsprechende NIC zuerst aus dem entsprechenden Team und dann im Gerätemanager einfach löschst (!! nicht aber den Treiber dafür löschen !!), dann eine Hardware-Neuerkennung ausführen. Danach sollte die NIC mit Default-Einstellungen wieder da sein.

Hab´ ich gerade probiert: Team gelöscht, NIC gelöscht, anlegen lassen, konfiguriert, Team angelegt.
Leider fehlt das Protokoll bei allen NICs weiterhin -auch beim neu angelegten.

Übrigens, LBFO-Teaming wird seit Hyper-V 2016 von Microsoft nicht mehr supportet.

Ja - was das Teaming über Hyper-V-Switch angeht. Das war auch der Grund, warum das Protokoll rausflog - wir
haben von LBFO auf Switch-Embedded-Teaming (SET) umgestellt. Für die Hyper-V Cluster-Kommunikation brauchen wir allerdings noch ein LBFO-(LACP)-Team.

Kleiner Tipp für die Zukunft.
Erstellt die Konfiguration der Hyper-V's in Power-Shell.

Vielen Dank für den Tipp! Teilweise ist das schon als Skript realisiert.
Manche Sachen lassen sich allerdings nur schlecht skripten. Zum Beispiel die Registrierung des Hosts im SAN, im Backup-System, im Portal des Server-Protection Anbieters und die Tests von Shutdown und WoL, etc.
13676056485
13676056485 15.07.2024 aktualisiert um 10:53:03 Uhr
Goto Top
Hi.
Aus Versehen hab´ ich das "Microsoft-Multiplexerprotokoll für Netzwerkadapter" auf einem Hypervisor gelöscht.
  • Wie hast du den denn dann gelöscht/deinstalliert, manuell über den Geräte-Manager oder netcfg?
  • Gibt es denn Dienst ndisImPLatform auf dem System noch?
  • Gibt es die Registry Einträge für den Dienst noch?
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisImPlatform]
"Description"="@%SystemRoot%\\System32\\drivers\\ndisimplatform.sys,-501"  
"DisplayName"="@%SystemRoot%\\System32\\drivers\\ndisimplatform.sys,-501"  
"ErrorControl"=dword:00000001  
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\  
  72,00,69,00,76,00,65,00,72,00,73,00,5c,00,4e,00,64,00,69,00,73,00,49,00,6d,\
  00,50,00,6c,00,61,00,74,00,66,00,6f,00,72,00,6d,00,2e,00,73,00,79,00,73,00,\
  00,00
"Start"=dword:00000003  
"Type"=dword:00000001  
"NdisMajorVersion"=dword:00000006  
"NdisMinorVersion"=dword:00000032  
"DriverMajorVersion"=dword:00000001  
"DriverMinorVersion"=dword:00000001  

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisImPlatform\Parameters]
"AdapterFilterAllowList"=hex(7):6d,00,73,00,5f,00,6e,00,65,00,74,00,6d,00,6f,\  
  00,6e,00,00,00,4d,00,53,00,5f,00,4e,00,64,00,69,00,73,00,43,00,61,00,70,00,\
  00,00,00,00
"AdapterProtocolAllowList"=hex(7):00,00,00,00  
"VirtualMiniportFilterBlockList"=hex(7):00,00,00,00  
"VirtualMiniportProtocolBlockList"=hex(7):00,00,00,00  

Gruß WRK
uwe.at.work
uwe.at.work 15.07.2024 um 10:53:29 Uhr
Goto Top
Wie hast du den denn dann gelöscht/deinstalliert, manuell über den Geräte-Manager?

In den Netzwerkeigenschaften des Adapters
=> "Microsoft-Multiplexerprotokoll für Netzwerkadapter" auswählen
=> "Deinstallieren..." klicken

Im Gegensatz zur Änderung der Checkbox neben dem Protokoll bewirkt das beim Windows Server 2016, dass es für alle Adapter (unwiederbringlich) gelöscht wird.
uwe.at.work
uwe.at.work 15.07.2024 um 10:55:41 Uhr
Goto Top
Gibt es denn Dienst ndisImPLatform auf dem System noch?

Ja - den gibt es noch:

sc qc ndisImPLatform
[SC] QueryServiceConfig ERFOLG

SERVICE_NAME: ndisImPLatform
TYPE : 1 KERNEL_DRIVER
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : System32\drivers\NdisImPlatform.sys
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Microsoft-Multiplexorprotokoll für Netzwerkadapter
DEPENDENCIES :
SERVICE_START_NAME :
13676056485
13676056485 15.07.2024 aktualisiert um 11:02:58 Uhr
Goto Top
"Deinstallieren..." klicken
Im Normalfall lässt sich das eigentlich gar nicht manuell deinstallieren und wirft einen Fehler, zumindest auf einem Server 2022 wenn Hyper-V noch als Rolle installiert ist.

screenshot


Was sagt ein
netcfg -q ms_implat
uwe.at.work
uwe.at.work 15.07.2024 um 11:05:16 Uhr
Goto Top
netcfg /v /i ms_implat

(Das wirft einen Syntax-Fehler.)

netcfg -v -c p -i ms_implat

ms_implat wird installiert...

... Fehler. Fehlercode: 0x8007007e.
uwe.at.work
uwe.at.work 15.07.2024 um 11:08:06 Uhr
Goto Top
Im Normalfall lässt sich das eigentlich gar nicht manuell deinstallieren und wirft einen Fehler, zumindest auf einem Server 2022 wenn Hyper-V noch als Rolle installiert ist.

Das funktioniert, wenn der Adapter soweit für Teaming konfiguriert ist - also nur das eine Protokoll aktiv ist.
13676056485
13676056485 15.07.2024 aktualisiert um 11:14:21 Uhr
Goto Top
Gibt es die INF und die *.sys des Dienstes noch? Ansonsten von einem Installationsmedium rüber kopieren
 netcfg -l "C:\Windows\INF\ndisimplatformmp.inf" -c p -i ms_implat  
Das funktioniert, wenn der Adapter soweit für Teaming konfiguriert ist - also nur das eine Protokoll aktiv ist.
Klappt hier im Test selbst dann nicht über die GUI, über netcfg hingegen schon, naja egal du hast es ja irgendwie doch geschaft face-wink..
uwe.at.work
uwe.at.work 15.07.2024 um 11:24:48 Uhr
Goto Top
netcfg -l "C:\Windows\INF\ndisimplatformmp.inf" -c p -i ms_implat  
ms_implat wird installiert...

... C:\Windows\INF\ndisimplatformmp.inf wurde nach C:\Windows\INF\ndisimplatformmp.inf kopiert.

... Fehler. Fehlercode: 0x8007007e.

Alle Dateien, die in der INF-Datei referenziert werden, sind vorhanden - auch die .sys-Datei:

C:\Windows>dir ndisimpl*.sys /s
 Datenträger in Laufwerk C: ist System
 Volumeseriennummer: 0CD3-25FF

 Verzeichnis von C:\Windows\System32\drivers

25.10.2018  05:18           126.464 NdisImPlatform.sys
               1 Datei(en),        126.464 Bytes

 Verzeichnis von C:\Windows\WinSxS\amd64_microsoft-windows-ndis-implatform_31bf3856ad364e35_10.0.14393.0_none_835f99055a91a59d

12.01.2019  15:00               999 NdisImPlatform.sys
               1 Datei(en),            999 Bytes

 Verzeichnis von C:\Windows\WinSxS\amd64_microsoft-windows-ndis-implatform_31bf3856ad364e35_10.0.14393.2608_none_cb71459f9e9c6205

25.10.2018  05:18           126.464 NdisImPlatform.sys
               1 Datei(en),        126.464 Bytes

Sie liegen auch in exakt derselben Anzahl vor, wie auf einem System auf dem es noch funktioniert. Was allerdings fehlt ist die Registrierung und die Verlinkung der Protokoll-Klasse in der Registry. Das lässt sich allerdings schlecht händisch machen, weil die mit dynamischen IDs und Zählern arbeiten (Dump aus einem funktionierenden System):

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0016]
"DriverDesc"="Microsoft Network Adapter Multiplexor Driver"  
"ProviderName"="Microsoft"  
"DriverDateData"=hex:00,80,8c,a3,c5,94,c6,01  
"DriverDate"="6-21-2006"  
"DriverVersion"="10.0.14393.0"  
"InfPath"="ndisimplatformmp.inf"  
"InfSection"="NdisImPlatformMp.ndi"  
"MatchingDeviceId"="COMPOSITEBUS\\MS_IMPLAT_MP"  
"*IfType"=dword:00000006  
"*MediaType"=dword:00000000  
"*PhysicalMediaType"=dword:0000000e  
"Characteristics"=dword:00000021  
"*IPChecksumOffloadIPv4"="3"  
"*TCPChecksumOffloadIPv4"="3"  
"*TCPChecksumOffloadIPv6"="3"  
"*UDPChecksumOffloadIPv4"="3"  
"*UDPChecksumOffloadIPv6"="3"  
"*LsoV2IPv4"="1"  
"*LsoV2IPv6"="1"  
"*IPsecOffloadV2"="3"  
"*HeaderDataSplit"="1"  
"*RSS"="1"  
"*VMQ"="1"  
"*VMQLookaheadSplit"="1"  
"*VMQVlanFiltering"="1"  
"*RscIPv4"="1"  
"*RscIPv6"="1"  
"*EncapsulatedPacketTaskOffload"="1"  
"DefaultNicInTeam"=dword:00000001  
"IfTypePreStart"=dword:00000006  
"NetworkInterfaceInstallTimestamp"=hex(b):b3,9d,b7,16,4d,1f,d8,01  
"DeviceInstanceID"="COMPOSITEBUS\\MS_IMPLAT_MP\\{95C88CB6-E534-4C77-9BCD-48363DD514E8}"  
"ComponentId"="COMPOSITEBUS\\MS_IMPLAT_MP"  
"InstallTimeStamp"=hex:e6,07,02,00,05,00,0b,00,0d,00,29,00,23,00,67,03  
"NetCfgInstanceId"="{95C88CB6-E534-4C77-9BCD-48363DD514E8}"  
"NetLuidIndex"=dword:00008018  

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0010\Linkage]
"RootDevice"=hex(7):7b,00,37,00,44,00,41,00,46,00,43,00,46,00,44,00,35,00,2d,\  
  00,38,00,41,00,43,00,41,00,2d,00,34,00,32,00,30,00,39,00,2d,00,41,00,36,00,\
  30,00,44,00,2d,00,39,00,42,00,32,00,30,00,32,00,41,00,42,00,43,00,44,00,43,\
  00,33,00,46,00,7d,00,00,00,00,00
"Export"=hex(7):5c,00,44,00,65,00,76,00,69,00,63,00,65,00,5c,00,7b,00,37,00,44,\  
  00,41,00,46,00,43,00,46,00,44,00,35,00,2d,00,38,00,41,00,43,00,41,00,2d,00,\
  34,00,32,00,30,00,39,00,2d,00,41,00,36,00,30,00,44,00,2d,00,39,00,42,00,32,\
  00,30,00,32,00,41,00,42,00,43,00,44,00,43,00,33,00,46,00,7d,00,00,00,00,00
"UpperBind"=hex(7):4e,00,64,00,69,00,73,00,49,00,6d,00,50,00,6c,00,61,00,74,00,\  
  66,00,6f,00,72,00,6d,00,00,00,00,00
"FilterList"=hex(7):7b,00,37,00,44,00,41,00,46,00,43,00,46,00,44,00,35,00,2d,\  
  00,38,00,41,00,43,00,41,00,2d,00,34,00,32,00,30,00,39,00,2d,00,41,00,36,00,\
  30,00,44,00,2d,00,39,00,42,00,32,00,30,00,32,00,41,00,42,00,43,00,44,00,43,\
  00,33,00,46,00,7d,00,2d,00,7b,00,33,00,42,00,46,00,44,00,37,00,38,00,32,00,\
  30,00,2d,00,44,00,36,00,35,00,43,00,2d,00,34,00,43,00,31,00,42,00,2d,00,39,\
  00,46,00,45,00,41,00,2d,00,39,00,38,00,33,00,41,00,30,00,31,00,39,00,36,00,\
  33,00,39,00,45,00,41,00,7d,00,2d,00,30,00,30,00,30,00,30,00,00,00,00,00
13676056485
13676056485 15.07.2024 aktualisiert um 11:35:05 Uhr
Goto Top
OK, was ergibt ?
Get-CimInstance win32_systemdriver -Filter "Name like '%NdisImPlatform%'"  
uwe.at.work
uwe.at.work 15.07.2024 um 12:01:17 Uhr
Goto Top
PS C:\Windows> Get-CimInstance win32_systemdriver -Filter "Name like '%NdisImPlatform%'"  


DisplayName : Microsoft-Multiplexorprotokoll für Netzwerkadapter
Name        : NdisImPlatform
State       : Running
Status      : OK
Started     : True

DisplayName : Microsoft-Multiplexortreiber für Netzwerkadapter
Name        : NdisImPlatformMp
State       : Running
Status      : OK
Started     : True
13676056485
13676056485 15.07.2024 aktualisiert um 12:21:28 Uhr
Goto Top
Hm, OK dann würde adhoc mir nur noch einfallen die Hyper-V-Rolle zu reinstallieren.
uwe.at.work
uwe.at.work 15.07.2024 um 14:52:02 Uhr
Goto Top
Hyper-V-Rolle und Failover-Cluster-Feature wurden gerade reinstalliert.
Wie vermutet kam das Protokoll nicht zurück (LBFO ist ja nicht Hyper-V spezifisch).
13676056485
13676056485 15.07.2024 aktualisiert um 15:39:39 Uhr
Goto Top
Dann wirst du wohl in den sauren Apfel beißen müssen, Kernelmode Treiber sind tricky, wie immer gilt kein Backup kein Mitleid face-wink. Good luck..
uwe.at.work
uwe.at.work 15.07.2024 um 15:51:41 Uhr
Goto Top
Trotzdem tausend Dank für Deine Hilfe! face-smile
13676056485
13676056485 15.07.2024 aktualisiert um 15:58:51 Uhr
Goto Top
Keine Ursache. Nur noch zur Info, welche Serverversion läuft auf dem betroffenen System?
Auf einem Server 2022 kann ich das Protokoll selbst bei aktivem Teaming nicht mehr versehentlich entfernen, vermutlich hat MS da bereits nachgebessert das die Leute das nicht mehr versehentlich machen.
uwe.at.work
uwe.at.work 15.07.2024 um 15:59:10 Uhr
Goto Top
Windows Server 2016 DataCenter-Edition (HPE-Edition)