Master Boot Record

speciális típusú rendszerindító szektor a particionált számítógépes háttértárak legelején
Ez a közzétett változat, ellenőrizve: 2018. július 29.

A Master Boot Record (MBR) vagy más néven a partíciós szektor a merevlemez legelső szektorának (azaz az első lemezfelület első sávjának első szektorának) elnevezése. Csak a particionált merevlemezeknek van MBR-jük. A MBR a merevlemez legelején, az első partíció előtt található meg.

A Master Boot Record felépítése

A MBR felépítése

szerkesztés

A háttértár formázásától függően, a megadott alapértelmezett foglalási egységnek (szektorméret) megfelelően, a MBR is 4096 bájt terjedelmű, viszont kis mérete ellenére kulcsfontosságú információkat tárol, éspedig:

  • az ugyancsak MBR nevű kis programot, mely elindít egy operációs rendszert a merevlemezről; ezt a kis programot betöltő kódnak vagy rendszerindító kódnak (boot code) is nevezik;
  • a partíciós táblát, mely a merevlemez-partíciók elhelyezkedési adatait tárolja.

A partíciós tábla felfogható a merevlemezen levő partíciók ’tartalomjegyzékének’. Ahogy egy könyv tartalomjegyzéke megmutatja, hogy a könyv bizonyos fejezetei a könyv hányadik oldalán kezdődnek, úgy a Master boot record-ban (Partíciós szektorban) levő partíciós tábla is megmutatja, hogy a partíciók a merevlemezen hol találhatóak. A partíciós tábla egy vagy több bejegyzésből áll. Mindegyik bejegyzés egy partíciót ír le. A MBR partíciós táblája legfeljebb négy bejegyzést tartalmazhat, ugyanis a partíciós tábla csak az elsődleges partíciók és a kiterjesztett partíció adatait tartalmazza. (Ezekből pedig egy merevlemezen összesen 4-nél több nem lehet.) A kiterjesztett partíció által tartalmazott logikai partíciók táblázata nem a MBR-ben, hanem a kiterjesztett partícióban található.

A partíciós tábla felépítése

szerkesztés

A Master boot record (MBR) partíciós táblájában mindegyik partíció bejegyzése a következő információk leírásából áll:

  • aktív állapotot jelző bájt: azt jelzi, hogy a partíció aktív-e vagy sem;
  • partíció kezdete és vége (vagyis a partíció melyik cilinder melyik lemezoldalának melyik szektoránál kezdődik, illetve melyiknél végződik);
  • partíció mérete (szektor darabszámban kifejezve);
  • partíció típusa (ami lehet elsődleges vagy kiterjesztett).

A MBR szerepe a bootolás lépéseiben

szerkesztés

A bootolás az a folyamat, mely a számítógép bekapcsolásától az operációs rendszer betöltődéséig tart. A bootolás lépései a következők:

1. A bootolás során először az alaplap BIOS rendszere kapja meg az vezérlést. A BIOS különféle ellenőrzéseket végez annak megállapítására, hogy a számítógép hardver eszközei (RAM memória, billentyűzet, merevlemez, stb.) rendben vannak-e. Ezt a néhány másodpercig tartó ellenőrzési folyamatot power on self test-nek vagy rövidítve POST-nak nevezik.

2. Miután a POST ellenőrzések sikeresen végrehajtódnak, a BIOS megnézi, hogy milyen hardver eszközről kell végrehajtani a bootolást (lehetséges esetek: floppy, merevlemez, CD/DVD, sőt újabban USB flash drive). A továbbiakban azt az esetet vizsgáljuk, amikor merevlemezről indul az operációs rendszer bootolása.

3. A BIOS a merevlemezről a MBR-t (vagyis az ebben levő MBR programot és a partíciós tábla tartalmát) beolvassa a RAM memóriába, majd itt átadja a vezérlést a MBR programnak.

4. Az IBM-kompatibilis PC-k ősi MBR programja leellenőrzi, hogy a partíciós táblában melyik az aktív partíció, és a partíciós táblából "kinézi", hogy az aktív partíció a merevlemezen hol helyezkedik el. A mai boot loaderek ennél kényelmesebb módot használnak: listát mutatnak a felhasználónak a választható operációs rendszerekről, és ha ő pár másodpercen belül nem választ, akkor bootolják a kijelölt partícióbelit (ez megfelel az eredeti aktív partíciónak, de az aktív flag használata nélkül).

5. A MBR program a kiválasztott partíció első szektorát betölti a memóriába. Egy bootolható partíción belül az első szektor(oka)t (ez nem azonos a MBR-rel!) rendszerbetöltő szektornak (boot sector vagy boot record) nevezik.

6. Az aktív partíció boot rekordja egy másik, saját kis boot programot (bootstrap code) tartalmaz. A MBR program átadja ennek a kis programnak a vezérlést (chain loading, láncbetöltés). Az újabb MBR programok (pl. a linux grub vagy elődje, a lilo) közvetlenül is tudnak bootolni bizonyos operációs rendszereket, és csak a többihez használják a láncbetöltést.

7. Ez a bootstrap program (vagy már korábban az MBR program) elkezdi a kiválasztott partíción található operációs rendszert a merevlemezről betölteni a memóriába. Ettől kezdve már az operációs rendszer saját boot lépései következnek.

A MBR fontossága

szerkesztés

Amikor a particionáló program létrehoz egy új elsődleges vagy kiterjesztett partíciót, vagy átméretez egy ilyen partíciót, akkor ennek adatait beírja a MBR partíciós táblájába. Amikor a particionáló program letöröl egy elsődleges vagy kiterjesztett partíciót, ezt azáltal valósítja meg, hogy a MBR partíciós táblájában az illető partíció bejegyzésébe zérókat ír. (Törléskor tehát csak a MBR változik; maga a partíció a rajta tárolt fájlokkal együtt megmarad a merevlemezen, éppen ezért bizonyos segédprogramokkal a letörölt partíció visszaállítható.)

A Master boot record jelentősége az, hogy ennek segítségével indul el egy operációs rendszer bootolása a számítógép bekapcsolása után. Mivel az átlagfelhasználók programjai a merevlemezről és rendszerint valamilyen operációs rendszer (például Windows) alatt futnak, ha egy operációs rendszer nem bootolna, akkor a felhasználók nem használhatnák a gépre telepített programjaikat.

A MBR épsége ezért nagyon fontos. Ha a MBR-ben levő partíciós tábla megsérül, akkor a számítógép indítását követően a MBR program nem találja meg az indítandó operációs rendszer partícióját, következésképpen az operációs rendszer nem fog elindulni. Amennyiben a MBR program a partíciókat nem találja meg, a merevlemez partíción tárolt fájlok és könyvtárak sem lesznek elérhetőek. Ha a MBR program sérül meg, akkor a merevlemezről nem fog az operációs rendszer bootolni. Ilyenkor CD-ről vagy pendrive-ról bootolva felül lehet írni az MBR sérült boot loaderét.