Windows 11 | Kernelisoierung

Wenn in Windows 11 aufgrund eines inkompatiblen Treibers die Speicherintegrität nicht aktiviert werden kann, kann der entsprechende Treiber deinstalliert werden, sofern er nicht verwendet wird.

Hier die Meldung von Windows 11:

image

Bevor nun der Treiber deinstalliert wird, ist es sinnvoll zu prüfen ob dieser nicht doch geladen ist. Für diesen Fall, konnte ich das schon im Vorfeld ausschließen, da es sich um mein eigenes Surface Laptop Studio handelte und ich keine WDC-Geräte im Einsatz habe.

Der folgende “One-Liner” in PowerShell zeigt, ob zum Beispiel der Treiber für “Volume Shadow Copy / volsnap” geladen ist (Quasi als Test).

# Check if volsnap\.sys is running
Get-CimInstance Win32_SystemDriver | Where-Object { $_.State -eq 'Running' -and $_.PathName -match 'volsnap\.sys' } | ForEach-Object { "Driver '$($_.Name)' is running from path: $($_.PathName)" }

image

Wie im folgenden Aufruf zu sehen, muss nun der Volsnap gegen den WDCsam64_PreWin8 ausgetauscht werden. Der Name lässt sich übrigens über die Zwischenablage kopieren. Im Gegensatz zu oben darf nun nichts angezeigt werden.

# Check if wdcsam64_prewin8\.sys is running
Get-CimInstance Win32_SystemDriver | Where-Object { $_.State -eq 'Running' -and $_.PathName -match 'wdcsam64_prewin8\.sys' } | ForEach-Object { "Driver '$($_.Name)' is running from path: $($_.PathName)" }

Jetzt kann der WDC-Treiber entfernt werden. Am einfachsten geht das mit pnputil.exe, wenn man den “Veröffentlichter Name“: oem26.inf verwendet (oben im Screenshot blau unterstrichen). Die Eingabeaufforderung dazu bitte als Administrator ausführen.

# Deleting wdcsam64_prewin8.sys driver
pnputil /delete-driver oem26.inf /uninstall /force

image

Jetzt den PC neu starten und die Speicherintegrität kann eingeschaltet werden, was aber danach einen erneuten Neustart erfordert.

image

Sieht am Ende so aus und Windows 11 ist damit auch zufrieden.

image

Enjoy it, b!

P.S. jetzt kümmere ich mich darum wieso Windows 11 glaubt, dass mein Laptop alles in DE-DE anzeigen muss, obwohl ich EN-US eingestellt habe.

Surface Pro 9 | Langsames Kopieren auf eine SSD

Ich denke, dass die folgenden Erkenntnisse auf jeden Computer mit Windows 11 übertragbar sind, sofern er über eine schnelle Schnittstelle (USB-C oder Thunderbolt) verfügt.

Analysiert habe ich das alles auf einem Microsoft Surface Pro 9 und daher rührt der Titel.

Ausgangssituation

Ich verwende externe SSDs hauptsächlich (zu 95%) als Speichermedium für Fotos und RAW-Dateien. Früher liefen auf meinen externen Festplatten oft virtuelle Maschinen (VMs), die vielleicht die restlichen 5% ausmachen.

Es handelt sich um Dateigrößen zwischen 25MB und bis zu 100MB, eine VM kann also auch mal 50 oder 100GB haben, wahrscheinlicher ist aber, dass auf der externen SSD ein paar ISO-Dateien herumliegen (die sind meistens zwischen 4 und 6GB groß).

Die beiden Schnittstellen des Surface sind als USB-C nach der USB 4.0-Spezifikation ausgeführt und leisten zumindest theoretisch 40GBit/s.

Als Übersicht hier die einzelnen Geschwindigkeiten, da wir diese nachher noch benötigen (als Anhaltspunkt).


Spezifikation Geschwindigkeit
USB 2.0 480Mbit/s ~ 60MB/s
USB 3.0 5Gbit/s ~ 625MB/s
USB 3.1 10GBit/s ~ 1250MB/s
USB 3.2 20GBit/s ~ 2500MB/s
USB 4.0 40GBit/s ~ 5000MB/s

