GPT (GUID Partition Table)

botond küldte be 2020. 02. 28., p – 13:56 időpontban

Tartalom

 

Ismertető

A GUID partíciós tábla (GPT) a fizikai számítógépes tárolóeszközök – mint például a merevlemez-meghajtók vagy az SSD háttértárak – partíciós tábláinak elrendezésére szolgáló szabvány, amely univerzálisan egyedi azonosítókat (UUID) használ (amik GUID néven is ismeretesek) a tárolóeszközön lévő partíciók egyértelmű megkülönböztetésére. A GPT az UEFI (Unified Extensible Firmware Interface) szabvány egy részét képezi, mindazonáltal bizonyos BIOS-rendszerekben is alkalmazzák, mert a – BIOS-ok esetén használt – Master Boot Record (MBR) partíciós táblái korlátozottak, mivel 32 bitet használnak a hagyományos 512 byte-os lemezszektorok logikai blokkcímzéséhez (LBA).

Minden modern személyi számítógép operációs rendszere támogatja a GPT-t. Viszont némelyik rendszer, beleértve az x86 architektúrán működő macOS-t és Microsoft Windows-t, csak az EFI/UEFI-vel működő számítógépek esetén támogatják a GPT partíciókról történő rendszerindítást (ezek a rendszerek is tudják kezelni a GPT partíciós táblával formázott merevlemezeket BIOS esetén is, csak elindulni nem tudnak róluk), azonban a FreeBSD és a legtöbb Linux disztribúció el is tud indulni a GPT partícióról is, függetlenül hogy a gép a régi BIOS-al vagy a modern EFI/UEFI-vel működik.

 

 

Története

A Master Boot Record (MBR) particionálási séma, amelyet az 1980-as évek eleje óta széles körben használtak, korlátozásokat támasztott a modern hardverek használatára. Legnagyobb korlátja a csupán 32 bites blokk címzése volt, aminek eredményeként az 512 byte-os szektorokkal rendelkező merevlemezek MBR partíciós táblái maximálisan 2TB-os (232 x 512 byte) tárhelyet tudtak megcímezni, így az e feletti területet nem tudták elérni.

Az 1990-es évek végén az Intel új partíciós tábla formátumot fejlesztett ki annak részeként, amely végül az Unified Extensible Firmware Interface (UEFI) lett. 2010-től a GUID partíciós tábla az UEFI specifikáció részét képezi. A GPT 64 bites logikai blokkcímzést használ, ami lehetővé teszi a 264 szektor elérését. Ez egy 512 byte-os szektorokkal rendelkező háttértár esetén a maximális méret 9,4 ZB (9,4 x 1021 byte) vagy 8 ZiB (264 darab szektor x 512 byte szektoronként).

 

Jellemzői

Az MBR-ekhez hasonlóan a GPT-k is a logikai blokkcímzést (LBA) használják a korábbi cilinder-fej-szektor (CHS) címzés helyett. A védő MBR az LBA 0. blokkjában található (lásd lejjebb). A GPT fejléc az LBA 1. blokkjában van, ami tartalmaz egy mutatót a partíciós táblára (Partition Entry Array), ami általában az LBA 2. blokkjától kezdődik. Az UEFI specifikáció előírja, hogy – a szektorok méretétől függetlenül – legalább 16,384 byte kerüljön lefoglalásra a Partition Entry Array számára, melyben a bejegyzések mérete 128 byte. Így egy 512 byte-os szektorokkal rendelkező lemezen a 34-es szektor az első használható szektor a lemezen.

A merevlemez-gyártók az új termékeiknél áttértek a 4096 byte-os szektorméretekre. Az első ilyen meghajtók továbbra is 512 byte-os fizikai szektort jelenítettek meg az operációs rendszerekben. Teljesítmény romlása akkor következhet be, ha a meghajtó fizikai  4-KiB szektorhatárai nem esnek egybe a 4 KiB logikai blokkokkal, klaszterekkel és virtuális memória oldalakkal, amelyek sok operációs rendszerben és fájlrendszerben is általánosak. Ez különös probléma volt az olyan írási műveletek során, amikor a meghajtó kénytelen volt két olvasási-módosítási-írási műveletet végrehajtani, hogy egyetlen hibásan igazított 4 KiB írási művelet teljesüljön.

 

Védő MBR

A korlátozott visszamenőleges kompatibilitás érdekében a régi MBR helyét továbbra is fenntartják a GPT-specifikációban, de most már csak arra használják, hogy megakadályozzák az MBR-alapú lemezkezelő szoftverek téves felismerését és a GPT-lemezek esetleges felülírását. Ezt védő MBR-nek nevezik.

Egyetlen 0xEE (GPT) típusú partíciót tartalmaz, ami – a védő MBR rekord szerint – egyetlen partícióként a teljes lemezt elfoglalja. Az olyan operációs rendszerek és eszközök, amelyek nem tudják olvasni a GPT lemezeket, általában a lemezt ismeretlennek jelölik, amin nincs üres hely és általában megtagadják a lemez módosítását (kivéve, ha a felhasználó kifejezetten kéri és megerősíti például a partíció törlését). Ez minimalizálja a véletlen törléseket. Ezenkívül a GPT-t ismerő operációs rendszerek ellenőrizhetik a védő MBR-t, és ha a mellékelt partíciótípus nem 0xEE típusú, vagy ha a meghajtón több partíció van definiálva, akkor az operációs rendszer is megtagadhatja a partíciós tábla módosítását.

Ha a lemez tényleges mérete meghaladja az MBR partíciós táblában az örökölt 32 bites LBA bejegyzésekkel reprezentálható maximális partícióméretet, akkor a partíció rögzített méretét le kell vágni a maximumnál, ezáltal figyelmen kívül hagyva a lemez többi részét. Ez maximálisan 2 TiB méretet jelent, feltételezve, hogy a lemez szektormérete 512 byte. Ez 16 TiB-t jelentene, ha a szektorméret az újabb szabvány szerinti 4 KiB-ban lenne meghatározva, de mivel sok régebbi operációs rendszer és segédprogram 512 byte-os szektormérethez van rögzítve, vagy 32 bites számításokra korlátozva, a 2 TiB méret határ túllépése kompatibilitási problémákat okozhat.

 

 

Címkék