Wie man MEMORY_MANAGEMENT und ATTEMPTED_WRITE_TO_READONLY_MEMORY-BSOD unter Windows 10 behebt

853
emzero

Nach 3 Jahren der Verwendung einer Neuinstallation von Windows 7 x64 muss ich aus beruflichen Gründen auf Windows 10 aktualisieren.

Ich habe das neueste Windows 10 Pro Build-Image (1803) von Microsoft heruntergeladen und mit Rufus 3.1 eine bootfähige Flash-Disk erstellt.

Ich habe eine Neuinstallation auf meiner SSD durchgeführt (zuvor formatiert), und nach ein paar Tagen der Verwendung des Computers erhielt ich zufällige BSODs. Ungefähr 1 oder 2 pro Tag.

Der BSOD-Fehler ist entweder MEMORY_MANAGEMENT oder ATTEMPTED_WRITE_TO_READONLY_MEMORY.

Dinge, die ich ausprobiert habe:

  • Führen Sie zwei Durchgänge der Windows-Speicherdiagnose aus. Keine Fehler.
  • Laufen sfc /scannow. Keine Fehler.
  • GPU-Treiber auf den neuesten Stand gebracht (Nvidia Geforce GTX 970)
  • BIOS auf neueste Version aktualisiert (von 0802 auf 0803 auf ASUS Z-97E)

Ich habe vielleicht nur ein paar BSODs in den 3 Jahren von Windows 7 gehabt, daher glaube ich nicht, dass es sich um ein Hardwareproblem handelt. Die BSODs starteten unmittelbar nach der Neuinstallation von Windows 10.

Wie öffne ich das von Windows generierte MEMORY.DMP und was sehe ich dort, um herauszufinden, was die BSODs verursacht?

Kann ich sonst noch etwas probieren?

UPDATE Ich habe C: \ MEMORY.DMP mit WinDbg x64 geöffnet und hier ist das Ergebnis: https://pastebin.com/B2pS9VZt

UPDATE 2 Ich hatte gerade einen anderen BSOD. Diesmal war es so SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION.
Hier können Sie einen Auszug erhalten: https://pastebin.com/0hckXpqP

UPDATE 3 Minidumps-Dateien

UPDATE 4
Ich habe die ganze Nacht memtest ausgeführt und viele Fehler gemacht. Ich denke, ich habe ein fehlerhaftes RAM. Sind wir sicher, dass das RAM fehlerhaft ist? Es wird behoben, wenn ich es richtig austauschen? Es gibt keine Möglichkeit zu wissen, welche Sticks fehlerhaft sind. Müssen Sie sie entfernen und memtest erneut ausführen, um zu wissen, welche?
Hier sind die Ergebnisse: http://ancient-name.surge.sh/

4
Sporadisch zufällige Abstürze ohne ersichtlichen Grund riecht viel nach einem Hardwareproblem oder einer Malware. Sie können die Dump-Datei mit [BlueScreenView] (http://www.nirsoft.net/utils/blue_screen_view.html) und ähnlichen Tools öffnen. Als Kernel-Modus-Dev würden Sie WinDbg jedoch gerade verwenden. Wenn die angebliche Ursache (ein Treiber oder der Kernel selbst wurde im Abbild angegeben) von Abstürzen abweicht, haben Sie wahrscheinlich eine der oben genannten Ursachen. Und einige Anti-Malware-Programme, die noch nicht auf die Kernel-Änderungen von Anti-Specter / Meltdown vorbereitet sind, könnten dies ebenfalls zur Folge haben, denke ich. 0xC0000022L vor 5 Jahren 0
@ 0xC0000022L Ich habe den Speicherabzug mit WinDbg geöffnet und die Ergebnisse in einem Pastebin hinzugefügt. Kannst du dort etwas Nützliches sehen? emzero vor 5 Jahren 0
Ich würde zuerst versuchen, Verifier auszuführen und dann zu sehen, was man im Dump bekommt. Führen Sie verifier.exe aus und klicken Sie auf Weiter (Standardeinstellungen sind in Ordnung). Wählen Sie Treibernamen aus einer Liste aus. Wählen Sie alle Nicht-Microsoft-Treiber aus. Klicken Sie auf Fertig stellen und starten Sie den Computer neu. Wenn Sie das nächste Mal einen Fehlercheck erhalten, können Sie erneut die Ergebnisse von `! Analysis -v` bereitstellen? HelpingHand vor 5 Jahren 0
@HelpingHand Ich bin mir ziemlich sicher, dass die Mehrheit der Fahrer zertifiziert sein wird (nicht nur eine bescheinigte Bescheinigung), also haben sie die HLK-Tests usw. durchlaufen, von denen die meisten das erweitern, was Verifier bietet. Ich bin nicht sicher, aber wahrscheinlich ist Verifier auf den Slaves aktiviert. Aber es lohnt sich immer noch, schätze ich. Da gibt es an dieser Stelle eine Reihe von Möglichkeiten. Ich hatte vor fünf Jahren etwas Ähnliches, das auf meine Grafikkarte zurückzuführen ist. Ohne meinen Hintergrund in der KM-Entwicklung hätte ich vermutlich der Schlussfolgerung des HP-Teams, das den Laptop inspiziert, vertrauen müssen: "Alles ist gut". 0xC0000022L vor 5 Jahren 0
@HelpingHand Ich habe verifier.exe ausgeführt, alle Nicht-Microsoft-Treiber ausgewählt und den Computer neu gestartet. Ich weiß nicht, was du mit Bugcheck meinst. Du meinst eine BSOD? Ist es wirklich so schwer zu wissen, welcher Treiber / Gerät einen BSOD verursacht hat? = / emzero vor 5 Jahren 0
@HelpingHand Ich hatte gerade einen anderen 'MEMORY_MANAGEMENT'-BSOD. Hier ist der Speicherabzug, der mit WinDbg mit der Option `! Analysis -v` geöffnet wurde: https://pastebin.com/jjNDKgCQ emzero vor 5 Jahren 0
@Moab Wie gesagt, es war eine saubere Installation mit dem neuesten von Microsoft heruntergeladenen Image. emzero vor 5 Jahren 0
Können Sie prüfen, ob alle Kabel dicht sind (haben Sie den Computer aus irgendeinem Grund umgezogen oder mussten den Computer öffnen?), Stellen Sie außerdem sicher, dass der Arbeitsspeicher im BIOS auf die richtige Geschwindigkeit eingestellt ist. Wahrscheinlich lohnt es sich auch, https://www.memtest86.com/ zu laufen, obwohl Sie die MS ausgeführt haben. Ich fürchte, das ist alles, was ich habe, aber es lohnt sich, die Ergebnisse der Frage hinzuzufügen. HelpingHand vor 5 Jahren 0
Ich habe keine Hardware geprüft. Der Fall wurde seit dem Upgrade nicht verschoben oder geöffnet. RAM ist auf Lagergeschwindigkeit eingestellt (ich habe 4 Sticks, 2 sind 1600 und die anderen 2 sind 1333. Sie laufen schon seit 1333 ohne Probleme). Ich werde heute Abend alles neu einpacken und Memtest laufen lassen. emzero vor 5 Jahren 0
Die Ausgabe von Textausgaben von windbg ist fast immer nahezu unbrauchbar. Bitte komprimieren Sie Ihre Minidump-Dateien, veröffentlichen Sie die ZIP-Datei auf einer Dateifreigabeseite wie Dropbox und veröffentlichen Sie einen Link. Nachdem Sie sich diese angesehen haben, werden Sie möglicherweise gebeten, eine der größeren Dump-Dateien freizugeben. ps - _ "Ist es wirklich so schwer zu wissen, welcher Treiber / Gerät einen BSOD verursacht hat?" _ Sehr oft, ja, es ist so schwer. Es ist nicht ungewöhnlich, dass Sie mehr als eine Woche damit verbringen, einen einzelnen Speicherauszug zu analysieren. Minidumps sind jedoch oft Sackgassen - in ihnen ist nicht genügend Speicher vorhanden. Jamie Hanrahan vor 5 Jahren 1
@JamieHanrahan Ich habe einen Link zu den 3 Minidumps hinzugefügt, die ich habe. emzero vor 5 Jahren 0
Verwenden Sie die automatische Übertaktung von Asus? Auf einem Asus M5A97 r2-Motherboard hatte ich eine ähnliche Erfahrung von Win7 bis Win10. In Win 7 läuft das Programm einwandfrei, aber ohne Änderungen im BIOS nach der Installation von Windows 10 würde ich zufällige BSODs erhalten, die auf Speicherprobleme hinweisen. Auf Empfehlung einiger Foren (die ich jetzt nicht finden kann) habe ich die automatische Übertaktung des Asus BIOS deaktiviert Haupteinstellungsseite und das Problem ging weg. acejavelin vor 5 Jahren 1
@acejavelin Ich verwende das Standardprofil "normal" auf Asus UEFI. Ich denke nicht, dass es irgendetwas übertaktet. emzero vor 5 Jahren 1
Mögliches Duplikat von [Bestimmen von fehlerhaftem RAM mit Memtest86] (https://superuser.com/questions/598167/determining-bad-ram-with-memtest86) harrymc vor 5 Jahren 4

3 Antworten auf die Frage

10
bwDraco

Die wahrscheinlichste Ursache für diese Art von Absturz ist ein fehlerhafter Speicher. Wie von harrymc vorgeschlagen, sollten Sie zunächst ein Speichertestprogramm ausführen, z. B. die Windows-Speicherdiagnose (in Windows enthalten), das ursprüngliche MemTest86 (von PassMark Software verwaltet) oder das Open-Source- Memtest86 + . (Ich habe diesen Abschnitt für andere Leser hinzugefügt, die ähnliche Probleme haben, aber keinen Speichertest versucht haben.)


Der Fragenautor kann diesen Abschnitt überspringen. Es wird von anderen Lesern zum Nachschlagen aufbewahrt.

Wenn der Speichertest erfolgreich ist, liegt möglicherweise ein fehlerhafter Prozessor vor.

Der integrierte Speichercontroller (IMC) des Prozessors kann manchmal Speicherprobleme verursachen. Einfache Speicheroperationen wie das Lesen von Daten aus bestimmten Speicherpositionen funktionieren möglicherweise normal, aber die Fähigkeit des Prozessors, wesentliche Speicherverwaltungsoperationen, einschließlich des virtuellen Speichers, durchzuführen, wird nicht durch Speichertestprogramme getestet.

Eine andere Möglichkeit ist ein fehlerhafter Cache . Caches sind kleine Speichermengen im Prozessor, die zur Beschleunigung von Speicherzugriffen verwendet werden. Ihr Prozessor sollte zwar Cache-Fehler erkennen können (und eine Maschinenprüfungsausnahme generieren , wenn dies der WHEA_UNCORRECTABLE_ERRORFall ist, wodurch ein BSOD verursacht wird), es ist jedoch nicht unmöglich, dass Daten im Cache beschädigt werden und Speicherfehler verursachen, ohne dass der Prozessor selbst dies bemerkt. Auch dies würde von Speichertestsoftware nicht erkannt.

Um den IMC zu überprüfen, laden Sie das Prozessor-Diagnoseprogramm von Intel herunter und führen Sie einen IMC-Test durch. Um die Prozessor-Caches zu überprüfen, laden Sie Prime95 herunter und führen Sie den Folter-Test für kleine FFTs durch (der Prozessor kann sehr heiß werden oder die Lüfter werden laut; dies ist normal). Wenn einer der Tests fehlschlägt, müssen Sie wahrscheinlich den Prozessor austauschen. (Ich gehe davon aus, dass der Prozessor und der Speicher nicht übertaktet werden oder anderweitig außerhalb der Spezifikationen betrieben werden.)


Da Sie einen Speichertest durchgeführt und Fehler gefunden haben, sollte es offensichtlich sein, dass ein oder mehrere Speichermodule ausgetauscht werden müssen. Ich kann weitere Informationen aus dem von Ihnen geposteten Bericht entnehmen.

Die Fehler treten in einem bestimmten Bereich des Speichers um 0x19BDD79F0 auf, wodurch das Problem auf ein Modul beschränkt würde. Die Adresse schon sagt, aber er nicht bestätigen, dass das Problem in einem der Speichermodule Patriot ist.

Da der Speicher auf den meisten Systemen, einschließlich Ihres Systems, am besten paarweise funktioniert, entfernen Sie beide Module beider Marken und führen Sie den Test erneut aus. Wenn dies nicht funktioniert, installieren Sie die entfernten Module erneut und entfernen Sie das andere Paar. Wenn das Problem behoben ist, können Sie das System normal verwenden, bis Sie Ersatzspeichermodule erhalten.


Ich sollte beachten, dass Windows 10 fortgeschrittenere Speicherverwaltungstechniken verwendet, einschließlich der Komprimierung des virtuellen Speichers, um die Leistung auf Systemen mit begrenztem Speicher zu maximieren. Obwohl Ihr System über 16 GB Arbeitsspeicher verfügt, komprimiert Windows die Daten im Arbeitsspeicher standardmäßig (mein Desktop hat 32 GB und unterscheidet sich hier nicht). Speicherfehler werden während der Komprimierung und Dekomprimierung von Daten leicht erkannt und führen sofort zum Ausfall der Operation, was zum Absturz des Systems führt. Speicherfehler, die sich auf unkomprimierte Anwendungen oder andere Daten auswirken, würden "einfach" zu Anwendungsabstürzen oder beschädigten Dateien führen (obwohl dies immer noch zu Betriebssystemabstürzen führen kann). Aus diesem Grund reagiert Windows 10 empfindlicher auf Speicherfehler als frühere Windows-Versionen.

Vielen Dank. Ich werde die beiden laufen lassen und mich morgen wieder melden. emzero vor 5 Jahren 0
Nun, siehe mein aktuelles Update. Ich denke, ich habe ein fehlerhaftes RAM. Aber warum hat es gut mit Win7 funktioniert? emzero vor 5 Jahren 0
@emzero: Meine Antwort wurde aktualisiert. Um es kurz zu machen: Windows 10 verfügt über eine Speicherkomprimierungsfunktion, die es auf Speicherfehler empfindlicher macht als frühere Windows-Versionen. bwDraco vor 5 Jahren 1
Wenn Sie den Kernel- / Benutzermodus für eine Minute ignorieren (selbst wenn die Komprimierung vollständig im Benutzermodus ausgeführt wurde), würde ein Dekompressionsfehler trotzdem einen Absturz auslösen (das Betriebssystem kann sich nicht sicher erholen, abgesehen davon, dass der Prozess möglicherweise abgebrochen wird) bekannter fehlerhafter Speicher jetzt). Bob vor 5 Jahren 1
Die Speicherkomprimierung bezieht sich nicht auf Abstürze im Kernel. Dies ist das, was wir hier sehen, da die Komprimierung im Benutzermodus gemäß der von Ihnen selbst bereitgestellten Dokumentation erfolgt. harrymc vor 5 Jahren 0
@ bwDraco Ich habe beide Patriot-Module entfernt und Memtest86 zweimal mit 0 Fehlern bestanden. Auch kein BSOD in 12 Stunden. Ich denke, wir können mit Sicherheit sagen, dass mindestens einer von ihnen fehlerhaft ist. Ich lade einfach beide ab und bekomme 2 des gleichen Corsair-Modells, das ich bereits habe. Danke, die Kopfprämie gehört dir =) emzero vor 5 Jahren 1
@emzero: Um die Prämie zu vergeben, klicken Sie auf das blaue "+500" unter den Abstimmungssteuerungen für die Antwort, für die Sie die Prämie vergeben möchten. Ich freue mich, dass ich helfen kann :) bwDraco vor 5 Jahren 1
@bwDraco Leider hatte ich gerade einen anderen BSOD, dieser Zeitcode war `SYSTEM_THREAD_EXCEPTION_NOT_HANDLED`. Ich kann meine Frage nicht aktualisieren, da sie gesperrt ist. BlueScreenView zeigt jedoch Folgendes: https://i.imgur.com/tpAXJxi.png emzero vor 5 Jahren 0
@ bwDraco Und hier ist die WinDbg-Ausgabe: https://pastebin.com/462wTxLS .- Dieser BSOD wird einige Minuten nach der Installation des Treibers / der Software für meine Logitech G203-Maus angezeigt. Könnte es damit zusammenhängen? emzero vor 5 Jahren 0
@ emero: Das hat wahrscheinlich nichts mit den Speicherproblemen zu tun. Es ist in "hidclass.sys" enthalten, das USB-Eingabegeräte wie Tastaturen und Mäuse handhabt. Da dies nach der Installation eines Maustreibers der Fall ist, kann man mit Sicherheit sagen, dass es nichts mit dem Speicher zu tun hat. Ich würde trotzdem empfehlen, einen weiteren Speichertest durchzuführen, um sicherzugehen, aber ich bezweifle, dass dies das Problem ist. bwDraco vor 5 Jahren 0
Ok, definitiv etwas damit zu tun, weil ich versucht habe, die Logitech-Software zu öffnen und diesen BSOD wieder hatte. Dummes Logitech. emzero vor 5 Jahren 0
@emzero Setzen Sie alle Ihre cmos / bios / uefi-Einstellungen auf die Werkseinstellungen zurück, wenn Sie dies können und noch nicht haben. Pimp Juice IT vor 5 Jahren 0
3
harrymc

