Gibt es eine Möglichkeit, ein BSOD unter Windows XP und neueren Versionen programmgesteuert auszulösen? Wie?
Übrigens nur zur Klarstellung, dies ist nicht für böswillige Zwecke. Der Client hat angefordert, dass ein Terminal in seinem LAN auf diese Weise heruntergefahren / neu gestartet werden kann. Als ich fragte, warum, sagten sie, weil es schneller als ein normaler Neustart ist ... :)
(Ich bin gespannt, welchen Teil von "programmatisch" die Leute nicht verstehen, die dies auf Super User migriert haben. Duh.)
Antworten:
Den Tastaturtreibern kann gesagt werden, dass sie einen BSOD verursachen sollen:
oder (für ältere PS / 2-Tastaturen)
Und dort setzen Sie einen
REG_DWORD
NamenCrashOnCtrlScroll
auf1
.Nach dem nächsten Neustart können Sie den blauen Bildschirm durch Ctrl+ ScrollLk+ erzwingen ScrollLk. Der Fehlerprüfcode lautet in diesem Fall 0xE2 (MANUELL_INITIATED_CRASH).
Wenn Sie wirklich eine programmatische Methode wünschen, müssen Sie eine Lücke in einem Treiber auf diesem Computer finden oder einen simplen Treiber schreiben und installieren, der entweder
KeBugCheck
oder aufruftKeBugCheckEx
.Habe Spaß ;)
Randnotiz: Es kann sehr nützlich sein, einen solchen Absturz absichtlich für Treiberautoren oder sogar im Umgang mit Malware zu verursachen. Wenn Sie Ihr System so konfiguriert haben, dass ein vollständiger Speicherauszug erstellt wird, erhalten Sie ein Image des laufenden Systems, das weiter analysiert werden kann. Betrachten Sie Fälle wie einen Deadlock, in denen ein Debugger nicht in allen Fällen helfen muss.
quelle
Versuchen Sie NotMyFault!
http://technet.microsoft.com/en-us/sysinternals/bb963901
quelle
Ich weiß nicht genau, wie ich es verursachen soll, aber ich glaube an Vista und 7, es wird standardmäßig heruntergefahren, wenn ein Systemfehler auftritt und der BSOD nicht angezeigt wird.
quelle
Im Allgemeinen tritt ein BSOD auf, wenn innerhalb des Betriebssystems oder der Hardware ein fürchterlicher Fehler auftritt. Es ist von Natur aus ziemlich schwierig, Fehler in einem der Systeme von außerhalb zu beheben, da Betriebssystemautoren und Hardwareanbieter schlechte Softwareentwickler nicht schätzen, die ihre Produkte schlecht aussehen lassen und die Benutzererfahrung beeinträchtigen.
Das Schreiben eines Treibers ist eine der wenigen Möglichkeiten, um dem Betriebssystem und der Hardware nahe genug zu kommen und einen solchen Fehler zu verursachen. Natürlich ist die Installation eines solchen Treibers im Allgemeinen nicht ohne gezielte Kenntnisse und Administratorrechte möglich. Daher gestaltet sich die Verwendung dieses Treibers für böswillige Zwecke als ziemlich schwierig. Mit dieser Art von Zugang könnten Sie viel mehr Schaden anrichten, ohne einen BSOD oder ein solches Rundum-Sorglos-Mittel.
quelle
Ein BSOD ist eine Kernel-Panik. Es bedeutet, dass ein Teil des Kernels, der Kern des Betriebssystems, etwas wirklich Schlechtes getan hat. Es hat vielleicht Speicher gekritzelt, es hat vielleicht Code ausgeführt, den es nicht haben sollte. Programmatisch müssten Sie Code im Kernel-Speicher abrufen und ihn dann bei Bedarf auslösen. Ein bisschen riskant für einen Prod-Server.
Normale Windows-Computer haben einen hohen Status in Prozessen und im Kernel. Was auch immer Sie bereinigen müssen, um den Zustand konsistent zu halten, Sie haben es nur kurzgeschlossen.
Insbesondere ist ein BSOD (normalerweise) ein Kernel- (oder Treiber-) Fehler, der Kernel befindet sich in einem schlechten Zustand, fühlt sich also so schlecht an, als könne er nicht bereinigt werden und würde lieber neu starten und den guten Zustand verlieren, den er hat, nur weil er es nicht tut weiß, was gut und was schlecht ist. Alle Puffer konnten nicht auf die Festplatte (n) geleert werden. Dann wird versucht, beim Neustart zu bereinigen, aber es hat beim Herunterfahren / bei der Panik viel Kontext verloren, so dass es eine konservative Bereinigung ist, bei der sowohl gute als auch schlechte Reste aus der Panik herausgesucht werden müssen.
Ein Teil Ihres Vorteils beim Herunterfahren ist beim Starten weg, da jetzt herausgefunden werden muss, woher es stammt, dass die Beine unter sich herausgeschnitten wurden. Es muss chkdsk ausführen und alle Festplattenblöcke bereinigen, die sich in einem Teilschreibzustand befanden. USB-Festplatten zwischenspeichern viel. Sie können die Zwischenspeicherung deaktivieren, wodurch die Wahrscheinlichkeit geringer wird, dass Daten bei einem Absturz verloren gehen. Wenn Sie die Zwischenspeicherung jedoch nicht durchführen, wird die Geschwindigkeit beeinträchtigt. Welche Dateien möchten Sie verlieren?
Kurz gesagt, das ist eine schlechte Idee. Jede Produktionsmaschine, auf der dies passiert, befindet sich möglicherweise auch nach der Bereinigung in einem instabilen Zustand. Das ist schlecht.
Ich würde sagen, nur um das Herunterfahren und den Neustart in Kauf zu nehmen. Sie verlieren jede Zeitersparnis, die Sie beim ersten Neustart des Servers für nötig halten, weil er nicht startet oder Ihre Programme nicht gestartet werden können.
quelle
Müssen Sie erwähnen, dass das Töten von csrss.exe-Prozess BSOD machen würde. Aber nicht auf neuestem Windows (8, 8.1).
quelle
STATUS_SYSTEM_PROCESS_TERMINATED
).Das Code-Snippet von https://www.mpgh.net/forum/showthread.php?t=1100477 funktioniert unter Windows 10.17134
Es scheint keine Spur im Ereignisprotokoll zu geben. Wird es doch sicher eine Spur im Minidump geben?
quelle