none
BSOD s ntoskrnl.exe - čím ntoskrnl.exe nahradit?

    Dotaz

  • Dobrý den.
    Mám takový pro mě zapeklitý případ.
    Od zavedení SEP (Symantec Endpoint Protection) se mi občas na některých počítačích objevuje BSOD

    This was likely caused by the following module: ntoskrnl.exe
    Bugcheck code: 0x96 (0x89E1B188, 0x8055B17C, 0x8055B140, 0x8056BD24)
    Error: INVALID_WORK_QUEUE_ITEM
    Dump file: C:\Windows\Minidump\081310-01.dmp
    file path: C:\Windows\system32\ntoskrnl.exe
    product: Microsoft® Windows® Operating System
    company: Microsoft Corporation
    description: NT Kernel & System
    The crash took place in a standard Microsoft module. Your system configuration may be incorrect, possibly the culprit is in another driver on your system which cannot be identified at this time.

    Problém je patrně v SEP, to ale řešit nechci, potřebuji se ale zorientovat v tom jak ntoskrnl.exe případně nahradit.

    Našel jsem 3 postupy opravy z Recovery console

    cd c:\windows\system32
    copy "..\driver cache\i386\ntoskrnl.exe"

    a

    cd "c:\windows\driver cache\i386 "
    expand sp3.cab -F:ntoskrnl.exe c:\windows\system32

    a

    expand d:\i386\ntoskrnl.ex_ c:\windows\system32

     

    V prvním případě jsou oba soubory c:\windows\system32\ntoskrnl.exe a c:\windows\driver cache\i386\ntoskrnl.exe totožné i když tam je BSOD (porovnáno v totalcommander) a mají velikost 2 192 128 byte nebo na jiných počítačích 2 148 352 byte. Jinou velikost jsem na sledovaných PC nenašel.

    Problém je v tom, že když si soubor ntoskrnl.exe cvičně rozbalím buď z sp3.cab nebo z ntoskrnl.ex_, tak dostanu třetí velikost tohoto souboru a to 2 191 104 byte.

    Co je správně?

    Díval jsem se na 10 počítačů s XP SP3, všechny aktualizované stejně přes WSUS a ntoskrnl.exe o velikosti 2 192 128 byte mám shodou okolností na 5 počítačích a 2 148 352 byte na dalších 5 počítačích. Dá se skoro říct, že se to liší podle typu (výrobce) počítače (ne 100%). Což mi přijde poněkud nelogické. Verze SEP je také všude stejná.

    Přiznám se, že náhradou ntoskrnl.exe pros konzoli nechci způsobit větší malér, než už je. A reinstalace, vzhledem k tomu, že mi to začalo padat po aplikaci SEP,  patrně také nic nevyřeší.

    pondělí 18. října 2010 15:12

Odpovědi

  • ntoskrnl.exe je částa jádra systému. Musel by jsi ho nahrazovat jen v případě, že by bylo vymazáno. Jeho změna by mohla mít za následek pád systému.

    Ten ntoskrn.exe není příčinou. Příčinou je driver/nebo služba, která vyvolá tento efekt a z toho pak plyne to, že systém spadne. Prostě ten Endpoint protection udělá nějakou akci a pak je oheň na střeše, protože něco podělá...to musí vyřešit oni, ne ty...:( ty to nemáš jak vyřešit...

    • Navržen jako odpověď Jiří JanataMember pondělí 18. října 2010 21:42
    • Označen jako odpověď yorgstbk úterý 19. října 2010 6:00
    pondělí 18. října 2010 17:39
  • No, v praxi se to dohledává takto: Začne to padat - neinstaloval se program - ano - jakej - antivirus (zasahuje hluboko do systému) - odinstalace - padá - ne - instalace problémového programu - padá? - ano - je to programem. Použít starší nebo novější verzi...

    Ten minidump bohužel uchová informace o tom co spadlo...a co to tak zhruba způsobilo. Ale v praxi se stane tohle - antivirus, nějaká jeho komponenta (obzvlášť na XP, kde si ty Antiviry dělají pomalu co chtějí) cosi schodí, s něčím si nesedí - to způsobí pád něčeho dalšího - a pak to nakonec udělá nějakou neošetřenou vyjímnku a šup - máme tu Blue screen...:)

     

    ntoskrnl.exe - jeho velikost záleží na těchto komponentách - bootvid.dll, hal.dll a kdcom.dll

    to znamená - více zařízení, více ovladačů, jiné ovladače, etc = jiná velikost. Pro to, aby jsi našel dva stejné, si musíš udělat Hashe těch souborů, ale je to zbytečné - pokud se nesmaže nemá cenu ho ničím nahrazovat:)

    • Navržen jako odpověď Jiří JanataMember pondělí 18. října 2010 21:41
    • Označen jako odpověď yorgstbk úterý 19. října 2010 5:59
    pondělí 18. října 2010 21:41

