A fő rendszerindítási rekord ( eng. master boot record, MBR ) az operációs rendszer későbbi indításához szükséges kód és adat, amely a merevlemezen vagy más tárolóeszközön az első fizikai szektorokban (leggyakrabban a legelsőben) található. . 1983-tól (a PC DOS 2.0-tól kezdve) az UEFI és a GPT séma 2010-es évekig terjedő széles körű elterjedéséig használták.
Az MBR egy kis darab végrehajtható kódot , egy lemezpartíciós táblát és egy speciális aláírást tartalmaz .
Az MBR funkció egy „átmenet” a merevlemez azon részéhez, amelyről „további kódot” kell végrehajtani (általában az operációs rendszer indításához). Az „MBR szakaszban” egy lemezpartíció kerül kiválasztásra, az operációs rendszer kód betöltődik (az algoritmus későbbi szakaszaiban fordul elő).
A számítógép indításakor a kezdeti teszt ( Bekapcsolási önteszt - POST) után az alap bemeneti/kimeneti rendszer (BIOS) betölti az "MBR kódot" a RAM-ba (az IBM PC -n , általában cím 0000: 7c00), és átadja a vezérlést az MBR rendszerindító kódban lévőnek.
Az x86 -os számítógép rendszerindítási folyamata során mindig a BIOS kerül feldolgozásra először . Ebben a szakaszban a számítógép hardverének tesztelése és inicializálása mellett választható az is, hogy melyik eszközről történik a további betöltés. Ez lehet hajlékonylemez, merevlemez, hálózati erőforrás, beépített ROM vagy bármilyen más eszköz (a rendszerindító eszköz kiválasztásának algoritmusa eltérő lehet, és a BIOS megvalósításától függ). A rendszerindító eszköz kiválasztása után a BIOS teljes mértékben átadja az összes további betöltés irányítását erre az eszközre.
Abban az esetben, ha az eszköznek csak egy partíciója van (például hajlékonylemez vagy hálózati rendszerindítás), a választás egyértelmű, és a rendszerindítás azonnal folytatódik erről az eszközről. Ha azonban az eszköz több partíciót tartalmaz, amelyek mindegyike potenciálisan indítható (mint például a merevlemezek esetében), akkor bizonytalanság merül fel: melyik partícióról kell indítani. A partíció kiválasztásával kapcsolatos kétértelműség feloldása érdekében azt javasolták, hogy távolítsák el ezt a problémát a BIOS joghatósága alól, és tegyék át a választást magára az eszközre. Felmerült az ötlet, hogy erre a médiára felvett kis műsort használjunk, ami ezt a választást teszi. Így született meg az MBR koncepció.
Így több rendszerindító partíció potenciális jelenléte, amelyek között választani kell, kulcsfontosságú pont az MBR megjelenésének és fejlesztésének szükségességében. Az egyetlen (vagy egyedi) rendszerindító partícióval rendelkező eszközök esetében az MBR koncepció értelmetlen és nem használatos.
Néha az MBR-ben a fő funkción (partícióválasztás) kívül más funkciók is szerepelnek, például az engedélyezés. De ez már az MBR fő funkciójának és feladatának kiterjesztése és kiegészítése. Az ilyen rendszereket nem használják széles körben.
Tekintettel arra, hogy más rendszerek eltérő architektúrás megoldásokat használnak (a hardver aktiválásától az operációs rendszer indításáig), előfordulhat, hogy az MBR koncepció nem vonatkozik rájuk.
Nincs jóváhagyott szabvány az MBR-struktúrára vonatkozóan, azonban vannak "bejáratott hagyományok", amelyeket a legtöbb különböző gyártótól származó MBR betart.
A leggyakoribb MBR formátum a Windows . A rendszerindító rekord az aktuális fájlrendszer nevével kezdődik (például FAT32 vagy NTFS ). Az alábbiakban a lemez négy partíciójáról, a rendszertöltőre mutató hivatkozásról és a 0x55AAh aláírásról találhatók információk. Ha nincs rendszerbetöltő, például a Windows XP rendszerben , az „NTLDR hiányzik / tömörítve” üzenet jelenik meg (a helyzettől függően a rendszerbetöltő eltávolításra vagy tömörítésre kerül). "Az újraindításhoz nyomja meg a CTRL+ALT+DEL billentyűkombinációt." Továbbá, ha a lemez olvashatatlan, a „Lemezolvasási hiba történt. Az újraindításhoz nyomja meg a CTRL+ALT+DEL billentyűkombinációt." A rendszerbetöltő típusától függően különböző üzenetek jelennek meg.
A szabványos Windows rendszerbetöltőktől eltérő rendszerbetöltők használhatják az MBR és az első partíció közötti teljes területet (körülbelül 32 kB; 1-62 szektorok) saját céljaikra. Ilyen esetekben az MBR a teljes rendszerindító kódot jelenti, és az első 512 bájt kiemelésére azt mondják, hogy az MBS-ben (Master Boot Sector) található - a fő rendszerindító szektorban.
A Microsoft operációs rendszerek esetében az MBR és az MBS fogalma megegyezik, mivel a teljes MBR az MBS-ben van, bár ez nem teljesen helyes, mivel az MBR adatokat, az MBS pedig a fizikai szektort jelenti.
A rendszerindító partíció kiválasztása és az MBR integritásának ellenőrzése:
A rendszerindító szektor a lemez logikai partícióján lévő fájlrendszer típusától függ, és olyan kódot tartalmaz, amely megkeresi és betölti a tényleges operációs rendszert az ilyen típusú fájlrendszereken.
Elfogultság | Hossz, bájt | Leírás | |
---|---|---|---|
0000h | 446 | Betöltő kód | |
01BEh | 16 | 1. szakasz | Elválasztó tábla |
01CEh | 16 | 2. szakasz | |
01DEh | 16 | 3. szakasz | |
01EEh | 16 | 4. szakasz | |
01FEh | 2 | Aláírás (55 óra AAh) |
A POST eljárás befejezése után a rendszerbetöltő kód a 0x7C00 fizikai címre íródik a RAM -ba (az első 446 bájt a lemez nulla szektorából), majd a vezérlés átkerül rá. Ennek a kódnak a feladata a merevlemez partíciós táblájának elemzése , majd a vezérlés átvitele a második rendszerindító kódra, amely akár az aktív partíció elején, akár a lemez egy speciális területén található ( ezt a területet nem foglalják el a fájlrendszerek, és általában az 1-62. szektorok csoportja, a lemezen lévő partíciók általában a 63. szektortól kezdődnek. A második betöltő már tudja, hogyan kell olvasni legalább egy fájlrendszert, és az a feladata, hogy az operációs rendszer fájlrendszeréből a fájlok vezérlését adja át az operációs rendszer elindításához.
Példák:
A partíciós tábla információkat tárol a partíció típusáról és a merevlemezen elfoglalt helyéről.
Az MBR utolsó két bájtját aláírásnak nevezzük. E bájtok értéke 55h AAh. Ha nem ez a helyzet, a bejegyzés érvénytelennek minősül.
Elfogultság | Hossz | Leírás |
---|---|---|
00h | egy | Szakasz tevékenység jelzője |
01h | egy | Szakasz eleje - fej |
02h | egy | Szakasz kezdete – Szektor (0-5. bit), Henger (6., 7. bit) |
03h | egy | A szakasz eleje egy cilinder (a szektorszámú bájtban a 8., 9. magas bitek vannak tárolva) |
04h | egy | Szakasztípus kódja |
05h | egy | Szakasz vége - fej |
06h | egy | Szakasz vége – Szektor (0-5. bit), Henger (6., 7. bit) |
07h | egy | Szakasz vége - henger (a 8., 9. magas bitek a szektorszám bájtban vannak tárolva) |
08h | négy | Az első szektor eltolása |
0Ch | négy | Partíció szektorok száma |
A partícióaktivitás jelzője jelzi, hogy lehetséges-e az operációs rendszer elindítása erről a partícióról. Normál rakodógépeknél a következő értékeket veheti fel:
Szakasz kezdő- és végkoordinátái CHS formátumban (henger, fej, szektor). A CHS nem teszi lehetővé 7,8 GB-nál nagyobb adatcímzést, az LBA -címzés pedig a 7,8 GB-nál nagyobb partíciók címezésére szolgál .
A partíción használt fájlrendszer kódja.
A kód | Partíció típusa |
---|---|
00h | Üres bejárat (szabad hely) |
01h | FAT-12 (ha ez egy logikai partíció, vagy a partíció a lemez első 32 megabájtjában található, ellenkező esetben a 06h kódot használja) |
02h | XENIX gyökér |
03h | Xenix usr |
04h | FAT-16 32 MB-ig (ha a partíció elsődleges, akkor a lemez első fizikai 32 MB-jában kell lennie, ellenkező esetben a 06h kódot használják) |
05h | Bővített rész |
06h | FAT-16B, valamint FAT-16, nem vonatkozik a 04h és FAT-12 kódra, nem vonatkozik a 01h kódra |
07h | IFS, HPFS, NTFS , exFAT (és néhány más - a típust a rendszerindító rekord tartalma határozza meg) |
08h | AIX |
09h | AIX indítható |
0 Ah | OS/2 Boot Manager, OPUS |
0bh | FAT-32 |
0Ch | FAT-32X (FAT-32 LBA használatával) |
0Dh | Fenntartott |
0 Eh | FAT-16X (FAT-16 LBA használatával) (VFAT) |
0Fh | Kibővített LBA szakasz (ugyanaz, mint 05h, LBA használatával) [2] |
10 óra | OPUS |
11 óra | Rejtett FAT (hasonló a 01h kódhoz) |
12 óra | Compaq, szerviz részleg |
14 óra | Rejtett FAT (hasonló a 04h kódhoz) |
15 óra | Rejtett kiterjesztett partíció (hasonló a 05h kódhoz) |
16 óra | Rejtett FAT (hasonló a 06h kódhoz) |
17 óra | Rejtett HPFS/NTFS/IFS/exFAT partíció |
18 óra | AST SmartSleep |
19 óra | OFS1 |
1Bh | Rejtett FAT-32 partíció (lásd 0Bh) |
1Ch | Rejtett partíció FAT-32X (lásd 0Ch) |
1Eh | FAT-16X rejtett partíció (VFAT) (lásd: 0Eh) |
1Fh | Rejtett kiterjesztett LBA partíció (lásd 0Fh) |
20 óra | OFS1 |
21 óra | FSo2 |
22 óra | FS02 kiterjesztett partíció |
24 óra | NEC DOS |
25 óra | Windows Mobile IMGFS |
27 óra | Rejtett NTFS (rendszer-helyreállító partíció) |
28 óra | FAT-16+ számára fenntartva |
29 óra | FAT-32+ számára fenntartva |
2ah | AFS (AthFS) |
35 óra | JFS |
38 óra | THEOS 3.2 |
39 óra | 9. terv |
3ah | THEOS 4 |
3bh | Bővített rész THEOS 4 |
3ch | Partition Magic, NetWare |
3Dh | Rejtett NetWare partíció |
40 óra | Venix 80286, PICK R83 |
41 óra | Régi Linux/Minix, PPC PReP Boot |
42 óra | Régi Linux-csere, SFS, partíció egy dinamikus lemezen Windows rendszerben (dinamikus lemez) |
43 óra | Régi Linux |
4ah | ALFS |
4ch | A2 (Aos) |
4Dh | QNX4.x |
4Eh | QNX4.x 2. rész |
4Fh | QNX4.x 3. rész |
50 óra | OnTrack DM (csak olvasható) |
51 óra | OnTrack DM6 (olvasás és írás) |
52 óra | CP/M |
53 óra | OnTrack DM6 Aux3 |
54 óra | OnTrack DM6 DDO |
55 óra | EZ meghajtó |
56 óra | arany íj |
56 óra | Novell VNDI |
5ch | Priam Edisk |
61 óra | SpeedStor |
62 óra | GNU HURD |
63 óra | UNIX |
64-69 óra | NetWare |
77 óra | VNDI, M2FS, M2CS |
78 óra | XOSL |
7Fh | Ez a kód kutatási vagy oktatási projektekhez van fenntartva. |
80 óra | MINIX (régi) |
81 óra | MINIX |
82 óra | Linux-csere, Sun Solaris (régi) |
83 óra | Linux |
85 óra | Linux kiterjesztett (bővített) |
86 óra | A Windows NT csíkos tömbjének FAT-16 partíciója |
87 óra | Egy Windows NT csíktömb NTFS/HPFS partíciója |
8Eh | LVM partíció |
93 óra | Amőba, rejtett Linux (lásd a 83h kódot) |
94 óra | Amőba BBT |
94 óra | ISO-9660 |
9Eh | ForthOS |
A5h | hibernálási szakasz |
A5h | NetBSD (régi), FreeBSD, BSD/386 |
A6h | OpenBSD |
A7h | Következő lépés |
A8h | Apple Darwin, Mac OS X UFS |
A9h | NetBSD |
AFh | Mac OS X HFS és HFS+, ShangOS |
B1h | QNX6.x |
B2h | QNX6.x |
B3h | QNX6.x |
B6h | Tükrözött FAT-16 Windows NT főpartíció |
B7h | Tükrözött NTFS/HPFS Windows NT főpartíció |
BEh | Solaris 8 indítható |
bfh | Solaris |
C2h | Rejtett Linux |
C3h | Rejtett Linux Swap |
C6h | Windows NT FAT-16 tükrözött slave partíció |
C7h | Tükrözött Windows NT NTFS szolga partíció |
CDh | Memória dump |
D8h | CP/M-86 |
DAh | Az adatok nem egy fájlrendszer |
Dbh | CP/M-86 |
DDh | Rejtett memória kiíratása |
DEh | Dell segédprogram |
EBh | bfs |
ECH | SkyOS |
EDh | Hibrid GPT |
EEh | GPT |
EFh | UEFI rendszerpartíció |
F7h | EFAT, SolidState |
Fbh | VMFS |
FCh | VMFS csere |
FEh | LANstep, PS/2 IML |
FFh | XENIX BBT |
Bővített partíció használata esetén a partíció kezdetének koordinátái az EBR -re mutatnak .
Elfogultság | Hossz | Leírás |
---|---|---|
1BEh | 16 | Szakaszmutató |
1CEh | 16 | Mutató a következő EBR-re |
1DEh | 32 | Nem használt (nullákkal kell kitölteni) [3] |
1FEh | 2 | Aláírás (55 óra AAh) |
A mutató formátuma hasonló az MBR-hez.
A szakasz kezdő koordinátái LBA koordinátákban. 2 TB adat címzését teszi lehetővé.
Ha az MBR bármilyen módon elveszett, akkor speciális segédprogramokkal (például TestDisk ) visszaállítható, amely „megtekinti” a teljes adathordozót, és létrehoz egy partíciós táblát.
Példakód MBR-mentés létrehozására unix-szerű rendszereken sda lemezhez:
dd if=/dev/sda of=mbr.bin bs=512 count=1A rendszerbetöltő és a partíciós tábla visszaállítása:
dd if=mbr.bin of=/dev/sda bs=512 count=1Csak a rendszerbetöltő visszaállítása:
dd if=mbr.bin of=/dev/sda bs=446 count=1Az operációs rendszerek szempontjai | |||||
---|---|---|---|---|---|
| |||||
Típusok |
| ||||
Sejtmag |
| ||||
Folyamatmenedzsment _ |
| ||||
Memóriakezelés és címzés | |||||
Betöltési és inicializálási eszközök | |||||
Héj | |||||
Egyéb | |||||
Kategória Wikimedia Commons Wikikönyvek Wikiszótár |