Oživujeme WinXP: File hal.dll is missing or corrupt
Nedávno som čvirikal, že opravujem PC, ktorý zjavne zdevastovala moja najmladšia sesternica (ako 5 ročná si vedela vytvoriť zaheslovaný WinXP profil a inštalovať hry, takže som na ňu vlastne pyšný). On ten problém nebol až tak komplikovaný, ale už som sa s ním za ten krátky čas, čo spolužijem s počítačmi stretol trikrát, takže poznámka, aby som nabudúce nemusel googliť.
Upozornenie:
Neručím za akékoľvek škody spôsobené postupovaním podľa tohto návodu. Je to len poznámka pre mňa.
Nie som Váš servisný technik a neplatíte mi, takže odpovedať na komentáre budem podľa nálady.
/Upozornenie.
Aký problém teda riešime?
Windows po zapnutí počítača nenabehne, vyskočí na nás škaredé čierne prostredie z Taiwanu a chyba:
Windows could not start because the following file is missing or corrupt:
C:\Windows\System32\hal.dll
Riešenie:
Zoženieme inštalačné Windows XP CD (na Home verziu Home, na Pro verziu Pro - v opačnom prípade nikto neručí za opravenie či správnu funkčnosť opraveného systému, neskúšal som). Nemusí to byť originál, nemusí to byť inštalačné CD k tomuto WinXP; požičiame si v mäsiarstve spoza rohu. Vložíme CD, reštartujeme PC, a nabootujeme cédečko.
Ak nemáme nastavené ako prvé bootovanie z CD, ale z HDD, reštart, odskočíme si do BIOSu a nastavíme to (ak text ukazujúci ako sa dostaneš do BIOSu mizne príliš rýchlo, skúsime použiť Pause/Break na zastavenie bootovania - na väčšine mašín v mojom okolí to funguje).
CD začne bootovať, opýta sa, či chceme inštalovať systém, spustiť Recovery Console, alebo odísť z CD setupu. Vyberieme Recovery Console (takže stlačíme R). Opýta sa nás to, ktorý systém chceme opraviť. Väčšina ľudí má len jeden (1. C:\Windows). V takom prípade stlačíme 1 a enter. Opýta sa na admin heslo. Ak nejaké máme, napíšeme + enter. Väčšina obyčajných ľudí, ale frčí bez admin hesla (jop prikak, ale to je iná téma. Tak či onak, ak človek opravuje u cudzích, tak je lepšie dúfať, že heslo nemajú, lebo v 99% prípadov ho aj tak nevedia).
Tak a teraz trochu hrania so systémom. Srandou na chýbajúcom hal.dll je väčšinou to, že nemusí byť chyba v hal.dll. Ak chýba v systéme, tak ho samozrejme treba pridať. Ale ak nechýba, tak nemusí byť na škodu, najprv nezamieňať, ale skúsiť len opraviť boot.ini, ktorý býva často príčinou tejto chyby.
1) Takže ideme na to - do konzoly píšeme
copy c:\windows\system32\hal.dll c:\windows\system32\hal.dll_bak
Ak to vyhodí chybu, že hal.dll nebol nájdený, nasledujeme krok 2). Ak bol súbor skopírovaný (teda sme našli aj originálny hal.dll), skúsime najprv opraviť len boot.ini - pokračujeme krokom 3)
2) Druhý krok je nakopírovanie súboru hal.dll do systému. Odporúčam najprv skúsiť krok 3. a v prípade, že to nepomohlo vrátiť sa sem a vykonať 2. aj 3. krok.
expand e:\i386\hal.dl_ c:\windows\system32
E: je označenie pre CDROMku, C: je disk/partícia so systémom. Ak si nie sme istý písmenkami, použijeme príkaz map. Vypíše nám používané disky/partície/cdromky.
Ak sa opýta na prepísanie súbory, či niečo také (nepamätám), dáme áno, teda yes, teda stlačíme Y.
3) Tento krok väčšinou rieši problém s hal.dll aj bez potreby expandovať z CDečka. Občas sa totiž stane, že boot.ini bol z čiehosi rozmaru pozmenený, a to spôsobí problém chýbajúceho hal.dll. Takže ho skúsime opraviť opravíme. Píšeme:
ATTRIB -H C:\BOOT.INI
ATTRIB -R C:\BOOT.INI
ATTRIB -S C:\BOOT.INI
Tieto príkazy zmenia (odoberú) atribúty súboru boot.ini. H - hidden, R - ReadOnly a S - system file. Podľa príspevok na nete a taktiež helpu v konzole som vyrozumel, že by sa mali dať napísať do jedného riadku, teda toto: ATTRIB -H -R -S C:\BOOT.INI, ale windows sám asi nevie, čo dokáže - tento príkaz totiž vyhodí chybu nevalidných atribútov. Možno je to chyba service packu 3, nezájem.
Keď už máme atribúty zmenené, zmažeme súbor boot.ini:
DEL C:\BOOT.INI
a vyžiadame si rebuild súboru:
BOOTCFG /REBUILD
Systém sa opýta, či chceme pridať inštaláciu Add installation to boot list?. Dáme Y ako áno.
Opýta sa ako to chceme nazvať: Enter Load Identifier V podstate je to jedno, ale neodporúčam nazvať svoj systém Kocúrkovo, mohlo by vás to neskôr zmiasť. Ja som opravoval XP Home, dal som teda Windows XP Home.
Popýta si nejaké ďalšie atribúty Enter Load options:. To je čisto na Vás, stačí to len odentrovať a nič nepridávať. Ja zvyknem písať /fastdetect, ale je to na Vás.
Ostáva už len fixnuť boot. Niektorí to nedávajú, niektoré hej. Netuším, čo je správne. Ja som fixol:
FIXBOOT
4) Napíšeme EXIT, dáme enter a vyhodí nás to do reštartu. Tento krát nebootujeme na CD, ale pokračujeme v systéme. Náš “opravený” boot je hneď prvý v zozname, takže berieme prvý a ideme do normálneho režimu. V prípade, že to nefunguje a pri práci sme preskočili krok číslo 2, zas sa vrátime do Recovery Console a prejdeme všetky kroky vrátane druhého.
Teraz by systém mal fungovať.
Ak windows nenabehne, chyba je niekde inde, než v hal.dll, či boot.ini.
Zdroj: google.com, na nete som sa prehrabával počas riešenia problému, pár dní dozadu, teraz sa mi nechce googliť.
PS: Ježkove oči, mám tu hroznú tému, maximálne nekompatibilnú s “code”. Dúfam, že ste si to užili.
05. Marec, 2010 (Piatok)o 9:08
[…] markophov drístar Krása života spočíva v tom, že neide o nič dôležité… len o život… « Oživujeme WinXP: File hal.dll is missing or corrupt […]
27. September, 2011 (Utorok)o 8:41
Hlaska rovnaka akurat je v mojom pripade pokazeny asi cely disk. Lebo nejde nabootovat ani z CD. Zacne bootovat a po par obrazovkach jednoducho stmavne a koniec.
27. September, 2011 (Utorok)o 8:50
Vyskúšaj nejaké linux live CD (napríklad Ubuntu - http://wiki.ubuntu.cz/LiveCD). Nezapisuje sa na disk, ale len do RAMky. Ak zlyhá aj to, tak je asi chybná RAMka. Ale ak ti nabehne, tak môžeš pomocou TestDisku (http://wiki.ubuntu.cz/TestDisk) skontrolovať harddisk a prípadne ak máš externý disk, tak sa ti možno podarí skopírovať data. Potom normálne sformátuj počítač a nainštaluj windows na čistý disk.
Samozrejme neručím za žiadne problémy, ktoré si spôsobiš. Ak sa tomu nerozumieš, mal by si vyhľadať niekoho skúsenejšieho.
02. Október, 2011 (Nedeľa)o 13:24
ja mám ten istá problém no toto mi vôbec nepomohlo:
Riešenie:
Zoženieme inštalačné Windows XP CD (na Home verziu Home, na Pro verziu Pro - v opačnom prípade nikto neručí za opravenie či správnu funkčnosť opraveného systému, neskúšal som). Nemusí to byť originál, nemusí to byť inštalačné CD k tomuto WinXP; požičiame si v mäsiarstve spoza rohu. Vložíme CD, reštartujeme PC, a nabootujeme cédečko.
Ak nemáme nastavené ako prvé bootovanie z CD, ale z HDD, reštart, odskočíme si do BIOSu a nastavíme to (ak text ukazujúci ako sa dostaneš do BIOSu mizne príliš rýchlo, skúsime použiť Pause/Break na zastavenie bootovania - na väčšine mašín v mojom okolí to funguje).
tomu chápem ale ako spravím to že sa mi cd začne bootovat tomu už nechápem to jak mi vypíše ten text systém nelze spustit… tak mam vložit cd alebo ako lebo ked dam F11 a dam cd tak to ties nejde mam cd pro na pro a mam nastavený bios tak ako to je napisane mam na to strašne nervy pls budte taky ochotny a napiste lebo fakt nechcem platit za drahe opravovne vopred dakujem
08. Október, 2011 (Sobota)o 10:13
jano: Zapni počítač, vlož CD a reštartuj. CD musí byť v mechanike už pri štarte systému, nie až potom. A len taká skromná rada - ten článok je napísaný pre ľudí, ktorí sa aspoň trochu rozumejú do počítačov a systému. Ak nevieš ani nabootovať z CD, hrozí Ti, že si ten systém úplne poškodíš a prídeš o všetky data. Radšej to daj do servisu
08. Október, 2011 (Sobota)o 11:52
No to som veďel ale ďakujem skôr si myslím že mám zlé cd neviem ho zohnať a ani stiahnuť z netu ho neviem no neviem čo s ním asi už len ta oprava.
08. Október, 2011 (Sobota)o 12:25
Ak chceš zistiť, či je vadné CD, skús ho nabootovať na nejakom inom PC. Ak chceš zachrániť data, nasleduj moju radu Robovi. Ak ti nepôjde nabootovať ani to Ubuntu LiveCD, tak si zle nastavil poradie bootovania (skús pri štarte systému stláčať F8 - mala by sa zobraziť obrazovka s možnosťou vybrať boot device a tam vyber CD/DVD). A ak si nevieš rady, využi služby servisu. Ak to bude maličkosť, zaplatíš niekoľko stovák. Ak to bude niečo zložité, aj tak by si to nevedel sám opraviť a aspoň neprídeš o dáta.
08. Október, 2011 (Sobota)o 15:12
ok CD ubuntu som si zohnal no neviem čo s ním…
08. Október, 2011 (Sobota)o 15:31
ale zistil som že keď sa bootuje vypisuje mi no raid takže pc nemá spojenie s HDD asi musim použiť virtuálne mechaniku no nič markoph ďakujem za rady.
07. November, 2011 (Pondelok)o 19:20
mne sa dnes stalo to iste. vypisuje hal.dll a ked som sa snazil postupovat podla navodu, nepustilo ma to dalej. dal som si teda precitat disk, no vyhodilo hlasku, ze pri vytvarani vypisu z adresara doslo k chybe. ako keby som nemal ziadny disk…….je teda asi cely v cudu.