Master Boot Record (Magyar)

From ArchWiki
Jump to: navigation, search

A Master Boot Record (MBR) egy tárolóeszköz első 512 bájtja. Az MBR nem valamiféle partíció, hanem a rendszerbetöltő és a partíciós tábla számára fenntartott hely. Az MBR újabb alternatívája a GUID Partíciós Tábla, mely része a Unified Extensible Firmware Interface specifikációnak.

Rendszerindítás (Boot)

A bootolás több szakaszból áll. A legtöbb PC a hardver alkotóelemeit a BIOS-nak (Basic Input/Output System) nevezett firmware segítségével inicializálja, mely rendszerint az alaplap erre külön kijelölt ROM chipjében foglal helyet. Miután a hardverelemek inicializálásra kerültek, a BIOS az az első felismert tárolóegységen (merevlemez, SSD, CD/DVD, USB eszköz) MBR-én megkeresi a rendszerbetöltőt, vagy ezen eszköz első partícióján. Ezt a programot aztán végrehajtja. A rendszerbetöltő beolvassa a partíciós táblát, majd betölti a megfelelő partícióról az operációs rendszert. A leggyakoribb GNU/Linux rendszerbetöltők manapság a GRUB és a Syslinux.

Történet

Az MBR egy rövidke assembly kódból (az eredeti rendszerbetöltő – 446 bájt), a 4 elsődleges partíció táblájából (darabja 16 bájt) és sentinel-ből (0xAA55) áll.

A "Hagyományos" Windows/DOS MBR rendszerbetöltő kód csak egyetlen aktív partíciót keres, beolvas X szektort erről a partícióról, majd átadja az ellenőrzést az operációs rendszernek. A Windows/DOS betöltő nem tud Arch Linux partícióról indítani, mert nem arra készült, hogy betölthesse a Linux rendszermagot, valamint csak és kizárólag aktív, elsődleges partíciót kezel csak (ezt a GRUB biztonságosan megkerüli).

A GRand Unified Bootloader (GRUB) afféle norma a GNU/Linux rendszerbetöltők közt, és erősen ajánlott, hogy telepítsük az MBR-re, hogy bármiféle partícióról indíthassunk, legyen az elsődleges vagy logikai.

Mentés és helyreállítás

Mivel az MBR a merevlemezen van, elmenthető és visszaállítható.

Az MBR elmentése:

# dd if=/dev/sda of=/path/mbr-backup bs=512 count=1

Az MBR helyreállítása:

# dd if=/path/mbr-backup of=/dev/sda bs=512 count=1
Figyelem: Az MBR helyreállítása, ha a partíciós táblánk megváltozott, olvashatatlanná és majdnem biztosan helyreállíthatatlanná teszi adatainkat. Ha csak a rendszerbetöltőt kell újratelepítenünk, használjuk a GRUB-ot vagy a Syslinux-ot.

Ahhoz, hogy töröljük az MBR-t (hasznos lehet más operációs rendszer teljes újratelepítésekor), csak az első 446 bájtot kell "nulláznunk", hiszen a maradék a partíciós táblát tartalmazza:

# dd if=/dev/zero of=/dev/sda bs=446 count=1

A Windows boot record helyreállítása

Hagyományosan (és a telepítés megkönnyítése végett), a Windows általában az első partícióra kerül, és partíciós tábláját, rendszerbetöltőjének referenciáját e partíció első szektorán helyezi el. Ha véletlenül rendszerbetöltőt (pl. GRUB-ot) telepítünk e Windows partícióra, vagy a boot bejegyzést valamilyen más módon sérülés éri, azt valamilyen eszközzel kell helyreállítani. A Microsoft egy FIXBOOT nevű boot szektor javító eszközt és egy FIXMBR nevű MBR javítót is kiadott helyreállító-lemezein, és olykor telepítőin. E módszert használva javítható a rendszerbetöltő fájl referenciája az első partíció boot szektorán, és megjavítható az MBR referenciája az első partíción. Ezután a GRUB újratelepítése[broken link: invalid section] következik, az MBR-en (a GRUB rendszerbetöltő használható a Windows rendszerbetöltőjének betöltésére is, ezt hívjuk "chainload"-nak).

Ha a rendszert csak Windows alatt szeretnénk használni a továbbiakban, a FIXBOOT parancsot használjuk, mely az MBR-ről az első partíció boot szektorára ugrik, hogy helyreállítsa a Windows operációs rendszer normális, automatikus betöltését.

Jegyezzük meg, létezik egy Linux eszköz, melynek neve ms-sys (ms-sysAUR csomag az AUR-ban) mely képes MBR-t telepíteni. Mindazonáltal ez a segédeszköz jelenleg csak új MBR-t tud írni (minden OS-t és fájlrendszert támogat) valamint boot szektort (avagy indítórekordot; ez a FAT fájlrendszerek FIXBOOT)-jának megfelelője. A legtöbb LiveCD-n nem található meg ez az eszköz, azaz használat előtt telepíteni kell, vagy olyan helyreállító-rendszert érdemes keresni, ami tartalmazza, mint a Parted Magic.

Először írjuk újra a partíciókról szóló információt (táblát):

# ms-sys --partition /dev/sda1

Majd írjuk ki a Windows 2000/XP/2003 MBR-t:

# ms-sys --mbr /dev/sda  # Lásd az opciókat a különféle verziókkal kapcsolatban

Ezután írjunk új boot szektort (indítórekordot):

# ms-sys -(1-6)          # Lásd az opciókat a megfelelő FAT rekord típussal kapcsolatban

ms-sys tud még Windows 98, ME, Vista és 7 MBR-t írni is, lásd ms-sys -h.

TestDisk MBR Kód

A hivatalos tárolók-ból telepíthető A testdisk program képes saját kódját az MBR-re írni, mely ezek után képes a Windowst indítani. A csomag a telepítőmédiumon is megtalálható.

Lásd még