- Zaustavna greška 0x0000003B označava izuzetak prilikom pokretanja sistemske usluge u kernel modu.
- Najčešći uzroci su neispravni kontroleri, oštećenje memorije ili sistema i specifični kvarovi baterije.
- WinDbg (.cxr, kb, !analyze) i Driver Verifier pomažu u identifikaciji krivog drajvera.
- Za specifične slučajeve postoje hitne ispravke (IEEE 1394 u Windows 7) i niz praktičnih rješenja.

Kada Windows prikaže plavi ekran s porukom SYSTEM_SERVICE_EXCEPTION i kodom 0x0000003B, to je upozorenje da je došlo do vrlo ozbiljnog problema prilikom prelaska iz korisničkog načina rada u kod kernelskog načina rada. Ovaj kod zaustavljanja se pojavljuje kada rutina sistemske usluge izbaci izuzetak i uključeni podproces pripada sistemu, a ne bilo kojoj aplikaciji.
Ako ste već vidjeli ovu grešku na svom računaru ili serveru, niste sami. To je a BSOD relativno uobičajeno što može nastati zbog neispravnih upravljačkih programa, oštećenja memorije ili sistema, nekompatibilnih uslužnih programa ili čak specifičnih kvarova u određenim stekovima vozači (kao što je IEEE 1394 u starijim verzijama Windowsa). U nastavku ćete pronaći kompletan vodič s uzrocima, simptomima, naprednom dijagnostikom pomoću WinDbg-a, poznatim slučajem sa službenom hitnom ispravkom i praktičnim rješenjima za tehničare i korisnike.
Šta znači SYSTEM_SERVICE_EXCEPTION (0x0000003B)
Ova provjera grešaka ima vrijednost 0x0000003B i ukazuje na to da Došlo je do izuzetka dok je bila pokrenuta rutina sistemske usluge.Drugim riječima, nešto je pošlo po zlu tokom prelaska iz korisničkog u kernelski način rada i Windows isključuje mašinu kako bi spriječio daljnja oštećenja.
Kodovi izuzetaka su izraženi u NTSTATUS formatu i definirani su u ntstatus.h WDK-a. Dva uobičajena koda povezana s ovim zaustavljanjem To su:
- 0x80000003 (TAČKA_PREKIDANJA_STATUSA)Pronađena je tačka prekida/ASSERT bez povezanog debuggera kernela.
- 0xC0000005 (KRŠENJE_STATUSA_PRISTUPA): kršenje pristupa memoriji (nevažeće čitanje/pisanje/izvršavanje).
U praktičnom smislu, oni su obično u opasnosti dereferenciranje na NULL pokazivače, nasumične adrese ili oštećene strukture podataka, ponekad zbog preranog oslobađanja memorije ili drajvera koji prosljeđuju netačne podatke kernelu.
Parametri provjere grešaka 0x0000003B
Kada analizirate damp, vidjet ćete četiri parametra. Oni su ključni za centriranje udarca prilikom otklanjanja grešaka:
| Parametar | opis |
|---|---|
| 1 | NTSTATUS kod izuzetka što je pokrenulo provjeru grešaka. |
| 2 | Smjer nastave što je uzrokovalo provjeru grešaka. |
| 3 | Adresa kontekstnog zapisa izuzetka (KONTEKST). |
| 4 | 0 (nekorišteno). |
Pomoću tih podataka možete rekonstruirati stanje izvršenja. Parametar 1 će vam tačno reći koji se NTSTATUS izuzetak dogodio, a 3 vam omogućava učitavanje konteksta za pregled logova i steka u trenutku pada sistema.
uobičajeni uzroci
U praksi, ovaj BSOD se pojavljuje zbog kombinacije softvera i hardvera. Tipični uzroci uključuju:
- Loše napisani, zastarjeli ili oštećeni drajveri (grafika, skladištenje(mreža, USB, itd.).
- Oštećenje memorije (RAM), NULL dereferenciranje ili korištenje oslobođene memorije.
- Oštećene sistemske datoteke ili nekonzistentna konfiguracija kernela.
- Oštećeni ili manipulirani unosi u registru od strane zlonamjernog softvera/adwarea.
- Problemi s diskom (loši sektori, greške u datotečnom sistemu).
- Specifični slučajevi steka drajvera (npr. IEEE 1394 na Windows 7/Serveru 2008 R2).
To se također može poklopiti s nedavnim promjenama: Instalacija novog softvera/hardvera, ažuriranje drajveraažuriranja sistema ili postavke overkloka.
Simptomi i ponašanje
Iza plavog ekrana, uobičajeno je vidjeti periodična zamrzavanja, opšta sporost, neočekivana ponovna pokretanja i nasumična gašenja aplikacijePonekad računaru treba dugo vremena da se učitava nakon BSOD-a (vrlo sporo pokretanje aplikacija poput Discorda) i, u mnogim slučajevima, kvar se manifestuje dok se čini da je računar neaktivan.
U praktičnom slučaju koji je opisao korisnik, došlo je do padova jednom dnevno s periodima od 4-5 dana bez prekida, a bila su praćena zatvaranjima paraPonovno pokretanje Discorda ili zamrzavanje Firefox tabova. Tim je imao Windows 11 24 sata dnevno sa modernim hardverom (Intel (Core i7-14700K, RTX 4080, Z790 DDR5, NVMe SSD-ovi) i mini-dump-ovi su trebali pregled kako bi se izolovao pravi izvor. Ova vrsta obrasca odgovara upravljački programi, uslužni programi trećih strana ili povremeno oštećenje memorije.
Napredna dijagnostika sa WinDbg-om
Ako imate pristup simbolima i osjećate se ugodno koristeći WinDbg, možete odmah prijeći na stvar. Osnovni niz za 0x3B je obično:
- SAD !analiza -v da bi se dobio sažetak provjere grešaka, sumnjivog modula i steka.
- Učitajte kontekst parametra 3 sa .cxr a zatim izvadite bateriju sa kb.
- Rastavljanje oko instrukcije parametra 2 sa ti, ub, uu i posmatrajte pristup memoriji.
Primjer (sumariziranog) izlaza može izgledati ovako; primijetite kako Navedeni su ključni argumenti i adrese:
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code
Arg2: fffff802328375b0, Faulting IP
Arg3: ffff9c0a746c2330, Context record
Arg4: 0000000000000000, Reserved
Da bi identifikovao odgovorni drajver, kernel otkriva KiBugCheckDriverMožete to provjeriti pomoću DX-a:
dx KiBugCheckDriver
// Ejemplo de salida: "nvlddmkm.sys" (cadena UNICODE)
Kada je arg1 NTSTATUS, !greška Prevodi kod za vas:
!error 00000000c0000005
(NTSTATUS) 0xC0000005 - The instruction at 0x%p referenced memory at 0x%p.
više naredbe korisno tokom sesije: lm tn da navedete module, !memusage da biste vidjeli status globalne memorije i !pte o bazen da dublje istraži stranice i bazene. Odjeljak STACK TEXT (stek) pruža očigledne tragove o tome koji se kod izvršavao i kako je tamo dospio.
Praktični savjet: ako sumnjate na prekomjernu konzumaciju straničeni bazen zbog preklapanja drajvera korisničkog režima i kernela (historijski uobičajeno kod grafike), aktivira se Driver Verifier s pravilima bazena za hvatanje prekršaja odmah u trenutku kvara.
Verifikator upravljačkog programa
Verifikator drajvera radi u realnom vremenu kako bi pratio ponašanje drajvera, proaktivno forsirajući izuzetke kada Detektira zloupotrebu memorije, IRQL-a ili sinhronizacijeIntegriran je u Windows i možete ga pokrenuti iz komandne linije ili PowerShell con provjeriti.
Osnovni koraci: odaberite Kreirajte standardnu konfiguracijuTraži od vas da odaberete nepotpisani ili noviji drajveri, i ograničava skup na osumnjičene (grafika, pohrana, mreža). Izbjegavajte provjeravati apsolutno sve. kako bi se izbjeglo pretjerano kažnjavanje sistema. Ako Verifikator drajvera pronađe probleme, sistem To će generirati trenutni BSOD s više korisnih informacija..
Podrška za analizu i pamćenje
Ako trebate dublje istražiti memorijski podsistem Windowsa, Windows Internals (7. izdanje, 1. dio) To je odličan resurs za razumijevanje kako i gdje tražiti. U WinDbg-u, ne zaboravite koristiti !memusage za cjelokupnu sliku, a zatim precizirajte pomoću !pte y bazen kada greška ukazuje na korupciju u paginaciji ili u pool-ovima.
Poznati slučaj: BSOD sa IEEE 1394 u Windows 7/Server 2008 R2
U Microsoftu postoji dokumentovani problem gdje računari sa Windows 7 ili Windows Server 2008 R2 bi se srušio pri korištenju određenih IEEE 1394 uređaja, prikazujući sličnu poruku Stop. Izvor je bila greška u Microsoftovom IEEE 1394 steku drajvera: Dodijeljeni bafer se nije ispravno inicijalizirao..
Microsoft je objavio specifična hitna ispravka Dizajnirano posebno za ovaj problem. Zvanične preporuke: koristite ga samo ako imate upravo ovaj problem, jer može uključivati dodatne provjereAko se preuzimanje ne pojavi, trebali biste se obratiti Microsoftovoj podršci. Zahtijeva ponovno pokretanje nakon instalacije i ne zamjenjuje druge prethodne hitne ispravke.
Detalji o ključnim datotekama uključenim (reprezentativni izbor): 1394bus.sys, 1394ohci.sys, ohci1394.sysZa referencu, ovo su bile neke verzije/datumi po platformi:
- x86 (Windows 7): 1394bus.sys 6.1.7600.16385 (~54 KB, 13. juli 2009.), 1394ohci.sys 6.1.7600.20649 (~164 KB, 20. februar 2010.), ohci1394.sys 6.1.7600.16385 (~62 KB, 13. juli 2009.).
- x64 (Windows 7 / Server 2008 R2): 1394bus.sys 6.1.7600.16385 (~68 KB, 14. juli 2009.), 1394ohci.sys 6.1.7600.20649 (~228 KB, 20. februar 2010.), ohci1394.sys 6.1.7600.16385 (~72 KB, 14. juli 2009.).
- IA-64 (Server 2008 R2): 1394bus.sys 6.1.7600.16385 (~182 KB, 14. juli 2009.), 1394ohci.sys 6.1.7600.20649 (~509 KB, 20. februar 2010.), ohci1394.sys 6.1.7600.16385 (~172 KB, 14. juli 2009.).
Također su bili distribuirani MUM manifesti i paketi specifične za arhitekturu (npr. X86_1394.inf_…_6.1.7600.20649…, AMD64_1394.inf_… i IA64_1394.inf_…), sa njihovim odgovarajućim potpisom kataloga (.cat). Nije bilo preduslova za instalaciju nakon naknadnog ponovnog pokretanja, a Microsoft je potvrdio problem u naznačenim proizvodima.
Praktična rješenja (od najčešćih do najtehničkih)
Također možete postići veliki napredak bez pristupa WinDbg-u. Počnite s jednostavnim stvarima i postepeno ih povećavajte. Ako problem i dalje postoji:
1) Provjerite ima li najnovijih softvera i upravljačkih programa
Ako se problem pojavio nakon instalacije nečega, deinstalirajte taj softver ili se vratite na prethodni upravljački program. U Upravitelj uređajaOznačite uređaje sa uskličnikomi provjerite njegova svojstva za događaje/greške. Pokušajte ažurirati ili vratiti stare drajvere (grafika, pohrana, mreža, USB, monitori), a ako se problem pojavio nakon ažuriranja, koristite Vratite se na prethodni vozač kada je dostupno.
2) Provjerite ima li zlonamjernog softvera
Pokrenite potpuno skeniranje pomoću antivirusnog programa ili Microsoftovog rješenja. Brzi testovi mogu ostaviti ostatkePotpuno skeniranje je najbolje za čišćenje unosa u registru i binarnih datoteka izmijenjenih zlonamjernim softverom/adwareom.
3) Popravak sistemskih datoteka
Otvorite konzolu kao administrator i prvo pokrenite sfc / scannowKada je gotovo, baci DISM / Online / Cleanup-Image / RestoreHealth. SFC popravke iz lokalne keš memorije a DISM prilagođava sliku sistema kako bi ispravio dublje nedosljednosti.
4) Provjerite disk i datotečni sistem
Otvori CMD pokreni kao administrator chkdsk / f (o chkdsk c: / r iz okruženja za oporavak). Ako pronađete neispravne sektore, označit će ih kao neupotrebljive; ovo može spriječiti pad kernela prilikom učitavanja oštećenih drajvera ili DLL-ova.
5) Testirajte RAM memoriju
Pokrenite alat za dijagnostiku memorije sa mdsched.exe i odaberite ponovno pokretanje i provjeru. Ako prijavi greške, ocijenite ga. Zamijenite neispravan modul ili smanjite XMP/overclockingAko koristite DDR5 na podešenim frekvencijama, pokušajte s tvorničkim JEDEC vrijednostima.
6) Čisto pokretanje
con msconfigSkriva Microsoftove usluge i onemogućava ostale; u Task Manager, onemogućava pokretanje aplikacije. Ovo izoluje softver trećih strana (antivirus, RGB uslužni programi, slojevi, itd.) koji se mogu prikačiti na kernel.
7) Ažurirajte BIOS i čipset
Preuzmite sljedeće sa web stranice za podršku proizvođača vaše matične ploče: Najnoviji BIOS/UEFI i drajveri za čipsetPoboljšanja u mikrokodu, upravljanju napajanjem i kompatibilnosti memorije/PCIe smanjite BSOD povezan s tajmingom i ACPI-jem.
8) Onemogućite overklokiranje ili resetirajte UEFI
Vraća na zadane vrijednosti za CPU, GPU i RAM. Agresivno tajmingovanje ili kratki naponi To često rezultira oštećenjem memorije koje je vrlo teško pratiti. Sačuvajte i testirajte stabilnost na zalihama.
9) Vraćanje sistema
Ako je problem počeo nedavno, pokrenite rstrui.exe i vraća se na prethodnu tačku. To je brz način za poništavanje promjena u drajverima/registru bez ponovne instalacije.
10) Popravke pokretanja i BCD-a (kada ne pali)
Iz okruženja za oporavak: Popravak prilikom pokretanjaAko to nije dovoljno, otvorite CMD i pokrenite bootrec / fixmbr y bootrec / fixboot. Korisno kada je BSOD praćen problemi s pokretanjem ili prekidi tokom instalacije.
11) Opcionalno: Privremeno onemogućite sigurno pokretanje
U nekim specifičnim scenarijima, onemogućavanje Secure Boot UEFI omogućava pokretanje s alternativnim kontrolerima kako bi se izolirao konflikt. Ne zaboravite ga ponovo aktivirati kada završite testove.
12) Ponovna instalacija Windowsa (krajnja opcija)
Ako ništa drugo ne uspije, čista instalacija će eliminirati uporne probleme i problematične upravljačke programe. Prvo napravite sigurnosnu kopiju jer će podaci biti izbrisani. Ako instalacijski program pri kraju prikaže i BSOD, pokušajte sa još jedan USB ISO, još jedna M.2 jedinica i BIOS default.
Oporavite podatke ako ne možete pokrenuti
Gubitak podataka nakon greške 0x0000003B je relativno uobičajen, posebno ako sistem uđe u petlje grešaka. Prije ponovne instalacije, razmislite o izdvajanju datoteka pomoću boot oporavak.
Alati poput Oporavi Omogućavaju vam da kreirate USB disk za pokretanje sistema sa drugog računara, pokrenete pogođeni računar i kopiranje dokumenata, fotografija i videozapisa na sigurnu destinaciju. Tipičan tijek rada je kreiranje medija, pokretanje s njega i odabir diska za skeniranje radi oporavka važnih datoteka.
Druga opcija je Čarobnjak za oporavak podataka EaseUS-a u WinPE-ukoji nudi pokretanje bez dodirivanja instalacije i Siguran način rada za oštećene sistemske diskoveNjegove prednosti uključuju nebrisanje podataka, pregled datoteka i ne zahtijevaju ponovnu instalaciju Windowsa za početak oporavka. Ako vaš računar Često se zamrzava ili ponovo pokreće.Počevši od vlastitog okruženja, moći ćete izvući ključne informacije.
Dodatni savjeti za rješavanje problema
Pored navedenog, vrijedi razmotriti i neke osnove. U pregledniku događaja (sistemski dnevnik)Potražite kritične greške u istom prozoru kao i plavi ekran; one često ukazuju na usluge ili upravljačke programe. Ako ste nedavno dodali hardver, pokušajte ga ukloniti ili kontaktirajte proizvođača za potpisana ažuriranja. U upravitelju uređajaSvaki uskličnik je znak upozorenja. A kada identifikujete upravljački program na plavom ekranu, zabilježite tačan naziv .sys datoteke.
SYSTEM_SERVICE_EXCEPTION (0x0000003B) je odraz kritičnog izuzetka u tranzitu kernela. Sa WinDbg-om, parametri za provjeru grešaka, !analyze, .cxr i kb Ovo je obično dovoljno da se identifikuje tačka kvara; ako ne, Driver Verifier će pomoći u pronalaženju neispravnog drajvera. Za poznate slučajeve kao što je IEEE 1394 u Windows 7/2008 R2, Microsoft nudi hitne ispravke za određene verzije datotekaZa ostale, niz koraka za rješavanje problema - drajveri, SFC/DISM, disk, RAM, BIOS/UEFI, čisto pokretanje i, ako je potrebno, ponovna instalacija - vraća stabilnost, a to je uvijek moguće. sačuvajte podatke pomoću medija za oporavak pre preduzimanja drastičnih mera.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje kroz pisanje, a to je ono što ću raditi na ovom blogu, pokazivati vam sve najzanimljivije stvari o gadžetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se krećete u digitalnom svijetu na jednostavan i zabavan način.