Hlavní navigace

Na disky větší než 2 TB s GPT

Adam Štrauch

I když se mluví o bájné fyzikální hranici pevných disků, jejich kapacita každý rok stoupne v průměru o několik desítek procent. Dnes už jsou na trhu 3TB disky, a tak je potřeba řešit jeden z mnoha limitů, který se kolem staré architektury PC objevuje. Tímto limitem je maximální velikost disku mapovatelného přes MBR.

V článku se používají jednotky v násobku tisíce (GB, TB apod.), pokud není uvedeno jinak.

Když se v vývojáři z IBM domlouvali na podobě MBR, asi je ani nenapadlo, že by disky mohly někdy dosahovat velikostí nad 2 TB a už vůbec ne, že by je někdo chtěl rozdělovat na víc než 4 oddíly. Omezení se čtyřmi oddíly se podařilo docela pěkně obejít, zato limit na 2,199 TB zůstal a zůstane až do konce MBR.

Ale abychom nepředbíhali. Od určité doby se pro mapování disků začalo používat Logical Block Addressing (LBA), které zjednodušilo adresaci, která se do té doby řešila metodou Cylindr-Hlava-Sektor (CHS). LBA má daleko k fyzické poloze dat v pevném disku, a tak řadič musí LBA převádět na fyzickou polohu a zase zpět. Už u CHS se prováděly podobné machinace, takže stejně mohly ovladače v operačním systému maximálně hádat, které oblasti dat leží u sebe a podle toho optimalizovat jejich čtení a zápis. LBA toto zjednodušilo a nechalo optimalizace na samotném disku. Změna měla také za úkol zvednout limit 7,8 GB, který byl na CHS navěšený.

A zrodila se úprava MBR, která přežila z dob slavných procesorů 386, až do současnosti, kde má stále své místo. Když se podíváme na nákres MBR hlavičky, zjistíme, že je vložena na první sektor, tedy na prvních 512 B disku. To není moc místa, zvlášť když si uvědomíme, že se na prvních 440 B krčí zavaděč operačního systému. Když odečteme ještě různé signatury, tak pro tabulku oblastí zbývá 64 B, což je méně, než je polovina SMSky. Z pohledu dnešních disků jde o směšný prostor, a ten si také vybírá svou daň. Těchto 64 B je rozděleno na 4 × 16 B a pro samotnou adresu jsou k dispozici 4 B, tedy 32 bitů. Jednoduchým výpočtem zjistíme, že je možné mapovat 4294967296 sektorů. Protože se v nultém sektoru skrývá samotné MBR, v praxi je možné mapovat o jeden sektor méně. V bytech to pak dělá 2199023255040, což je 2.199 TB. V TiB jednotkách to je 2,048 – 512 B. Limit se tedy dotýká už 2,5 TB disků, které jsou dnes na trhu za rozumnou cenu.

Ve skutečnosti se limit týká adresy počátku oblasti, takže pokud máte 4 TB disk, můžete na něm vytvořit čtyři oddíly začínající v první polovině disku a poslední z nich se může táhnout přes druhou polovinu. Velikost oddílu je omezena stejně, tedy na něco přes 2 TB. U větších disků ale MBR už opravdu narazí.

Proto nastal čas odpoutat se od MBR a zkusit něco modernějšího, co řeší problémy, třeba GUID Partition Table (GPT). Jde o čisté řešení, které vzešlo ze standardu (U)EFI vyvinutého firmou Intel. Na rozdíl od MBR se GPT roztahuje rovnou na 34 sektorech a navíc je na disku ve dvou kopiích. Odstraňuje tedy jak problémy s počtem oddílů, tak jejich maximální velikosti. O kompatibilitu se staršími počítači se stará tzv. Protective-MBR, která leží v nultém sektoru, stejně jako normální MBR a obsahuje informaci o jednom oddílu typu GPT. Tím se zajistí, že se na nekompatibilních systémech bude disk tvářit zaplněný neznámými daty. GPT samotné se rozpíná na dalších 33 sektorech. Pro adresy jednotlivých oddílů je vyhrazeno 32 sektorů a každý oddíl má k dispozici 128 B, v rámci kterých je pro adresu uvolněno 8 B. To umožňuje adresovat 2 ^ 64 sektorů, což je něco přes 9.4 ZB. Celkem může GPT tabulka rozdělovat disk až na 128 oddílů.

Nasazení a problémy

Kolem GPT panuje spousta otazníků a i když jsou na trhu disky, na které se hodí, moc informací k dispozici není. Podporu GPT najdeme dnes téměř na všech operačních systémech včetně Linuxu. U Windows můžeme zapomenout na stará XP, ale Vista a 7 už by měly podporu mít. Trochu horší to je se zavaděči. GRUB verze 1 podporu oficiálně neměl, ale patche byly k dispozici, zato druhá verze už podporu má a funguje jak s EFI deskami, tak s klasickým BIOSem. Vhledem k tomu, že je GRUB tlačen snad všemi hlavními linuxovými distribucemi, měla by tato informace stačit.

