.


[*]
[*]
[*]

[*]
index


Formázás

A formázás az a folyamat, melynek során a mágneses adathordozóra jeleket írunk, melyek a sávokat és szektorokat jelölik meg. Egy lemez formázása előtt a mágneses felszín csak össze-vissza jeleket tartalmaz. A formázás bizonyos rendet visz ebbe a káoszba oly módon, hogy vonalakat húz a sáv- és szektorhatárokra. A pontos részletek ettől egy kicsit eltérnek, de most ez lényegtelen. Az viszont fontos, hogy formázás nélkül nem használhatók a lemezek.

A szóhasználat kicsit zavaros itt: az MS-DOS alatt a ''formázás'' a fentieken kívül még a fájlrendszer létrehozását (lásd lentebb) is jelenti. Ott a két folyamat gyakran vegyítve van, különösen a floppik esetében. Ami ez esetben fontos az az, hogy a valódi formázást alacsony szintű formázásnak, a fájlrendszer létrehozását magas szintű formázásnak nevezik. UNIX-os körökben ezeket a folyamatokat formázásnak illetve fájlrendszer létrehozásnak nevezik. Ezt a szóhasználatot követjük a továbbiakban.

IDE és SCSI lemezekre a formázást többnyire a gyárban végzik, és sosem kell megismételni, így általában nem is kell vele törődni. A merevlemezek ''házi'' formázása rosszab eredményekhez vezethet, mert pl. a lemezt speciálisan kell formázni, hogy a hibás szektorok automatikus áthelyezése működhessen.

A merevlemezek, melyeket meg kell vagy meg lehet formázni, gyakran igényelnek speciális programot, mivel a formázás meghajtón belüli logikája meghajtóról meghajtóra más és más. A formázó program gyakran a kontroller BIOS-ában van, vagy egy MS-DOS program; egyik sem használható könnyen Linux alól. (Igaz, többnyire nincs is rájuk szükség.)

A formázás során rossz foltokat észlelhetünk a lemezen, amit hibás blokknak vagy hibás szektornak nevezünk. Ezeket néha maga a meghajtó kezeli le, de még ebben az esetben is szükséges lehet tenni valamit, hogy biztosan elkerüljük a hibás részek használatát, ha a hibás szektorok száma nagyon megnövekszik. Ennek logikája bele van építve a fájlrendszerbe; a hibás szektorokról szóló információ megadásáról lásd a lentieket. Egy másik lehetőség, hogy létrehozzunk egy olyan partíciót, amely csak a lemez rossz részeit fedi le; ez jó ötlet lehet, ha a rossz folt nagyon nagy, mivel a nagy mennyiségű hibás szektor néha megzavarja a fájlrendszereket.

A floppikat az fdformat  paranccsal formázhatjuk. A megadott floppi eszközfájl az egyetlen paraméter. Pl. a következő parancs egy HD-s, $3\frac12$ colos floppit formáz meg az első floppi meghajtóban:
\begin{tscreen}
\verb*\vert$\vert {\sl fdformat /dev/fd0H1440} \\
\verb*\vert D...
...ert \\
\verb*\vert Verifying ... done\vert \\
\verb*\vert$ \vert
\end{tscreen}
Megjegyzendő, hogy ha automatikusan érzékelő eszközfájlt akarunk használni (mint pl. a /dev/fd0 ), először a setfdprm  paranccsal be kell állítani a floppi paramétereit. A fentivel egyező eredmény érhető el az alábbi módon:
\begin{tscreen}
\verb*\vert$\vert {\sl setfdprm /dev/fd0 1440/1440} \\
\verb*\v...
...ert \\
\verb*\vert Verifying ... done\vert \\
\verb*\vert$ \vert
\end{tscreen}
Általában kényelmesebb a megfelelő eszközfájlt használni. Megjegyezzük, hogy nem nem bölcs dolog egy floppit nagyobb kapacitásúra formázni, mint amire tervezve lett.

Az fdformat  érvénysíti is a floppit, azaz megkeresi a hibás blokkokat. Többször ki is próbálja mindegyiket, ami jól hallhatóan megváltoztatja a meghajtó hangját. Ha a floppi csak kicsit hibás (mert pl. poros az író/olvasó fej), az fdformat  nem törődik vele, de egy valódi probléma megszakítja az érvényesítési folyamatot. A kernel ekkor napló üzenetet (log message) küld minden egyes megtalált I/O hibáról; ezek az üzenetek a konzolra vagy syslog  használata esetén a /usr/adm/messages -be mennek. Az fdformat  önmaga nem mondja meg, hol van a hiba, ami többnyire nem probléma, mert a floppik elég olcsók, és már egy hibás blokk miatt is érdemes inkább kidobni őket, mintsem kockáztatni az adatbiztonságot.
\begin{tscreen}
\verb*\vert$\vert {\sl fdformat /dev/fd0H1440} \\
\verb*\vert D...
...vert Verifying ... read: Unknown error\vert \\
\verb*\vert$ \vert
\end{tscreen}

A badblocks   parancs arra használható, hogy egy merev- vagy floppilemezen esetleg partíción a hibás blokkokat megkeressük. Ez nem formázza a lemezt, így egy már létező fájlrendszer esetén is használható. Pl. egy normál floppilemez esetén két hibás blokkal a következőt kapjuk:
\begin{tscreen}
\verb*\vert$\vert {\sl badblocks /dev/fd0H1440 1440} \\
\verb*\vert 718\vert \\
\verb*\vert 719\vert \\
\verb*\vert$ \vert
\end{tscreen}
A badblocks  parancs a megtalált hibás blokkok sorszámát adja meg. A legtöbb fájlrendszer képes kikerülni a hibás blokkok használatát, ezért ezek egy listát tartanak karban az ismert hibás szektorokról, amely a fájlrendszer létrehozásakor veszi fel kezdőállapotát, és a rendszer később is képes módosítani azt. A hibás blokkok kezdeti keresése az mkfs  paranccsal is elvégeztethető (ez hozza létre a fájlrendszert), de későbbi ellenőrzést a badblocks  paranccsal kezdeményezhetünk, és az esetleges új hibás blokkokat az fsck  paranccsal adhatjuk hozzá a listához. Később részletesen szólunk az mkfs  és fsck  parancsokról.

Sok modern lemez automatikusan észleli a hibás szektorokat, és megkísérli kijavítani egy speciális, e célra fenntartott jó blokk használatba vételével. Ez nem látható az operációs rendszer irányából, és le kell hogy legyen írva a lemez kézikönyvében. Persze még az ilyen lemezek is hibázhatnak, ha a hibás blokkok száma nagyon megnő, de jó eséllyel ez már csak akkor következik be, amikor a lemez már teljesen használhatatlanná vált.

[*]
Linux rendszeradminisztrátorok kézikönyve (első javított változat; SAG-HU 0.6b1)