windows - Kan en BSOD påvises pålideligt efter genstart i et andet OS?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal registrere en genstart forårsaget af BSOD i et andet OS. Kan en sådan situation spores? Er en hukommelsesdump nok til det? Windows 7 viser en god dialog, som et system har genoprettet fra en alvorlig fejl - hvordan ved det?

Bedste reference


Windows giver en grænseflade til at registrere en tilbagekaldelse på bugchecks Så du kan registrere en funktion, der gør noget specifikt for en fejlkontrol - oprettelse af en simpel fil eller noget lignende, så i dette andet operativsystem kan du kontrollere, om denne fil eksisterer - hvis den bliver din bugcheck callback udført ergo. Der er opstået en fejlkontrol? Selvfølgelig, hvad du skal tage i betragtning er, at opkaldet til din funktion udstedes på IRQL af HIGH\_LEVEL, så du skal se, hvilke restriktioner der gælder, og også dette er inden for rammerne af Windows driverudvikling. [2]

Andre referencer 1


Søgning på internettet ser ud til, at Windows prøver til at generere dumpfiler i C:/Windows/Minidump. Du kan søge efter filer der. Bemærk, at jeg siger prøver , fordi en BSOD kan være så dødelig, at en dumpfil ikke kunne oprettes (for eksempel under et harddisknedbrud af indlysende årsager).


Du kan søge efter oprettelsesdatoer på filerne for at registrere den nyeste.


Dette kræver naturligvis, at du kan montere Windows-filsystemet i det andet operativsystem, men det virker som en anstændig løsning.

Andre referencer 2


Du kan skrive en simpel Windows-tjeneste, der skriver statusoplysninger et sted, hvor det andet operativsystem kan kigge efter det. Dette kan f.eks. Være en af ​​de ubrugte sektorer efter MBR, en dedikeret partition eller en USB-memory stick.


Når tjenesten starter, skriver du en besked for at angive, at Windows er i gang, måske med en tidsstempel. Du kan muligvis opdatere dette så ofte, du kan endda inkludere statusoplysninger som CPU-belastning eller driverbelastning/aflæsning, hvis det ville være nyttigt. Når tjenesten registrerer, at systemet lukker, skriver det en besked, der siger det. Når dit andet OS ser på disse oplysninger, hvis den sidste besked ikke sagde, at systemet var forsætligt lukket ned, så kan man konkludere, at Windows styrtede. Windows gør noget lignende, så boot loader kan tilbyde at starte systemet i sikker tilstand .


Det gør det klart, at dette ikke gør det muligt at skelne mellem en BSOD og andre typer nedbrud, og du får en falsk positiv, hvis systemet taber strøm. Du ville heller ikke kunne opdage en BSOD, hvis det opstod under systemafbrydelsesprocessen. Uanset om disse advarsler afhænger af de detaljer, du ikke fortæller os.

Andre referencer 3


Som standard vil Windows logge en begivenhed til hændelsesloggen, når et system går i stykker. (Se min kommentar nedenfor).

Andre referencer 4


Ikke på den normale måde, da crashdumpen faktisk er skrevet til sidefilen ved den kode, der gør BSoD'en, derefter efter genstart , skriver Windows dette til den endelige dumpfil.