Z instalátorů linuxových distribucí jsem zkoušel jen alternativní instalaci Ubuntu, která si GPT hravě poradila bez problému. Tabulku oblasti doporučuji vytvořit ještě před instalací samotného operačního systému, třeba pomocí Parted Magic. Budete mít jistotu, že se opravdu použije GPT, a pokud podobně jako já používáte textový instalátor Debianu, bude vytváření mnohem pohodlnější. Při vytváření oblastí je nutné dát si pozor, protože GRUB potřebuje jednu vlastní oblast, která sice může být velmi malá (menší než 1 MB), ale bez ní nenabootuje. Této oblasti dejte flag bios_grub. Při instalaci si tam GRUB přesune další kód, který se už nevejde do MBR.

gparted a GPT tabulka oblastí

Po vytvoření všech oblastí a nainstalování operačního systému byste měli normálně nabootovat, a tím pro vás GPT končí. Pokud tomu tak není, znamená to, že BIOS vaší základní desky je chytřejší, než se na první pohled zdálo, a zmátla ho Protective-MBR. V takovém případě máte rovnou čtyři možnosti:

  • Dejte GPT oddílu v Protective-MBR boot flag
  • Použijte utilitku gptsync
  • Pokud to je možné, vraťte se k MBR
  • Použijte pro bootování jiný disk

Boot flag je v Linuxu vcelku zbytečný, protože jeho bootloadery fungují z MBR a buď je oblast s jádrem uložena v MBR také nebo jsou schopny si ji dostat z konfiguračních souborů uložených někde na disku. Je ale důležitý pro Windows, které si s ním minimálně v minulosti označovaly oddíl se systémem. Proto mohou být některé staré BIOSy zmatené, pokud v MBR boot flag není.

Pokud to nepomůže, zkuste utilitku gptsync. Sice jsem ji nenašel téměř na žádném záchranném CD, ale jde například doinstalovat do běžícího Live CD Ubuntu. Utilitka gptsync vezme oblasti z GPT a první tři zkusí narovnat za oblast typu GPT, která se samozřejmě zmenší. Vzhledem k tomu, že ještě GRUB potřebuje malou oblast pro sebe, tak gptsync zvládne synchronizovat pouze dvě linuxové oblasti. Samozřejmě platí limity, které MBR má, takže adresa poslední oblasti končí na maximu 2,199 TB. Takovémuto řešení se říká hybrid MBR a není součástí EFI standardu. Proto je možné, že některé nástroje nebo i operační systémy nebudou s takovým diskem pracovat správně.

Převod MBR na GPT a zase zpět není vždy možný, ale pokud máte celkem 4 oddíly a méně na disku menším než 2,199 TB, neměl by to být problém. K převodu poslouží utilita gdisk, kterou velmi dobře zdokumentoval Rod Smith. Na odkazovaném webu najdete mnohem víc než gdisk. Rod se o GPT hodně rozepisuje, a tak se jeho web stal asi nejlepším zdrojem informací.

Poslední možnost, když selhaly všechny ostatní, je použít jiný disk, na který umístíte MBR a oddíl s adresářem /boot a budete bootovat z něj. Můžete použít USB flash disk, ale i normální velký disk.

Závěr

GPT se nemusíte bát, nekouše a na své desce ho s největší pravděpodobností rozjedete. U velkých disků nemá smysl váhat, zvlášť pokud nepoužíváte LVM a chcete si v oddílech udržet trochu kulturu. Určitě já i ostatní uživatelé ocení, pokud se v diskusi o své zkušenosti s GPT podělíte.

Našli jste v článku chybu?

20. 9. 2011 18:41

asdfghj (neregistrovaný)

Je třeba si uvědomit, jakym zpusobem platforma PC/BIOS bootuje. Puvodni MS-DOS pristup, ktery dodnes pouzivaji Windows, funguje tak, ze BIOS se podiva do MBR a tam je kod, ktery urcuje spustit bootloader z oddilu oznaceneho "boot flagem". Proto lze timto zpusobem bootovat pouze z oddilu definovanem v MBR a proto systemy Microsoftu umi bootovat jen z primarni partition. Pristup vcelku na hovno.

GRUB funguje tak, ze v MBR je kod (stage 1) odkazujici na LBA disku, kde se nachazi dalsi cast zavadec…

20. 9. 2011 8:31

s (neregistrovaný)

Teda, ve skutecnosti vazim 80KG, ale tak sem si rikal, ze tech 1000 je moc fadnich, tak budu pocitat 1KG = 1024G, at se s tim lip pocita...

Uplne stejna pokrivena logika se v posledni dobe zacina uplatnovat na KB, MB, GB, TB, akorat obracene. 1KB uz neni 2^10B, ale 1000B. To aby se to lip pocitalo, zejo! Na adresovani 4GB uz nepotrebujeme 32bitu, ale log(400000000­0)/log(2), tj. 31.8973 bitu. Bezva pocty.

Blok na disku ma velikost 2^9B, Ten adresujeme 32bity. 32+9 = 41. 41^2 = 40^2 * 2 tj. 2TB…

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Podnikatel.cz: Dárkové poukazy. Vaše byznys výhra

Dárkové poukazy. Vaše byznys výhra

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu