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).

68 komentářů pro “Poškozený soubor hal.dll, ntoskrnl.exe nebo ntdll.dll

  1. lermi
    28. 12. 2012 at 03:04

    Dobrý den, za návod moc díky. mám spíš problém zadat daný příkaz za C:\windows.
    dál mě to prostě nepustí natož abych mohl začít řádek klasicky z levého okraje.

  2. atelierdk
    28. 12. 2012 at 11:59

    To lermi: To znamená – podaří se ti po staru konzoly přihlásit k instalaci Windows (zadat heslo) a pak už nejde nic dalšího zadávat? ani když zadáš třeba D: a Enter? nezmění se disk?

  3. segot
    14. 1. 2013 at 10:15

    Dobry den jde o to že jsem stahl creck na nfs shift na uložto.cz ktery obsahuje virus (angela) ktera mě po spuštěni upozornila že mi pc už nepojede a začla mi blbnout cd-rom mechanika a začala se sama otvirat tak jsem to přejel antivirovym programem a zkoušel vir smazat ale neuspěšně a když jsem pc vypnul a zapl tak mi to hlasilo Poškozený soubor hal.dll tak jsem v biosu přehodil cd před hdd abych zkusil opravu windos nebo přeinstalovat ale mechanika mi nechce načist cd nebot cd-rom se stale otvira . nasledně jsem zkoušel napojit novy hdd z windows 7na uvedeny pc a ta se mi ani nerozjede jen naskoči logo a restartuje se to .

  4. Pedro
    25. 1. 2013 at 09:17

    Dobrý den.

    Na svém PC (windows XP) mám HDD rozdělený na dva primární oddíly: C (30GB), na kterém je OS a D (210GB) na kterém jsou data.
    Ve Správě disků jsem náhodně zjistil, že jako první je zde uveden Oddíl D s poznámkou „systém“ a že tento oddíl je aktivní.
    Je zřejmé, že k bootování OS dochází z oddílu D a oddíl C je umístěn na druhé partition.
    Adresář s Windows je na oddílu C. Spouštěcí soubory „ntldr, ntdetect.com, boot.ini“ jsou obsaženy v obou kořenových adresářích oddílů C i D.
    Moje otázka je jak tento stav opravit aby k butování docházelo správně z oddílu C.

    Děkuji za pomoc při řešení tohoto problému.

  5. atelierdk
    25. 1. 2013 at 12:06

    Pedro, já bych do toho nehrabal, pokud ten počítač funguje. Snaha o dokonalost je cestou do pekel… Máš nějaký důvod, proč to potřebuješ změnit, nebo je to jen přehnaná pořádkumilovnost?

    Každopádně doporučuju prostudovat si důkladně články:
    Po změně aktivního oddílu pomocí nástroje Správa disků se počítač nespustí
    Označení oddílu jako aktivního
    Označení oddílu jako aktivního (pouze 32 bitů)

  6. Pedro
    25. 1. 2013 at 14:34

    Děkuji za rychlou reakci.
    Co jsem ve svém dotazu ještě nezmínil je to že pomocí programu Acronis (vypálený ISO na CD) jsem již vyzkoušel udělat oddíl C aktivním s tím výsledkem, že systém po této úpravě již nenabootoval (s oznámením Hall.dll nebyl nalezen nebo je poškozen). Nicméně pomocí tohoto CD jsem vrátil aktivitu na oddíl D a vše je zase v původním stavu.
    Po bližším zkoumání souborů Boot.ini jsem přišel na pravděpodobný důvod proč se to nepovedlo. Soubor Boot.ini, který je v kořenovém adresáři oddílu D odkazuje na partition 2 (tedy na C kde jsou windows), kdežto boot.ini, v adresáři oddílu C odkazuje na partition 1, tedy na D kde systém není. Já se tedy domnívám, že když v boot.ini na oddílu C přepíši nasměrování z partition 1 na partition 2, provedu aktivaci C, tak že bude vše OK.
    Jinak máš pravdu, že to dělám více méně ze zvědavosti. Ty doporučované články jsem si přečetl a teď jen čekám na tvé požehnání abych to provedl tak jak jsem napsal.
    Díky Pedro

  7. atelierdk
    25. 1. 2013 at 15:07

    No Pedro, asi to bude tak, jak píšeš, on totiž příkaz bootcfg /rebuild dělá přesně to, že prohledá disky podle toho upraví soubor boot.ini.

    Takže jestli se ti chce podstupovat ten proces, tak prosím, koneckonců změn není tolik, aby se v případě neúspěchu nedaly vrátit zpět. A dovíš se nejen něco o bootování operačního systému, ale i o sobě 😉

  8. Pedro
    27. 1. 2013 at 11:39

    Děkuji za morální pomoc, vše se povedlo podle tak jak jsem si představoval.
    Petdro

  9. Limini
    2. 2. 2013 at 01:19

    Ahoj
    Mám stejný problém jaký popisuješ v návodu. Udělal jsem vše podle něj a ukázalo mi to veškeré hlášky jako popisuješ. Ale efekt žádný. jediné co se změnilo, že teď mi dává na výběr z několika instalací windows, ale ani jedna nelze spustit a ani jednu nedostanu do nouzáku a to i když mám v PC jen jeden disk a jen jeden OS. Také poslední známá ….. nemá žádný efekt. Existuje nějaká kratší verze jak to rozchodit než jen nová instalace, která je na několik dní práce s ohledem na to, že je to SSD z image několik let používaného systému bez problémů? Upozorňuji, že systém byl normal funkční i na SSD po klonování. Děkuji

  10. Robert
    2. 2. 2013 at 08:31

    Mě se tohle stává také a mám WIN 7 64bit na SSD a všechny jiné data na HDD. Když se mi to pokazi a nenajde to soubor hal.dll tak začnu pc zapínat a behem toho načítání odpojim kabel HDD a ihned vypnu než to stihne naběhnout. Po dalším zapnuti mi to myslim přes F8 vyhodí nabidku do nouzového režimu a pc restartuju a jede to. Možná to někomu pomůže pokud máte podobně zapojeny pc 🙂

  11. Limini
    4. 2. 2013 at 23:47

    Tak tomu říkám dobrá rada nad zlato, akorát si zapomněl dodat, že po tvém zákroku je dobré mít po ruce i kladivo. 😀

  12. 5. 2. 2013 at 13:54

    Když se tí to nelíbí tak si to vyres sám. Mě je tvuj názor u pr**** protože já si to upravit umím a ty ne! 😀

  13. pavel
    3. 7. 2013 at 09:40

    můžete mi někdo poradit jak tento problém vyřešit když mám notebooka bez CD mechaniky??

  14. Michal
    4. 1. 2014 at 17:14

    Dobrý den, dělal jsem vše podle návodu, ale neukazuje mi to rozbalený soubor 🙁 (E:/386>expand hal.dl_ C:/windows/system32/hal.dll) napíše mi to Rozbaleno o souborů.. Děkuji za odpověď.

  15. FlashMalwareTester
    2. 3. 2015 at 09:35

    Soubory hal.dll ,ntoskrnl.exe a ntdll.dll maže také malware. Na hal.dll se zaměřuje Deleter-E, na ntoskrnl.exe Gruel. Ale ještě jsem se nepotkal s malwarem který maže ntdll.dll.

Napsat komentář

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