Hlavička - Mezi monitorem a židlí

Poškozený soubor hal.dll, ntoskrnl.exe nebo ntdll.dll

Start Windows XP někdy může skončit chybovým hlášením „Systém Windows nelze spustit. Uvedený soubor je poškozen nebo nebyl nalezen: <Windows root>\system32\hal.dll. Nainstalujte znovu uvedený soubor.“. V některých případech může hlášení alternativně za problematické označit soubory ntoskrnl.exe nebo ntdll.dll.

hal_error

Hledáte-li řešení tohoto problému, najdete obvykle návody na zkopírování těchto souborů z instalačního CD Windows pomocí Konzoly pro zotavení (Recovery console). Dlužno podotknout, že ve většině případů tato operace nevede k cíli a Windows nadále nestartují.

Chybové hlášení má zpravidla na svědomí vadný nebo chybějící konfigurační soubor pro zavádění systémů – soubor boot.ini. Opravit jej můžete několika způsoby. Doporučuji využít konzolu pro zotavení.

Nastartujte konzolu a přihlaste se k poškozené instalaci.

V konzole se musíte dostat do kořenové složky (do tzv. rootu) prvního spouštěcího disku (obvykle disk C) nebo do složky WINDOWS (C:\WINDOWS>) pokud jste jinde, použijte příkaz cd.. kterým vystoupíte o složku výše nebo cd\, jímž  přeskočíte okamžitě do rootu.

Jestliže je v příkazovém řádku C:\> nebo C:\WINDOWS>, napište příkaz

bootcfg /rebuild

jenž po krátké kontrole zobrazí dotaz, zda má přidat instalaci do souboru boot.ini. Přidání potvrdíte napsáním písmene „a“.

oprava konfigurace zaváděni systému Windows XP

Následně se zobrazí výzva k zadání identifikátoru načtení, kam můžete napsat vlastní název operačního systému (kvůli rozlišení). Pokud název nevyplníte, použije se výchozí. Po stisku klávesy Enter se zobrazí možnosti načítání OS, zde můžete napsat /fastdetect, tento příkaz má na svědomí o něco rychlejší a spolehlivější start počítače. Obě dvě možnosti však můžete ponechat prázdné a pouze je odklepnout stiskem klávesy Enter.

Nyní napište do konzoly příkaz exit, jímž ukončíte konzolu a systém se restartuje. Pokud počítač ani po tomto zásahu nenastartuje a nadále vypisuje stejnou chybu, pokuste se obnovit vypisovaný soubor.

Opět nastartujte konzolu a přihlaste se k poškozené instalaci Windows.

1. Nyní musíte nakopírovat potřebný soubor z instalačního CD do adresáře Windows. Tyto soubory se nacházejí na CD v adresáří I386.

2. Do konzoly zapište písmeno, pod kterým se vám hlásí CD/DVD mechanika (např.: D:) a stiskněte Enter.

3. Pak přejděte do složky I386 tak, že napíšete příkaz

cd I386

a stisknete Enter.

4. Nyní soubor hal.dll zkopírujeme do potřebné složky. Soubory na CD jsou obvykle komprimovány a místo originálních názvů mají poslední znak přípony nahrazený podtržítkem, soubor hal.dll tedy bude mít název hal.dl_. do konzoly zapište

expand hal.dl_ C:\Windows\system32\hal.dll

a stiskněte klávesu Enter.

obnova poškozeného souboru hal.dll

Poznámka: U souborů, které nejsou komprimovány (nemají přejmenováno poslední písmeno přípony) použijete místo příkazu expand příkaz copy, takže zápis bude vypadat takto:

copy NTDLL.DLL C:\Windows\system32\ntdll.dll

Pro soubor ntoskrnl.exe má příkaz následující podobu:

expand NTOSKRNL.EX_ C:\Windows\system32\ntoskrnl.exe