Ich kann in den Minidumps sehen, dass Sie auch eine Absturzbedingung von SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION hatten. Ich habe auch bemerkt, dass alle Ihre Abstürze im Kernel oder in der HAL auftreten, jedoch niemals in einem Gerätetreiber, sodass das Problem nicht bei einem fehlerhaften Gerät liegt.

Es ist daher sehr wahrscheinlich, dass Ihr Gedächtnis defekt ist. Windows 10 verwendet möglicherweise einen defekten Teil des RAM, der zuvor nicht verwendet wurde.

Schauen Sie sich zuerst die Ereignisanzeige an, um zu sehen, ob sie nützliche Informationen enthält.

Dann schlage ich vor, MemTest86 auszuführen :

MemTest86 ist die originale, kostenlose, eigenständige Speichertestsoftware für x86-Computer. MemTest86 bootet von einem USB-Flashlaufwerk oder einer CD und testet den Arbeitsspeicher Ihres Computers mithilfe einer Reihe umfassender Algorithmen und Testmuster auf Fehler.

Sie können auch versuchen, mit einer Teilmenge Ihrer RAM-Sticks zu booten, und dabei die für Ihr Motherboard angegebenen Vorkehrungen einhalten, um den fehlerhaften Stick zu finden.


Hinweise zu Ihren MemTest86-Ergebnissen : Sie haben Tausende von Fehlern. Die Tests der Speicheradressierung bestanden, so liegt das Problem nicht beim Speichercontroller. Die Fehler betreffen den RAM selbst, wobei die gespeicherten Daten beim Lesen falsch sind. Dies deutet darauf hin, dass mindestens einer Ihrer Memory Sticks schlecht ist und dass das Problem nicht bei der CPU oder dem Motherboard liegt.

Was du tun kannst

Sie könnten Stöcke herausnehmen und MemTest86 in der Teilmenge ausführen. Ihr Motherboard ist das Asus Z97-E, das mindestens zwei Sticks in DIMM_A1 und DIMM_B1 benötigt. Das folgende Diagramm ist auf Seite 1-7 des Handbuchs :

Bild

Wenn Sie zwei beliebige Stöcke derselben Marke einsetzen und testen, wird das Feld entweder auf die Stöcke von Corsair oder Patriot beschränkt. Wenn Sie die beiden Stöcke kennen, von denen nur einer (hoffentlich) schlecht ist, können Sie versuchen, Stöcke verschiedener Hersteller zu mischen. Ihre Spezifikationen scheinen identisch zu sein, daher könnte dies funktionieren.

Es kann auch sein, dass das Einfügen von nur einem Stick in DIMM_A1 für MemTest86 ausreichend ist. Das Diagramm aus dem Handbuch ist unklar und kann darauf hinweisen, dass ein Stick entweder in DIMM_A1 oder DIMM_B1 funktioniert. Auch wenn dies nicht der Fall ist, funktionieren manchmal nicht empfohlene Konfigurationen je nach Hauptplatine etwas.

3
pbies

Bei den Dumps kommt der Fehler aus zwei Quellen: IRQ und int 3 Anweisung. IRQ bedeutet, dass ein Treiber, der vom Interrupt aufgerufen wurde, fehlerhaft ist. Dies bedeutet, dass Sie alle Treiber, die Sie in diesem System installiert haben, auf Fehler prüfen müssen.

Int 3 ist ein Debugger-Interrupt. Dies bedeutet, dass es eine Software gibt (auch Treiber), die den Haltepunkt (Int 3) anruft, wo es nicht sein sollte. Dies kann bei der Debug-Version der Software passieren.

Meistens stammen solche BSODs von nicht ordnungsgemäß geschriebenen Treibern, daher würde ich hier nach einem Problem suchen. Deinstallieren Sie alle Treiber (oder installieren Sie das Betriebssystem neu), und überprüfen Sie sie einzeln. Zwischen jedem Treiber wird das System stärker genutzt (beispielsweise 7-Zip-Benchmark) und Sie werden den fehlerhaften finden.

Die andere Ursache des Problems könnte übertaktete CPU oder RAM sein. Um dies zu überprüfen, konfigurieren Sie das System im BIOS so, dass nur die nominalen Werte der mitgelieferten Hardware verwendet werden. Nicht mehr.