Všechny reakce

  • ntoskrnl.exe je částa jádra systému. Musel by jsi ho nahrazovat jen v případě, že by bylo vymazáno. Jeho změna by mohla mít za následek pád systému.

    Ten ntoskrn.exe není příčinou. Příčinou je driver/nebo služba, která vyvolá tento efekt a z toho pak plyne to, že systém spadne. Prostě ten Endpoint protection udělá nějakou akci a pak je oheň na střeše, protože něco podělá...to musí vyřešit oni, ne ty...:( ty to nemáš jak vyřešit...

    • Navržen jako odpověď Jiří JanataMember pondělí 18. října 2010 21:42
    • Označen jako odpověď yorgstbk úterý 19. října 2010 6:00
    pondělí 18. října 2010 17:39
  • Díky za odpověď. Pomohla. Zbytečně reinstalovat se mi opravdu nechce.

     

    Dovolím si ještě 2 doplňující otázky.

    Dá se nějak dohledat, že právě ten SEP je příčinou? V mini ani v memory.dmp nic takového nevidím. A v eventlogu jsem také nic konkrétního nenašel.

    Pro upřesnění. Já se to, že příčinou je SEP jen domnívám, protože ty počítače začaly padat bezprostředně po jeho nasazení. Předtím problém nebyl a dnes je problém je v tom, že integrátor, který SEP u nás nasadil a spravuje ho, příliš nereaguje. Asi nemá od Symantec co sdělit. A já bohužel sklízím výtky.

    A ještě otázka ze zvědavosti. Dají se nějak vysvětlit ty 3 různé velikosti ntoskrnl.exe?

     

    pondělí 18. října 2010 20:36
  • No, v praxi se to dohledává takto: Začne to padat - neinstaloval se program - ano - jakej - antivirus (zasahuje hluboko do systému) - odinstalace - padá - ne - instalace problémového programu - padá? - ano - je to programem. Použít starší nebo novější verzi...

    Ten minidump bohužel uchová informace o tom co spadlo...a co to tak zhruba způsobilo. Ale v praxi se stane tohle - antivirus, nějaká jeho komponenta (obzvlášť na XP, kde si ty Antiviry dělají pomalu co chtějí) cosi schodí, s něčím si nesedí - to způsobí pád něčeho dalšího - a pak to nakonec udělá nějakou neošetřenou vyjímnku a šup - máme tu Blue screen...:)

     

    ntoskrnl.exe - jeho velikost záleží na těchto komponentách - bootvid.dll, hal.dll a kdcom.dll

    to znamená - více zařízení, více ovladačů, jiné ovladače, etc = jiná velikost. Pro to, aby jsi našel dva stejné, si musíš udělat Hashe těch souborů, ale je to zbytečné - pokud se nesmaže nemá cenu ho ničím nahrazovat:)

    • Navržen jako odpověď Jiří JanataMember pondělí 18. října 2010 21:41
    • Označen jako odpověď yorgstbk úterý 19. října 2010 5:59
    pondělí 18. října 2010 21:41
  • Děkuji, perfektní odpověď.
    úterý 19. října 2010 5:59