Po úspěšném nakopírování souborů restartujte počítač a Windows by se měla v pořádku spustit. Pokud ani tato operace nezabere a start počítače stále končí stejnou chybou, budete patrně muset přistoupit k opravě Windows (opravné instalaci).

69 comments for “Poškozený soubor hal.dll, ntoskrnl.exe nebo ntdll.dll

  1. Petr Vašek
    2. 8. 2009 at 18:37

    Děkuji moc, uvedený návod funguje a problém se vyřešil! zdravím

  2. Lukáš Trbola
    8. 10. 2009 at 19:24

    zdravím!
    měl jsem problém se souborem hal.dll (viz. první screen)… uvedený návod mi také pomohl! sice nefungoval příkaz expand… když sem napsal příkaz s ním, tak mi to napsalo, že se nepovedlo, ale zkusil jsem příkaz copy namísto expand a napsalo to, že jeden soubor byl zkopírován nebo tak nějak… restartnul sem windows, xp začly nabíhat, ale kously se při té animaci (viz. http://www.mobtech.cz/data/mob_loga/1359/WindowsXP_screen.gif) a dál se prostě nenačítají… nevíte co s tím dál? moc díky za odpověd!

  3. atelierdk
    9. 10. 2009 at 14:12

    Zkoušel jste tu část návodu (pomocí příkazu bootcfg /rebuild)? A jak to dopadne v nouzovém režimu? Do něj by snad počítač nastartovat mohl.
    Pak bych navrhoval zkontrolovat hardware (Ovládací panely > Systém > Správce zařízení), jestli tam nejsou nějaké potíže nebo možná ještě lépe vrátit počítač do funkčního stavu pomocí obnovení systému.
    Pokud se nepovede nastartovat ani do nouzového režimu pak asi nezbude než opravit Windows.

  4. Lukáš Trbola
    10. 10. 2009 at 14:46

    díky dík, už sem to vyřešil 😉

  5. Mara
    14. 10. 2009 at 08:41

    Mám stejný problém, xp začaly nabíhat, ale kousají se při animaci. V nouzovém režimu rovněž windows xp nenaběhne. Přikaz bootcfg /rebuild hlásí chybu „poškození systémových souborů“. Ještě vyzkouším příkaz chkdsk /r. Rovněž jsem si všiml, že vymazáním souboru hal.dll došlo k posunutí jednotek, tzn. sloužku windows mám nyní na jednotce D:.
    Předem děkuji za rady

  6. fíla
    15. 10. 2009 at 07:13

    Dorej prosim váš mám stejný problém že mi ze začátku windows píše že soubor hal.dll nebyl nalezel ale mám asi ještě větší prušvih protože když zmáčknu jakekolik talčítko tak jse pc restartuje a takhle to de dál pomužemi pls někdo díky

    • atelierdk
      22. 10. 2009 at 09:55

      Pro Fílu: No a co oprava pomocí konzoly a příkazu bootcfg /rebuild? Nepřinesla kýžený výsledek? Vypadá to, že jste se o ni snad ani nepokusil…

  7. Haus
    21. 10. 2009 at 19:30

    Díky, návod je to supr a soubory my šli nakopírovat a dokonce mi nabýhal i systém, uš sem doufal že nestratim data. Ale pak my začala skákat BOSD po animaci, dá se s tim ještě něco dělat, nebo musim znova nahrát celý systém ?? Dík za odpověď.

    • atelierdk
      22. 10. 2009 at 09:52

      Pro Hause: Dobře, naběhne teď systém aspoň v nouzovém režimu? Modrou smrt mají většinou na svědomí ovladače hardwaru. Pokud se dá dostat do nouzového režimu, zkusil bych zjistit, které zařízení má problém a dočasně ho zakázat (nepřidával jste nějaký nový hardware, nebo neaktualizoval u něčeho ovladače?). Pokud to pomůže, pak je třeba dát do pořádku ovladače k onomu hardwaru (nejlépe staré úplně odebrat – odebrat zařízení ve Správci zařízení – a po restartu znovu nainstalovat). Pokud ne, zkusil bych zálohovat data a provést opravu Windows z instalačního CD, viz článek.

  8. Haus
    23. 10. 2009 at 17:08

    Pro atelierdka: To mě taky hned napadlo zkusit, ale nenaběhne ani ten nouzák a to je ten hlavní problém. Kdyby naběh tak si zálohuju nejdůležitější data a jednoduše opravim system.. ( Týden před tim sem dělal kompletní zálohu, tak alespoň o moc nepřídu ) Ale i tak díky za odpověď.

  9. atelierdk
    23. 10. 2009 at 17:29

    Nezbytná záloha souborů se dá udělat pomocí LiveCD Ubuntu na externí disk, flahdisk nebo CD/DVD.
    Jinak při opravě Windows, pokud se podaří, se neztratí nic důležitého, jen je nutno nainstalovat ovladače pro hardware.

  10. fíla
    28. 10. 2009 at 11:23

    pro atelierd: když há fakt nwm co mám dělat já to hold nepochopil a nwm jaký příkaz mám udělat pumužeš pls

  11. atelierdk
    28. 10. 2009 at 19:55

    Fílo, v první řadě piš česky. Jestli zacházíš s počítačem tak, jak s jazykem, tak není divu, že mu není zrovna dvakrát dobře.
    Za druhé: projdi si znovu tenhle návod a všechny další návody na těchto stránkách, které se týkají konzoly pro zotavení.
    stručně:
    nejdřív změníš pořadí bootování (v BIOSu), abys mohl místo svých Windows z pevného disku spustit instalační CD Windows.
    Pak spustíš z instalačního CD konzolu pro zotavení. Dále se do ní musíš přihlásit (musíš znát heslo administrátora, pokud ho má účet administrator zadané), a poté podle tohoto návodu vyskočíš do rootu systémového disku.
    Dále spustíš příkaz bootcfg /rebuild (přesně ho opíšeš, včetně té jedné mezery za písmenem g a stiskneš Enter)
    Pokud to pomůže, nemusíš dělat nic dalšího. Pokud ne, tak znovu nastartuješ do konzoly a musíš se pokusit nakopírovat soubor hall.dll z instalačního CD do složky Windows\System32.
    Všechno máš popsané výše na této stránce a v odkazovaných článcích. Pokud to nezvládáš a zasekl ses na konkrétním kroku tohoto návodu, popiš přesně, kam ses dostal a zkusíme vypátrat, kde děláš chybu.
    Nebo popros nějakého zkušenějšího kamaráda, aby ti s tím pomohl.

  12. fíla
    1. 11. 2009 at 10:05

    Ok ale já bych to všechno pochopil ale nechápu to bootování s tim fakt netušim

  13. atelierdk
    2. 11. 2009 at 20:41

    Fílo, všechno tu je, stačilo by podívat se napravo do tagů a kliknout na bootování nebo zkusit vyhledávání. Ale udělal jsem to za tebe… Je třeba si přečíst článek Jak změnit pořadí bootování. Tam najdeš, jak doufám, všechno potřebné.

  14. pavel
    6. 12. 2009 at 09:48

    zdravím, k uvedenému mám dva dotazy:
    1) jak je možné, že se mi chybová hláška o špatném hal.dll objeví při startování Windows jen v případě, pokud NEMÁM ve čtečce karet zastrčenou SD kartu???(nevyzkoušeno, jestli by to fungovalo i s jinou SD kartou než tou jednou permanentně zastrčenou)
    2) ví se, čím je uvedený stav způsoben? je to nějakým virem…?
    díky

  15. atelierdk
    9. 12. 2009 at 21:23

    Pavle, ve většině případů nejde o porušený ani chybějící soubor (hal, ntoskrnl), ale o to, že počítač se chystá soubory použít, ale nenajde je v umístění, o kterém ho informuje soubor boot.ini.

    Ve tvém případě jde, myslím, o to, že jsi měl čtečku zapojenou již při instalaci systému a její jednotky mají patrně písmena C, D, E, F. Systém pak počítá s kartou zasunutou do čtečky a hledá systém na pevném disku, který je ve spouštěcím záznamu v souboru boot.ini uveden jako druhý. Ve chvíli, kdy kartu ze čtečky vyndáš, stane se pevný disk diskem prvním, ale zavaděč hledá systémové soubory na druhém disku (který v tu chvíli v počítači není), nenajde je a vypíše uvedenou hlášku.

    Mimochodem, podívej se na kartu ve čtečce, zda se na ní nenachází skrytý soubor boot.ini a případně i soubor ntldr (musíš mít zapnuté zobrazování skrytých souborů)

  16. pavel
    23. 12. 2009 at 21:26

    atelierdk: díky za odpověd, něco na tom bude, ted jsem tam zasunul jinou SD kartu a s ní to nabíhá taky… takže dokud to jde aspon takhle, tak to neřešim

  17. zdenek
    4. 1. 2010 at 08:59

    dekuju za návod fungoval trochu sem to zkoušel a vždycky to chtělo do nouzáku
    a bod obnovení takže bych to do toho návodu dopsal aby to měly ostatní jednodušší
    komentáře se u návodu moc nečtou super a děkuju

  18. ufo99
    24. 2. 2010 at 18:29
  19. WirruZ
    14. 11. 2010 at 21:42

    zdarec, mám chybu s NTLDR souborem, který nebyl nalezen, tak jsem si našel návod a nakopíroval ho tam z originálního CD (vše v recovery konzoli pro win) poté jsem chtěl zadat bootcfg /rebuild ovšem objevila se chyba hledání instalací systému Windows na discích se nezdařilo a nemohu pokračovat dále, nikdy jsem nanašel jak tento problém vyřešit, pouze nakopírováním souboru hal, ale ten mi napíše, že přístup mám odepřen, ač mám v konzoli práva admina. Nevíte někdo co s tím? Už opravdu nevím kudy kam a co s tím … potřebuji ty data z notebooku zachránit 🙂

    S pozdravem – WirruZ

  20. atelierdk
    16. 11. 2010 at 16:01

    Data dostaneš nejlíp ven (na USB disk, na DVD…) pomoci live linuxu (doporučuji CD ubuntu nebo Ubuntu na flash disku), jsou tady články, které se o tom zmiňují.
    Máš ty XPčka na disku C? a V počítači už žádný jiný systém není?

  21. Petr
    14. 12. 2010 at 20:17

    Dobrý den mám velký problém s pc ,mám windows xp home , a přestal naprosto fungovat a když zapnu pc naběhne černá obrazovka a píše :
    Disk I/O error: status 00000001
    NTDETECT V4.0 Checking hardware…
    Disc I/O error: Status = 00000001
    NTDETECT failed

    Prosím poradte už jsem zkoušel všechno ale asi nevím jak a hlavně co stím je a jak to opravit?Předem Děkuji za Odpověď S Pozdravem Petr

    • atelierdk
      14. 12. 2010 at 21:30

      Jde o to, že počítač chybně komunikuje s diskem nebo má poškozený zavaděč.
      Jaký Service Pack máš nainstalovaný? A systémový disk je PATA (vede k němu široký osmdesátižilový plochý kabel) nebo SATA (s asi jen centimetr širokým datovým kabelem)?

      Tahle chyba je popsána např. zde: http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q317050 a podle toho, co tam čtu to vypadá, že není problém ani tak v souboru NTDETECT, jako spíš v souboru boot.ini. Myslím, že by mohla pomoci konzola pro zotavení a příkaz bootcfg /rebuild (viz první část návodu v tomto článku výše) a pokud by to nezabralo, tak provést příkazy fixboot a fixmbr a pak ještě znovu bootcfg /rebuild.

  22. Petr
    14. 12. 2010 at 22:08

    Zdravím instaluju tam windows který mám SP3,je to pata kabel ten bílí široký,už jsem zkoušel vše nejraději bych potřebvoval sněkým komunikovat přes icq abych to opravil kdo by mě pomohl online?já už vážně nevím co 🙁

  23. Petr
    14. 12. 2010 at 22:12

    a ještě píše pc : Verifying DMI pool data…vše je v… ani to nebudu říkat…. a souhlasím s kompletním vymazáním dat a jet instalaci na novo 🙁

  24. atelierdk
    15. 12. 2010 at 07:17

    A, tak to vypadá na problém v nastavení pevného disku v BIOSu, o tom už jsem tady psal… Přečti si článek Verifying DMI pool data… a konec!. Mohlo by to pomoct…

  25. M1K3
    2. 8. 2011 at 20:54

    mám problém po zadání přkazu bootcfg/rebuild se ukaže neplatný příkaz co s tím ?

  26. atelierdk
    10. 8. 2011 at 22:18

    Pro M1K3: Pozor, jestlis to tam napsal jako do toho komentáře, tak to nebude fungovat, proto tam máš screenshot – za bootcfg musí být mezera, pak je lomítko a za ním parametr(y). Správně je to tedy bootcfg /rebuild

  27. marcel
    14. 10. 2011 at 17:48

    prosím Vás, nějak mi zmizla aktualizace hotfix KB……a když jí chci znovu nainstalovat , tak se mi v polovině kousne a tváří se , že je vše nainstalované a nic…několikrát za den se mi kousne notebook , a myslim , že to bude tím hotfixem, ale nevím , jak na to…děkuji Marcel , není vůbec v ,,přidat odebrat programy,,

  28. Niky
    14. 10. 2011 at 22:10

    Dobrej večer, při zapnutí počítače mi to vyhodí tabulku kde stojí : C:/WINDOWS./eins1622.dll Modul nebyl nalezen. Poradíte mi někdo prosím ?

  29. Honza
    18. 1. 2012 at 18:34

    Můžete te mi pomoc nejde mi spustit počítač pořád se mi objevuje uvedený soubor je poškozen a nebo nebyl nalezen \system32\hal.dll.

  30. atelierdk
    18. 1. 2012 at 21:31

    No kvůli tomu vznikl tenhle článek Honzo, aby ti to pomohlo ten problém opravit. Je to návod. Nebo snad myslíš, že zaskočím k tobě domů mrknout na to osobně?

    Tak nebuď línej číst a to i na odkazovaných stránkách – nebudu to přeci psát dvakrát…

    Nebo nebuď línej psát. Tenhle článek je o tom, že počítač hlásí: soubor je poškozen a nebo nebyl nalezen \system32\hal.dll. Překvapivě bych nečekal, že sem píšeš kvůli tomu, že ti to píše, že nejde vyrobit jahodový koktejl, protože nebyl nalezen mixer 🙂

    Jestli máš s návodem nějaký problém, napiš laskavě, na čem ses zasekl, třeba ti pak někdo poradí…

  31. 12. 3. 2012 at 16:12

    Zasekl jsem se ,protože nemám cd.

  32. atelierdk
    12. 3. 2012 at 17:45

    No, instalační CD asi nebude problém někde stáhnout… Bez sériového čísla nebo cracku se stejně nehodí k ničemu jinému než k podobným opravám a úpravám existujících instalací Windows…

  33. 12. 3. 2012 at 17:50

    Já jsem to už jednou zkoušel stahnout na cd , potom jsem to dal do cd-mechaniky a nic se nestalo.

  34. atelierdk
    12. 3. 2012 at 22:28

    Řekl bych, že jsi stáhl ISO obraz disku a tak jak byl jsi jej vypálil na CD, co? Ale obraz disku se pálí jinak – viz článek Live CD Ubuntu – skvělý záchranný nástroj. Nesmíš vypálit obraz na CD (tedy pálit to jako datové CD), musíš z toho obrazu vypálit CD.

  35. ROBIN
    27. 3. 2012 at 20:22

    !!!POZOR POZOR !!!
    KOMU NEŠLO NAJET DO PŘÍKAZOVÉHO ŘÁDKU NEBO NÍM PROBLÉM VYŘEŠIT, TAK AT SI PRES NOUZOVÝ REŽIM OBNOVÍ SYSTEM O PAR DNÍ ZPĚT. MĚ TOHLE JEDINÝ POMOHLO !!!

  36. Honza
    29. 5. 2012 at 09:15

    Mě to nepustí na bootování ,jinak se dostanu do biosu a půlka věcí je tam zablokována

  37. ROBIN
    29. 5. 2012 at 20:30

    Moc tomu nerozumím ale máš nastavené bootovani z CD? ja mel třeba z HDD a pak až z cd. Přehodil jsem to a šlo mi to ale trva to než jsem našel ten spravnéj čas kdy mačkat tu klavesu 😀

  38. 1. 6. 2012 at 16:03

    Ale bios mě to nedovolí aby jsem tu něco změnit,můžu si to jen prohlížet a nic měnit

  39. 1. 6. 2012 at 16:57

    Já mám bios ami možná to je tím

  40. ROBIN
    1. 6. 2012 at 20:19

    Tak to opravdu nevim, to už je asi hodně poškozené. tak zapojit HDD do jineho pc , zkopirovat soubory a reinstal celeho winu

  41. majkl
    14. 7. 2012 at 17:19

    prosimvás com mám dělat, když mi to při akci bootcfg /rebuild vyflusne chybu, že se hledání instalací na disku nezdařilo. A u překopírování nebo rozbalování píše hlášku ”přístup byl odepřen”. předem děkuji

  42. atelierdk
    18. 7. 2012 at 21:33

    Majkle, tady je rada na dálku těžká. Jde o Windows XP? Jak to dopadne při nabootování z jiného systému? Viz třeba Live CD Ubuntu – skvělý záchranný nástroj nebo Jak se dostat v případě poruchy ke svým souborům? Jsou na disku vidět soubory?

  43. ROBIN
    19. 7. 2012 at 21:04

    Nevim jakto, ale pokaždé když se mi to stane, tak stači se dostat do nouzového režimu a restartovat přes nej pc a už to jede.

  44. Eda
    21. 9. 2012 at 07:41

    Ahoj ty tam pišeš jak to udělat když mame CD, ale ja bych se chtěl zeptat jak to mužu udělat, když nemam CD mechaniku a cele to dělam s flashky. jak při te opravě to mužu skopirovat s flashky a ne s CD. 2. Do konzoly zapište písmeno, pod kterým se vám hlásí CD/DVD mechanika (např.: D:) a stiskněte Enter. Jak tady pišeš, tak mi to ten flash disk nenalene, napiše mi to neplatny přikaz.

  45. Eda
    21. 9. 2012 at 08:52

    Už jsem se tam nějakym záhadným způsobem dostal, ale nastal jiny problem, jak tam davam ten expand, tak mi tam pak napiše rozbaleno 0 souboru. co s tím?

  46. Iva
    20. 10. 2012 at 00:10

    Díky, díky, díky.

  47. Jan
    17. 11. 2012 at 16:45

    nemuzu bootovat mi to píše press home key to choose local disk

  48. atelierdk
    21. 11. 2012 at 20:49

    Jane, kdybys použil třeba slovník, nebo Google překladač, dozvěděl by ses, že máš stisknout klávesu Home, abys mohl vybrat místní disk. Buď máš tedy špatně nastavené pořadí bootování v BIOSu, nebo máš ve čtečce karet nějakou paměťovou kartu, nebo v USB portu zasunutý USB disk.

  49. Jan
    22. 11. 2012 at 11:01

    Mě to v biosu neukazuje žádný pevný disk

  50. Jan
    22. 11. 2012 at 11:16

    Mě to v biosu neukazuje žádný pevný disk.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *