operációs rendszer által karbantartott tábla egy lemezen, amely leírja a lemez partícióit From Wikipedia, the free encyclopedia
A merevlemez területét már az egész korai időkben részekre, ún. partíciókra osztották, eredetileg azért, hogy többféle operációs rendszert lehessen a merevlemezen tárolni, és azok fájljai ne keveredjenek össze. Minden partíción külön fájlrendszer található; az operációs rendszerek általában csak a saját fájlrendszereiket ismerik, így el sem tudják olvasni a többi partíció adatait. (Ez alól kivétel a Linux és néhány más Unix-szerű operációs rendszer, amely sok nem Unix-szerű operációs rendszer fájlrendszerét is ismeri.)
A felosztott diszkterületek helyét és méretét a partíciós tábla tartja nyilván.
A partíciós tábla alakja, a partíciók legnagyobb száma géptípusonként változó, de egy géptípuson belül azonos (hisz épp az a célja, hogy az operációs rendszerek osztozni tudjanak a diszk területén).
A Unixot és a Unix-szerű operációs rendszereket C nyelven írták, hogy viszonylag könnyen lehessen portolni őket különböző géptípusokra. A linux debian disztribúciójának 9., stretch nevű verziója pl. 10 különböző géptípuson működik. A portolhatóság kiváltotta a partíciós táblák egységesítésének igényét. A szabványosított partíciós tábla neve GPT (Guid Partition Table).
E szócikkben az IBM-kompatibilis PC-k hagyományos partíciós táblájával és a GPT-vel foglalkozunk.
Az első merevlemezes IBM-kompatibilis PC az XT(en) volt, melynek a partíciós tábláját lényegében a mai napig használják a PC-ken.
A partíciós tábla a master boot recordban, vagyis a diszk első szektorában található a szektor nevét adó boot loaderrel együtt. 4 partíció helyét tárolja 16-16 bájton. A tábla az 512 bájtos szektor 0x1BE hexadecimális címén kezdődik, és a szektor végéig tart. A 4×16 bájt után két bájt (0x55 0xaa) jelzi a tábla végét, egyúttal azt is, hogy a partíciós táblát létrehozták-e.
Egy partíció leírása:
Látható, hogy ugyanaz az információ (a partíció eleje és vége) kétféleképpen van megadva: CHS-címmel és abszolút szektorszámmal, az egyik 3, a másik 4 bájton, azaz a megadható méret sem azonos. Ha a méret nem ábrázolható 3 bájton, akkor a CHS-cím a maximális értéket (csupa 1-est) tartalmaz, a tényleges méreteket a szektorszámok adják.
A szektorszámokkal megcímezhető legnagyobb méret 232 · 512 bájt = 241 bájt, azaz 2 TByte. Ennél nagyobb diszk nem partícionálható a DOS/MBR típusú táblával.
A szektorszám 0-val kezdődő szektor sorszám, a 8086/8088-as processzorcsalád számábrázolásának megfelelően a legkisebb helyiértékű bájttal kezdve.
A CHS-cím első bájtja az olvasófej száma 0-tól számozva. A 2. bájt alsó hat bitje a szektorszám 0-tól számozva. A cilinderszámot a 2. bájt felső két bitje és a 3. bájt adja 10 biten.[1]
A 4 partíció nagyon hamar kevés lett. Egy partíciót sok szállítónál elfoglaltak a hardver diagnosztikai programok, egy másikat a boot manager, a harmadikat a DOS, így csak egy szabad partíció maradt más operációs rendszer számára. A Novell NetWare eleve két partíciót igényelt: egy DOS-t és a saját Novellt, de ebben az időben kísérletezett a Microsoft a Xenix-szel(en), a Digital Research(en) a többfelhasználós DOS-szal(en).
A kompatibilitás érdekében a Microsoft azt találta ki, hogy az egyik partíciót feláldozza egy újabb partíciós tábla és annak partíciói számára.[2] Ezt a partíciót hívják kiterjesztett partíciónak (típusa: 5), az általa tartalmazott partíciókat logikai partícióknak.
A kiterjesztett partícióban minden partíció előtt van egy DOS/MBR-rel azonos szerkezetű partíciós tábla, amely két partíciót tartalmaz: az adott partíció előtti és utáni logikai partició partíciós táblájának helyét. A partíciókat tehát láncolt listába szervezi; így elvileg tetszőleges számú logikai partíció hozható létre (bár a Microsoft-szoftverek a CP/M-örökség[3] miatt csak annyi partíciót tudnak használni, ahány betű az angol ábécében van, és ebbe az összes diszk beleértendő).
A szektor boot loader része üres, legalábbis a Microsoft szoftverek nem használják: azok csak elsődleges partícióból tudnak bootolni. A linux igen: mind a grub, mind elődje, a lilo(en) képes kiterjesztett vagy logikai partícióból is bootolni. A linux nem használ betűzést, így a betűk száma sem köti a logikai partíciók létrehozásában.[4]
Az IBM PC-kompatibilis számítógépek UEFI-jében szinte mindig van Compatibility Support Module(en), ami lehetővé teszi a bootolást DOS/MBR partícióból. A 0xEF típusú DOS/MBR partíció megfelel a GPT boot partíciójának. vfat32-re kell formázni, ugyanoda lehet tenni a boot loadert, mint GPT-ben.
A GUID (Global Unique IDentifier), más néven UUID az egész világon nagy valószínűséggel egyedi 128 bites (16 bájtos) azonosító. Az egyediséget nem ellenőrzi semmi, de a gyakorlatban igen kicsi a valószínűsége, hogy az adott algoritmussal előálló azonosítónak párja van.
A partíciós tábla azért kapta ezt a nevet, mert mind a tábla, mind az egyes partíciók GUID-et kapnak. A GPT a szabványosított számítógép firmware, az UEFI(en) része, de IBM PC-kompatibilis gépen BIOS firmware-rel is használható (bizonyos BIOS-oknál csak megkötésekkel). Az Intel fejlesztette ki az 1990-es évek végén. Számos előnye van az DOS/MBR típusú partíciós táblával szemben:
A diszkterületre logikai blokkcímmel hivatkozik, nem használja a cilinder/fej/szektor-alapú blokkcímzést.
A Windows a 2008-as kiadás óta ismeri, a linux még régebben. Több program képes adatvesztés nélkül átkonvertálni a DOS/MBR partíciós táblát GPT-re (pl. linuxban a gdisk). Az átalakítás után azonban a diszk bootolhatatlanná válik: újra kell telepíteni a boot managert (lásd alább).
A blokk általában 512 bájt, de különleges diszkek esetén növelhető.
A másodlagos partíciós tábla és GPT fejléc azonos az elsődlegessel, annak sérülésekor használatos.
Egy partíciós bejegyzés alakja (128 byte):
Offset | Hossz | Jelentés |
---|---|---|
0 | 16 | típus GUID |
16 | 16 | partíció GUID |
32 | 8 | első szektor |
40 | 8 | utolsó szektor |
48 | 8 | attribútumok (64 bit) |
56 | 72 | név |
Mint látható, a DOS/MBR-beli egybájtos típusnak itt 8 bájtos GUID felel meg. A szektorok helyét 8 bájt adja meg az MBR-beli 4-gyel szemben; ezzel 264 · 512 = 273 bájt, azaz 233 TByte méretű diszk partícionálható.
A tábla szakított a cilinder/fej/szektor alakú megadással egyrészt a felesleges redundancia miatt, másrészt e fogalmaknak memóriakártya vagy pendrive esetén nincs is értelmük. A redundanciát a GPT fejlécében található ellenőrző összeg biztosítja.
BIOS módban a grub az MBR és az első partíció közötti senki földjén bújik meg, GPT-ben azonban nincs ilyen hely. A grub viszont képes beletelepülni a GPT BIOS típusú partíciójába (4-es partíciótípus fdisk-ben) diszk-kép formájában; éppen ezért a partíción nem kell fájlrendszert sem létrehozni. A grub-install
parancsban a teljes diszket kell megadni: a grub megtalálja a partícióját. A partíció mérete egészen kicsi lehet: 10M is elég.[5]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.