CHKDSK
CHKDSK
chkdsk.exe on käsurea tööriist DOS, OS/2 ja Windowsi jooksutavatel arvutitel mida kasutatakse andmekandjal andmete terviklikkuse kontrollimiseks, ebatäiuste avastamisel failisüsteemis ka nende eemaldamiseks ja parandamiseks. chkdsk.exe on suuteline avastama ning asendama andmekandjal ka vigaseid sektoreid (bad sector), mis on andmekandjal kas siis füüsilist kahju saanud, magneetiliselt või digitaalselt pöördumatusse olekusse sattunud või välkmälus kahjustunud transistore sisaldav andmesektor.
chkdsk.exe saab käivitada nii käsureal, läbi graafilise kasutajaliidese või läbi taastuskonsooli (recovery console). chkdsk.exe käivitatav kood asub DLL’ides (Dynamic Link Libraries) nagu Unfts.dll ja Ufat.dll, mis tähendab et mõlemal juhul, nii läbi graafilise UI kui ka käsurealt käivitatav tervikluse kontrollimist teostav kood on samasugune. Kui aga chkdsk protsess on määratud käivituma alglaadimisel käivitatakse enne windowsi laadimist protsess autochk.exe. autochk.exe on windowsisse sisseehitatud rakendus, mille kernel kutsub välja igal alglaadimisel ning mis kontrollib kas olemasolevatele ketastele on märgitud "dirty bit" või mitte. Andmehulk (volume) mille kohta on teada et nende failisüsteemis on rikkeid kutsutakse ingl.k. dirty volume ning Windows märgib selle üles kasutades vahendit mille nimi on „dirty bit“. Kui autochk.exe avastab et mõnel kettal on dirty bit märgitud, käivitatakse sellele kettale "chkdsk /f" protsess, mis kontrollib ning üritab parandada kettal ja failisüsteemis leiduvaid vigu.
Et teha kindlaks kas teatud andehulga (volume) kohta on märgitud dirty bit saab käsurealt käivitada järgmise käsu:
fsutil dirty query <ketas> Näiteks: fsutil dirty query C:
Samal viisil saab valitud kettale jõuga määrata dirty biti, mis tagab selle et järgmisel taaskäivitusel käivitatakse valitud kettale "chkdsk /f" protsess:
fsutil dirty set <ketas> Näiteks: fsutil dirty set C:
CHKDSK kasutamine
chkdsk.exe saab käivitata kahel viisil: ilma parameetriteta ning koos parameetritega. Käivitades chkdsk.exe ilma parameetriteta jookseb protsess read-only režiimis, mis küll kontrollib ketast failisüsteemis siladuvatest vigadest ning teavitab neist ka kasutajat, kuid ei ürita neid parandada ega likvideerida. Käivitades chkdsk.exe koos parameetritega (näiteks /f ja /r), parandatakse lisaks kontrollimisele failisüsteemis ka leitud vead.
Enne CHKDSK käivitamist
Enne kui chkdsk.exe käivitada on soovitatav varundada kettalt tähtsamad failid. Niikaua kui chkdsk jookseb on kogu kontroll ketta üle chkdsk'i käes, mis tähendab seda et ketast ei saa kasutada temalt failide lugemiseks ega kirjutamiseks. Kasutades lisaks ka parameetreid /f ja /r peab arvestama, et suure mahuga kettal võib protsess võtta kaua aega.
CHKDSK windowsi süsteemikettal
Käivitades chkdsk.exe koos parameetritega /f ja /r kettal millel jookseb windows, väljastatakse järgmine teade:
Kuna see ketas sisaldab windowsi süsteemifaile, ei ole chkdsk'il võimalik ketta üle täielikku kontrolli saada. Seega andes väljastatud teatele vastuseks Y, käivitatakse järgmisel alglaadimisel protsess autochk.exe.
CHKDSK teistel ketastel
Käivitades chkdsk.exe koos parameetritega /f ja /r kettal millel hetkel ei asu aktiivne windowsi opsüsteem, peab protsess vigade parandamiseks kettal, antud ketta lukustama. Kui antud kettalt on chkdsk'i käivitamisel avatud mõni fail väljastab chkdsk järgmise teate:
Kui nüüd anda vastuseks Y, üritatakse avatud faile sulgeda ning ketast lukustada. Kui aga see ei õnnestu või anti vastuseks N, pakutakse järgmisel windowsi alglaadimisel käivitada autochk.exe
CHKDSK Süntaks
chkdsk [volume[[path] filename]][/f][/v][/r][/x][/i][/c][/l[:size]]
Parameeter | Kirjeldus |
---|---|
volume | Määrab ketta, andmekogumi (volume) mida chkdsk kontrollima peab. |
path | Ainult FAT/FAT32. Täpsustab faili või failikogumi asukoha andmekogumi kaustastruktuuris. |
filename | Ainult FAT/FAT32. Täpsustab faili või failikogumi asukoha mida kontrollida killustatusest. Märgid * ja ? ei ole lubatud. |
size | Ainult NTFS. Muudab logifaili mahu määratud kilobaitideni. Peab kasutama koos /l parameetriga. |
/c | Ainult NTFS. Jätab vahele tsüklite kontrollimise kaustastruktuuris, vähendades chkdsk'i läbimiseks kuluvat aega. |
/f | Parandab kettalt leitud vead. Ketas peab olema lukustatud. Kui CHKDSK ei saa ketast lukustada, pakub ta kettakontrollimist järgmisel alglaadimisel. |
/i | Ainult NTFS. Viib läbi vähempõhjaliku indeksite kontrolli. |
/l[:size] | Ainult NTFS. Näitab logifaili hetkesuurust. Kui maht on eelmääratud, muudab logifaili mahu vastavalt sellele (kolibaitides). |
/p | Kontrollib ketast isegi kui see pole märgitud "dirty bit"'iga (saadaval ainult taastuskonsoolis - Recovery Console). |
/r | Otsib vigaseid sektoreid ning taastab neilt loetavat andmed. Andmed mida ei saa lugeda lähevad kaduma. Kui CHKDSK ei saa ketast lukustada, pakub ta kettakontrolli järgmisel alglaadimisel. |
/v | FAT/FAT32 failisüsteemis: näitab täispikka failiteed ning -nime iga faili kohta kogumis. NTFS failisüsteemis: Näitab puhastuskirjeid, kui üldse. |
/x | Ainult NTFS. Kui vajalik, sunnib ketta enne kontrolli dismount'ima. Kõik avatud failid sellelt kettalt suletakse koheselt. |
/b | Ainukt NTFS, alates Vista'st. Kustutab kettalt vigaste klastrite nimekirja ning kontrollib uuesti kõiki klastreid. |
/? | Näitab kõiki võimalikke CHKDSK parameetreid. |
Kasutades CHKDSK'i taastuskonsoolist on mõningatel käskudel teine tähendus:
Parameeter | Kirjeldus |
---|---|
/p | Parandab leitud vead failisüsteemis. Sama mis /f parameeter stantardses CHKDSK'is. |
/r | Leiab vigased sektorid ning taastab veel loetavad andmed. |
CHKDSK faasid
Kasutades CHKDSK’i NTFS ketastel läbib CHKDSK 3 peamist faasi, lisaks on võimalik läbida ka neljas ja viies faas Järgenvalt on kirjeldatud CHKDSKi faasid.
Faas 1 (Stage 1) Faas 1 vältel kontrollib CHKDSK igat failikirjet MFT's (Master File Table). Iga failikirje MFT's identifitseerib iga üksiku faili ja kausta kogu NTFS failisüsteemis.
Valmis protsent mida CHKDSK siin näitab on protsent kogu MFT'st mis on hetkel kontrollitud.
Faas 2 (Stage 2) Faas 2 vältel kontrollib CHKDSK failikirjete seesmist kooslust ning et igale failikirjele MFT ridades vastab vähemalt üks kaust ning et iga faili ja alamkausta viide teatud kaustas eksisteerib ka failikirjetes MFT's. Lisaks kontrollitakse ka suletud ringi kaustaviite. Seejärel teeb CHKDSK kindlaks et failidega seotud kuupäevade ja faili mahu informatsioon oleks õige ning värske.
Valmis protsent mida CHKDSK selle faasi vältel näitab on protsent failide koguarvust kontrollitaval kettal, mistõttu ketastel mis sisaldavad hulgaliselt faile ja kaustu võib selle faasi läbimiseks kuluv aeg pikaks venida.
Koostamisel...
Robert Vane