Kurz vor meinem Urlaub wollte ich eine Reihe von Verzeichnissen mit Bildern (etwas über 100 GB) auf eine zweite externe SSD sichern, was über eine halbe Stunde dauerte. Die beiden verwendeten externen SSDs waren eine alte Samsung Portable T5 mit 1TB und eine Samsung Portable T7 mit 4TB.

  • Samsung Portable SSD T5 mit USB 3.1 und ~ 540MB/s
  • Samsung Portable SSD T7 mit USB 3.2 und ~1000MB/s

Meine Erwartung war, dass die 100GB Daten in weniger als 10min kopiert werden.

Der eigentliche Test

Um die Sache nicht unnötig kompliziert zu machen, habe ich mich für das ISO von Windows 11 in der Version 23H2 als Testobjekt (mit 6,8GB) entschieden.

Ein erster Test ergab eine Schreibgeschwindigkeit von ~ 30MB/s was deutlich unter den Möglichkeiten der alten Samsung T5 liegt.

image

Auch robocopy bestätigte in seiner Zusammenfassung die geringe Performance.

image

Mein erster Verdacht fiel auf das verwendete USB-Kabel, ein USB-C Ladekabel von UGREEN, da dieses vom Hersteller mit 480Mbps angegeben wird und somit schnell genug für die 540MB/s des Samsung T5 sein sollte. Trotzdem habe ich das USB-Kabel von UGREEN durch ein original “Samsung SSD” USB-C Kabel ersetzt und damit eine 10x höhere Schreibrate erreicht.

image

Robocopy hat hier eine Geschwindigkeit von 323.678.163 Bytes/sec. ermittelt.

Das ist die erste Erkenntnis, die ich zusammenfassen möchte:

Es kommt auf das Kabel an, genauer gesagt auf dessen Bandbreitenspezifikation.

Das USB-C Kabel von UGREEN hat seinen Weg zu mir gefunden, als ich versuchte, die Anzahl der Kabel für ein größeres Projekt zu minimieren.

Dabei stellte sich mir die Frage, ob man mit einem geeigneten Kabel und einer schnelleren SSD wie der T7 noch höhere Übertragungsraten erzielen könnte.

Testmuster mit einer Samsung Portable Shield T7 4TB

Neben einer doppelt so hohen Schreibgeschwindigkeit will ich mir auch den Einfluss der Windows Write-Caching Policy anschauen.

Wie schon die Samsung Portable T5 war auch die T7 wie folgt eingestellt.

image

Damit war eine Geschwindigkeit von um die 540MB/s zu erreichen.

image

Ob in der Write-caching policy die beiden Optionen Enable write caching on the device und Turn of Windows wirte-cache buffer flushing on the device aktiviert waren, spielte keine große Rolle.

image

Die Datenrate erhöhte sich um ~ 25MB/s auf 560MB/s.

Die zweite Erkenntnis wäre damit, dass hauptsächlich die Einstellung Removal Policy = Better Performance eine Rolle spielt, insofern das passende Kabel verwendet wird.

Removal Policy = Better Performance

Möchte man also sowohl sein Surface über das Kabel laden als auch eine externe SSD mit guter Performance betreiben, so muss dieses beiden Spezifikationen entsprechen. Die Annahme, dass wenn das Kabel schnellladefähig ist, auch eine hinreichende Übertragungsrate erzielt wird, kann ich nicht bestätigen.

Das beste kommt zum Schluss

Natürlich könnte man die Frage stellen, was mache ich wenn mein originales Kabel verloren geht? Richtig, aufpassen Winking smile aber es gibt auch noch Alternativen. Im großen Fluss habe ich ein, für USB4 zertifiziert Kabel gefunden (30cm) das ebenfalls 40Gb/s. Die Hoffnung war das es ungefähr die Datenrate des Samsung-Kabels erreichen würde. Dem war aber nicht so, mit diesem Kabel waren 15% mehr Durchsatz möglich.

image

Enjoy it, b!

Surface Laptop 3, AMD RX Vega Driver (dunkles Display)

Ich besitze und verwende immer noch ein Surface Laptop 3 mit einem AMD Ryzen™ 7 3780U Mobile Prozessor und einer Radeon™ RX Vega 11 Graphics Microsoft Surface® Edition Grafikeinheit.

Microsoft selbst stellt seit einiger Zeit keine neuen Treiber mehr für diese Einheit zur Verfügung, von AMD sind jedoch aktuelle und verbesserte Treiber erhältlich. Wird der AMD-Treiber installiert, kann es je nach Version dazu kommen, dass die Helligkeit des Displays bei ca. 20% bleibt und auch nicht korrigiert werden kann. Auf reddit gibt es eine Reihe von Threads zu diesem Problem.

Die Lösung besteht darin, nicht die neueste, sondern die Version 23.7.1 des Adrenalin-Treibers zu installieren. Dies scheint die letzte Version zu sein, in der das Verhalten nicht auftritt. Das Problem tritt dazu nicht nur beim Surface Laptop 3 sondern auch in der darauf folgenden Generation 4 auf.

Der folgende Link führt nicht nur zum Support-Artikel von AMD, sondern enthält auch einen Link zum Download des Treibers.

Mit diesem Treiber sind auch einige Probleme mit meinem RAW-Konverter und in der Bildbearbeitung verschwunden.

Abschließend wünsche ich allen ein frohes und gesundes neues Jahr.

Enjoy it, b!

Windows 11 | SYSTEM_THREAD_EXECPTION_NOT_HANDLED

So sollte ein Tag nicht beginnen.

IMG_20220630_063001_ON1_Cloud

Mein Lenovo P1 ist heute genau drei Jahre im Betrieb und ich kann in dieser Zeit auf insgesamt 10 BSODs (Stopp-Fehler) zurück blicken, dass waren einige mehr als ich mit meinen Microsoft Surface Book 2 (insgesamt vier) hatte. Nun könnte man von mangelnder Qualität bei Lenovo sprechen, was ich aber so nicht unterschreiben werde, denn alle der 10 Fehler hat mehr oder weniger mit der im Notebook verbauten Nvidia Grafikkarten zu tun.

Im Gegensatz zu früheren BSODs, wo eindeutig ein Nvidia-Treiber auf dem Stack zu sehen war, hat dieses Mal der DirectX Graphics MMS den BSOD verursacht und damit könnte der Fehler im Betriebssystem direkt zu suchen sein.

image

Der erste Blick in dem korrekt geschriebenen Dump mit dem Debugger ( !analyze –v) zeigte zumindest den Stop-Code (7E) und die lapidare Meldung, dass dieser Fehler wohl des Öfteren auftaucht. Auch der Treiber kann über den Dump zweifelsfrei dem Betriebssystem zugeordnet werden.

image

Trotzdem tat ich mich schwer, die eigentliche Ursache zu finden. Ein ganz guter Punkt zum suchen ist der folgende Link bei Microsoft, wo die Bug Check Code Reference zu sehen ist.

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2

Von dort geht es weiter zum eigentlichen Code dem 7E, der in insgesamt drei Varianten hier beschrieben ist.

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0x7e–system-thread-exception-not-handled

Ich hatte die Exception 0xC0000005, eine Zugriffsverletzung oder auch Access Denied

  • 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred

Letztendlich hat mich die Analyse nicht weitergebracht, aber immerhin den Hinweis darauf gegeben, dass ein Problem im Bereich der Grafiktreiber vorhanden sein könnte. Was mich wiederum zu einer holistischen Suche nach “dxgmms2.sys blue screen nvidia” verlasst hat und mir nicht wenige Einträge im NVIDIA Forum offenbarte.

Meine bisher abschließende Lösung ist damit, den NVIDIA Treiber zu aktualisieren.

image

Enjoy it, b!

Windows 11 | Stop Code PAGE_FAULT_IN_NONPAGED_AREA (50)

Heute Morgen hat sich mein Arbeitspferd, ein Lenovo P1, mit einem BSOD (Blue Screen of Death) verabschiedend.

Der STOP-Code lautete PAGE_FAULT_IN_NONPAGED_AREA und deutete gefühlt auf ein Treiber Problem hin. Da Windows den Memory-Dump (MEMORY.DMP) sauber geschrieben hat, war mein erster Weg sich die Sache einmal mit WinDBG (den Windows Debugger) anzuschauen.

image

WinDBG identifiziert hier schnell den Nvidia-Treiber als Verursacher.

nvlddmkm.sys

image

Und auch der Stack zeigt den Treiber, kurz vor der Exception. Diesen (also den Stack) liest man übrigens von unten nach oben.

image

Das Problem konnte ich durch ein Update des Nvidia-Treibers lösen. Installiert war die folgende Version.

image

Die Nvidia Homepage bietet dagegen schon einen neueren WHQL zertifizierten Treiber an.

image

Nach dem Update zeigt auch der Geräte Manager eine neuere Version an.

image

Vielen Dank für das Vorbeischauen.

!analyze –b Smile