GPT

From ICO wiki
Revision as of 00:56, 24 January 2017 by Mtseljab (talk | contribs)
Jump to navigationJump to search
Pilt
GPT visuaalne skeem

Mis asi on GPT

GPT (ingl.k. GUID Partition Table) on partitsioonitabel mis on osa Intel'i arendatavast arvuti alglaaduri projektist nimega EFI (ingl.k. Extensible Firmware Interface). GPT on üldiselt uuendus MBR ehk Master boot record'i partitsioonitabelile ja erineb põhiliselt sellepoolest, et võimaldab hoida üle 2 terabaidiseid partitsioone andmekandjal (HDD, SSD, virtuaalmasina andmekandja).

2011 aasta seisuga, enamus tänapäevaseid operatsioonisüsteeme toetavad GPT partitsioonitabeleid.

Ajalugu

Lailalt levinud MBR partitsiooni skeem, mis oli üks viimastest IBM’poolt 1980 aastate alguses arendatud PC standardidest mis leiab kasutust senimaani, omab limiteeringuid mis piiravad kaasaegse riistvara kasutamist. Üks põhipiirang on suurus mida kasutatakse plokkide aadresside ja koguste salvestamiseks kuni 32 bitti. Kettastel sektori suurusega 512 baiti , MBR partitsiooni tabel lubab luua partitsioonid maksimaalse suurusega kuni 2.2TB (232 x 512 baiti). Seetõttu 1990 aastate lõpus Intel arendas uue partitsiooni tabeli standardi, mis lõpuks sai UEFI osaks. Alates 2010 aastast GPT moodustab alamgrupi UEFI spetsifikatisoonis. GPT allokeerib 64 bitti, mis 512-baitise sektori suuresega ketta puhul lubab maksmiaalse partitsiooni suurust kuni 9.4ZB.


Omadused

MBR’i kasutatavas skeemis primaarsete partitsioonide informatsioon on salvestatud MBR’is, samas BIOS põhinevates süsteemides MBR’s ka salvestatakse binaarkood mis käivitub BOOT protsessi – identifitseerimine ja aktiivse partitsiooni käivitamine(bootloader). GPT’s ketta esimene sektor on reserveeritud MBR’i jaoks selleks, et oleks võimalik bootida BIOS põhineva süsteemi GPT kettalt, aga sellisel juhul bootloader ja OS peaksid olema teadlikud, et ketas kasutab GPT`d. Sõltumata sektorite suurusest GPT päismiku algus asub ketta teises loogilises plokis (LBA1). Täpselt nagu uuemad MBR’i versioonid, GPT kasutab Logical Block Addressing ketta adresseerimiseks (vanemas MBR’s kasutatakse adresseerimiseks CHS – cylinder-head-sector tehnoloogia). Kaitsev MBR (ing. Protective MBR) asetatakse plokis LBA0 ja GPT päismik blokis LBA1. GPT päises salvestatud osutaja (ingl. pointer), mis näitab kus algab partitsioonide tabel, on tavaliselt LBA2. Partitsioonide arv standardi poolt ei ole piiratud ja sõltub OS’st (tehniliselt piiratud arvuga 264). Näiteks MS Windows operatsiooni süsteemide partitisoonide tabelis reserveeritakse ruumi 128 kirje jaoks (iga kirje 128 baitise suurusega). GNU/Linux tuum (kernel) toetab 256 partitsiooni. Selliselt Windows’is partitsiooni tabeli jaoks reserveeritakse 16 384 baiti (32 sektorit suurusega 512 baiti), millega esimeseks kasutatavaks sektoriks kettal saab plokk LBA34.


GPT üks tähtsamatest omadustest on dubleerimine. GPT päismik ja partitisoonide tabel on kirjutatud ketta alguses kui ka ketta lõpus. Teoreetiliselt GPT lubab moodustada partitsioonid suurusega kuni 9,4 ZB ((9,4 × 1021 bait)(sektori suurusega 512 baiti. Kui sektori suurus on suurem kui 512 siis partitsiooni suurus võib olla suurem), kuid MBR saab töötada ainult 2,2 TB (2,2 x 1012 bait). GPT annab võimalust partitisoonidele juurde määrata GUID (globally unique identifier), nimed ja atribuudid - sõltumata sisestest failisüsteemide UUID’st ja tähemärkidest. Tänu unicode toetusele, partitsioonid saab nimetada erinevates keeltes ja grupeerida kaustadesse.


Kaitsev MBR

Põhieesmärk, miks MBR on asetatud ketta algusesse on puhtalt kaitsev. MBR`i orienteeritud kettahalduse utiliidid võivad GPT kettaid mitte tunnistada ja halvemal juhul GPT ketta üle kirjutada. Selle probleemi vältimiseks MBR’is määratakse kettal ühe suure partitsiooni olemasolu mis on kogu GPT ketta ulatuses. Süsteemi identifikaator (System ID) väärtuseks selle partitisooni jaoks pannakse 0xEE, mis teavitab EFI’t, et GPT on kasutusel. Seetõttu EFI ignoreerib MBR`i. Mõned 32-bitised operatsiooni süsteemid, näiteks Windows XP, mis ei ole loodud GPT ketaste lugemiseks, siiski tunnistavad selle süsteemi ID (system ID) ja näitavad ketast nagu ligipääsmatu GPT ketas. Veelgi vanemad OS’id tavaliselt näitavad ketast ainukese tundmatu tüübi partitsiooniga, kus ei ole vabu ruumi ja reeglina ei lubata selliseid kettaid muuta. Partitsiooni kustutamine on võimalik ainult juhul, kui kasutaja seda algatab kästisi ja kinnitab valiku. Sellisel moel takistatakse juhuslik GPT ketta kustutamine.


Hybrid MBR (LBA 0 + GPT)

Operatsiooni süsteemides mis toetavad GPT alglaadimist mitte läbi EFI vaid BIOS kaudu, esimene sektor samuti kasutatakse bootloader’i hoiustamiseks aga see on kohandatud GPT partitsioonide tunnistamiseks.


Partitsioonide tabeli päis

Partitsioonide tabeli päis näitab loogilised plokid kettal, mis on kasutatavad lõppkasutaja poolt. Samuti see näitab arvu ja suurust partitsioonide kirjede jaoks, millest koosneb partitsiooni tabel. Vaikimisi Microsoft Windows’is reserveeritakse 128 kirjet. Selliselt saab luua 128 partitsiooni ühe ketta peale. Päismik sisaldab ketta GUID`i (Globally Unique Identifier). Päismik sisaldab ka oma suurust ja asukohta (alati plokk LBA1), samuti sekundaarse päismiku suurust ja asukohta (alati ketta viimased sektorid). Oluline on ka see, et päismikus on salvestatud CRC32 kontrollsummasid päismiku ja partitsiooni tabeli jaoks. Need kontrollsummad kontrollitakse EFI protsesside poolt alglaadimise ajal. Kontrollsummade tõttu on vastuvõtmatu ja mõttetu GPT sisu kohandamine HEX-redaktorites. Redakteerimine rikub sisu vastavust kontrollsummale, mille parandamiseks EFI kirjutab üle primaarse GPT sekundaarsega. Kui mõlemad GPT’d sisaldavad valesid kontrollsummasi, siis kettale ligipääs muutub võimatuks.


Puudused

  • Vastuoluline GPT toetuse rakendamine tarkvaras, mis võibolla põhjustatud sellest, et enamik standardist on kinnine. (näiteks, GUID „Linux data“ partitsiooni tüübi jaoks oli muudetud, utiliidi parted vanemates versioonides kasutatakse ebastandartset nimede kodeerimist)
  • Ei ole võimalust määrata oma nimi kogu kettale (vaatmata sellele, et kettal on olemas oma GUID)
  • Senimaani on väga tugev seos partitsiooni ja tabelis asuva partitisooni numbri vahel (näiteks paljud OS alglaadijat eelistavad kasutada partitsiooni numbrit, mitte nime või GUID`i)
  • Tabeli duplikaatide kogus on piiratud kahega ja nende positisoonid on fikseeritud. Selline lähenemine ei ole piisavalt paindlik ketta kahjustamise, administreerimis vigade või programmide vigade puhul.
  • GPT koopiad ei luba teise koopia annulleerimist juhul, kui koopia on rikutud aga omab õiget kontrollsummat (ehk ei ole kaitset rikutud plokkide vastu)


Põhilised erinevused MBR'iga

  • Partitsiooni maksimaalne suurus 9.4 ZB (1.00931731 × 1010 terabaiti)
  • Teoreetiliselt piiramatul hulgal partitsioone (praktiliselt 128, MBR'il kõigest 4 primaarset partitsiooni)
  • GPT tagab parema tervikluse, kuna partitsioonitabelitega seotud informatsiooni kirjutatakse andmekandja algusesse kui ka lõppu

Piirangud Windows'is

Näide

Oletame, et meil on 128 terabaidine kõvaketas ja me soovime sellele luua uue partitsiooni.

Näites on kasutatud Windows 7 Proffesional SP1 64 bit operatsioonisüsteemi.

Diskpart

Uuele kettale GPT partitsioonitabeli loomine diskpart'iga ja täies ulatuses NTFS partitsiooni lisamine

select disk N
convert gpt
create partition primary
format quick

Kontrollime tulemust

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           40 GB      0 B
* Disk 1    Online          128 TB      0 B        *
DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Reserved           128 MB    17 KB
* Partition 2    Primary            127 TB   129 MB

Olemasoleva ketta partitsioonitabeli konverteerimine GPT'ks käib järgnevalt:

select disk N
convert gpt

GUI

Uuele kettale GPT seadistamine

Disk Management tunneb ära arvutile lisatud ketta ja pakub kohe välja, et initaliseerida uus ketas. Valides GPT initaliseeritakse ketas ära GPT tabeli vormingus ning peale seda saab lisada kettale uusi partitsioone.

7 primaarse partitsiooniga andmekogu

Antud näites on tehtud 7 primaarset partitsiooni, millest 4 on 100 gigabaiti ja 2 4 terabaiti.

MBR konverteerimine GPT'ks

Viimasel pildil on näha, kuidas konverteerida ümber MBR'i GPT'ks

Vaata lisaks

Kasutatud kirjandus