Organizační struktura disku – Windows Hardware · 4. ročník · NTFS · MBR · GPT · UEFI · TPM

1. Souborové systémy v OS Windows

Souborový systém (file system) je způsob, jakým operační systém organizuje, pojmenovává a ukládá data na datové médium. Bez souborového systému by disk byl jen řadou číslovaných sektorů bez struktury, bez názvů souborů a bez adresářů. Souborový systém definuje, jak jsou data fyzicky rozmístěna na disku a jak OS k nim přistupuje.

Windows v průběhu svého vývoje používal několik souborových systémů. FAT16 byl standard pro MS-DOS a Windows 3.x, omezený na soubory do 2 GB. FAT32 přišel s Windows 95 OSR2 a umožnil disky do 2 TB, ale stále omezoval velikost jednoho souboru na 4 GiB – problém dnes u videa nebo zálohovacích archivů. exFAT z roku 2006 je odlehčená varianta bez žurnálování, primárně pro flash disky a SD karty, kde je dnes standardem. Pro pevné disky v moderních Windows je výchozím souborovým systémem NTFS, a to od Windows NT 3.1 z roku 1993.

1.1 NTFS – New Technology File System

NTFS byl navržen od základů pro Windows NT s důrazem na spolehlivost, bezpečnost a podporu velkých disků. Oproti FAT přináší řadu zásadních vylepšení.

Žurnálování (journaling)

Jednou z nejdůležitějších vlastností NTFS je žurnálování. Před každou změnou metadat (zápis souboru, přejmenování, smazání) zapíše NTFS záměr operace do speciálního souboru nazývaného žurnál ($LogFile). Teprve poté provede samotnou operaci. Pokud dojde k výpadku napájení uprostřed operace, při dalším startu Windows přečte žurnál a buď dokončí, nebo vrátí nedokončenou transakci. Díky tomu nedojde k poškození struktury disku. FAT nic takového nenabízel – proto bylo nezbytné provádět CHKDSK kontrolu po každém pádu systému.

Přístupová práva a bezpečnost (ACL)

NTFS implementuje ACL (Access Control List) – seznam přístupových práv pro každý soubor a adresář. Práva lze nastavit pro každého uživatele nebo skupinu zvlášť: čtení, zápis, spouštění, plné řízení nebo speciální kombinace. Toto je základ Windows bezpečnostního modelu – systémové soubory jsou chráněny před normálními uživateli.

Komprese a šifrování (EFS)

NTFS podporuje transparentní kompresi souborů na úrovni souborového systému. Uživatel pracuje se soubory normálně, ale OS je na pozadí komprimuje a dekomprimuje. Pro citlivá data nabízí EFS (Encrypting File System) – transparentní šifrování pomocí symetrického klíče chráněného certifikátem uživatele. EFS pracuje na úrovni souborového systému a je nezávislý na BitLockeru, který šifruje celý svazek.

Alternativní datové proudy (ADS)

NTFS umožňuje ke každému souboru připojit alternativní datové proudy (Alternate Data Streams, ADS) – skrytá data přidružená k souboru bez viditelné změny jeho velikosti. Windows Explorer tato data nezobrazí. Proudy se používají například pro uložení zónového identifikátoru (příznak "staženo z internetu", který spouští bezpečnostní varování při prvním spuštění). Zároveň jsou potenciálním bezpečnostním rizikem, protože lze v nich skrýt škodlivý kód.

Sparse files a hard/soft linky

Sparse files jsou soubory s "dírami" – velké soubory, kde velké části obsahují pouze nuly a nejsou fyzicky uloženy na disk, čímž šetří místo. Využívají je databáze nebo virtuální disky. Hard linky umožňují jednomu souboru mít více názvů v různých adresářích – data existují jen jednou, ale jsou přístupná přes více cest. Symbolické linky (junction points, symlinks) fungují podobně jako zástupce, ale transparentně na úrovni systému.

VlastnostFAT32exFATNTFS
Max. velikost souboru4 GiB16 EiB16 EiB
Max. velikost svazku2 TiB128 PiB256 TiB
ŽurnálováníNeNeAno
Přístupová práva (ACL)NeOmezenáPlná
KompreseNeNeAno
Šifrování (EFS)NeNeAno
Typické použitíStarší média, USBSD karty, USB flashSystémový disk Windows

1.2 MFT – Master File Table

Srdcem NTFS je MFT (Master File Table) – tabulka, která popisuje každý soubor a adresář na svazku. MFT je sám o sobě souborem (jmenuje se $MFT) uloženým na disku. Každý soubor nebo adresář je v MFT reprezentován jedním nebo více záznamy o velikosti 1 KB.

Každý záznam MFT obsahuje atributy souboru: název ($FILE_NAME), standardní informace – časy, vlastník, příznaky ($STANDARD_INFORMATION), bezpečnostní deskriptor s ACL ($SECURITY_DESCRIPTOR), a data souboru ($DATA). Pro malé soubory jsou data uložena přímo v záznamu MFT (tzv. resident data) – disk se pak čte efektivněji, protože pro malé soubory stačí přečíst jen MFT bez dalšího hledání. Pro větší soubory záznam MFT obsahuje extenty – záznamy o tom, kde jsou data fyzicky na disku.

NTFS rezervuje prvních 16 MFT záznamů pro systémové soubory: $MFT (záznam 0, popis samotné MFT), $MFTMirr (záloha prvních 4 záznamů uložená uprostřed disku pro záchranné účely), $LogFile (žurnál operací), $Volume (informace o svazku – jméno, verze NTFS), $AttrDef (definice atributů), $Bitmap (bitmapa volných clusterů – každý bit označuje volný nebo obsazený cluster), $Boot (zaváděcí sektor svazku).

Co je cluster v kontextu NTFS?Cluster je nejmenší alokační jednotka NTFS – skupina sektorů, se kterou FS pracuje najednou. Výchozí velikost clusteru závisí na velikosti svazku: pro svazky do 512 MB je to 512 B, do 1 GB je to 1 KB, do 2 GB je to 2 KB, nad 2 GB je to standardně 4 KB. Větší clustery zrychlují přístup k velkým souborům, ale zvyšují vnitřní fragmentaci u malých souborů.

2. MBR, GPT – dělení disku na oddíly a souvislost s instalací OS

Ještě před tím, než na disku vůbec existuje souborový systém, musí být disk rozdělen do oddílů (partitions). Oddíl je logicky oddělená oblast disku, se kterou OS pracuje jako se samostatnou jednotkou. Rozdělení disku má praktické důvody: oddělení systémového disku od dat chrání soubory při reinstalaci Windows, umožňuje mít více OS na jednom disku, různé souborové systémy na různých částech disku.

Informace o tom, jak je disk rozdělen – kde začíná a končí každý oddíl – je uložena v tabulce oddílů (partition table). Pro tento účel existují dva standardy: starý MBR a moderní GPT.

2.1 MBR – Master Boot Record

MBR (Master Boot Record) je historicky první standard pro ukládání tabulky oddílů. Zaujímá vždy první sektor disku (LBA 0, fyzicky CHS 0-0-1) a má pevnou velikost 512 bajtů. Je rozdělen do tří logických částí.

Bootstrap kód (offsety 0–445, celkem 446 bajtů) je malý program v assembleru, který se spustí jako první po zapnutí počítače při BIOSovém startu. Jeho úkolem je najít v PAT aktivní (bootovatelný) oddíl a předat řízení jeho zaváděcímu sektoru (Volume Boot Record). Bez tohoto kódu by BIOS nevěděl, jak spustit OS.

Tabulka oddílů PAT (offsety 446–509, celkem 64 bajtů) obsahuje přesně 4 záznamy po 16 bajtech. Každý záznam popisuje jeden oddíl. Podrobnou strukturu PAT probereme v kapitole 3.

Podpisová sekvence (offsety 510–511, 2 bajty) je hodnota 0x55AA. BIOS tento podpis ověřuje – pokud není přítomen, odmítne sektor uznat jako MBR a zahlásí chybu "No bootable device".

Limity MBR a proč je dnes zastaralýMBR používá 32bitové LBA adresy – maximálně 2³² sektorů po 512 bajtech = 2 TiB. Disky nad 2 TiB jsou pro MBR neviditelné. Navíc tabulka PAT má místo pouze pro 4 záznamy – maximálně 4 primární oddíly (nebo 3 primární + 1 rozšířená oblast s logickými oddíly). Při instalaci Windows na MBR disk vytvoří instalátor: System Reserved oddíl (~100–500 MB) s BCD a bootmgr, systémový oddíl C: a volitelně Recovery oddíl. MBR je kompatibilní s legacy BIOS nebo UEFI v CSM módu.

2.2 GPT – GUID Partition Table

GPT (GUID Partition Table) je moderní standard tabulky oddílů definovaný jako součást specifikace UEFI. Byl navržen jako přímá náhrada MBR a odstraňuje všechna jeho omezení.

Název pochází od GUID (Globally Unique Identifier) – každý oddíl v GPT je identifikován 128bitovým unikátním číslem, prakticky nezaměnitelným v celém vesmíru. GPT používá 64bitové LBA adresy (maximální kapacita disku 9,4 ZiB), podporuje až 128 oddílů bez rozšířených oblastí, má zdvojenou strukturu (primární GPT na začátku, záložní Secondary GPT na konci disku) a používá CRC32 kontrolní součty pro ověření integrity.

GUID Partition Table Scheme: LBA 0 = Protective MBR (pro zpätnou kompatibilitu). LBA 1 = Primary GPT Header s CRC32 kontrolnimi soucty. LBA 2–33 = 128 zaznamu oddilu. Datove oddily jsou uprostred disku. Na konci disku je zrcadlova zaloha: Secondary GPT entries (LBA −33 az −2) a Secondary GPT Header (LBA −1) pro opravu pri poskozeni.GUID Partition Table Scheme: LBA 0 = Protective MBR (pro zpätnou kompatibilitu). LBA 1 = Primary GPT Header s CRC32 kontrolnimi soucty. LBA 2–33 = 128 zaznamu oddilu. Datove oddily jsou uprostred disku. Na konci disku je zrcadlova zaloha: Secondary GPT entries (LBA −33 az −2) a Secondary GPT Header (LBA −1) pro opravu pri poskozeni.

Na LBA 0 je uložen Protective MBR – speciální záznam, který označuje celý disk jako jeden MBR oddíl neznámého typu 0xEE. Chrání disk před starým softwarem, který nerozumí GPT – starý software vidí disk jako plně obsazený a nepokusí se ho přepsat. Bez Protective MBR by viděl disk bez tabulky oddílů a mohl by ho omylem inicializovat.

GPT a instalace WindowsWindows 11 (i Windows 10 64bit v UEFI módu) vyžaduje GPT disk. Při čisté instalaci vytvoří instalátor: EFI System Partition (~100 MB, FAT32) s bootloadery, MSR (Microsoft Reserved Partition, ~16 MB) pro interní potřeby Windows, systémový oddíl C: s NTFS, a Recovery oddíl (~500 MB). GPT vyžaduje čistý UEFI bez CSM pro plnou funkčnost Secure Boot a TPM 2.0.

3. Struktura a popis PAT a EPT

Pokud chceme opravdu pochopit, jak MBR disk "ví" o svých oddílech, musíme se podívat na struktury uvnitř prvního sektoru – PAT a EPT. Tyto struktury jsou vizualizovány v diagramech ze školních materiálů a je důležité umět je číst a interpretovat.

3.1 PAT – Partition Table (tabulka oddílů v MBR)

PAT (Partition Table) je 64bajtová oblast v MBR (offset 446), rozdělená na přesně 4 záznamy po 16 bajtech. Každý záznam popisuje jeden primární oddíl nebo je prázdný (nulový). Struktura jednoho 16bajtového záznamu:

OffsetDélkaObsahPopis
01 BStatus / Boot flag0x80 = aktivní (bootovatelný oddíl), 0x00 = neaktivní. Jen jeden oddíl smí mít příznak 0x80.
1–33 BCHS StartAdresa prvního sektoru v CHS formátu. V praxi ignorováno moderním OS.
41 BTyp oddílu0x07 = NTFS/exFAT, 0x0B = FAT32, 0x05/0x0F = rozšířená oblast, 0x82 = Linux swap
5–73 BCHS EndAdresa posledního sektoru v CHS. Zpravidla ignorováno.
8–114 BLBA StartKlíčová hodnota – LBA adresa prvního sektoru oddílu. Používají ji moderní OS.
12–154 BPočet sektorůCelkový počet sektorů oddílu. Spolu s LBA Start určuje rozsah oddílu.

Přestože PAT obsahuje CHS hodnoty, moderní OS pracuje výhradně s LBA Start a počtem sektorů. CHS hodnoty jsou reliktem minulosti přítomným jen pro zpětnou kompatibilitu se starým BIOSem.

Diagram 3 primarnich oddilu na MBR disku (800 cylindru): C: (0–200), D: (201–400), E: (401–800). MBR na CHS 0-0-1 drzi PAT se 3 zaznamy. Boot priznak Y je u oddilu C:, ktery obsahuje zavedec OS. Tabulka PAT vlevo dole ukazuje Start a End CHS pro kazdy oddil.Diagram 3 primarnich oddilu na MBR disku (800 cylindru): C: (0–200), D: (201–400), E: (401–800). MBR na CHS 0-0-1 drzi PAT se 3 zaznamy. Boot priznak Y je u oddilu C:, ktery obsahuje zavedec OS. Tabulka PAT vlevo dole ukazuje Start a End CHS pro kazdy oddil.

Na výše uvedeném diagramu vidíme příklad disku se třemi primárními oddíly. Disk má 800 cylindrů. PAT v MBR (na adrese CHS 0-0-1) obsahuje 3 záznamy. Oddíl C: začíná na cylindru 0, hlava 1, sektor 1 (přičemž hlava 0 je obsazena MBR) a končí na cylindru 200. Oddíl D: obsazuje cylindry 201–400, oddíl E: cylindry 401–800. Červená šipka v diagramu označuje záznam s příznakem Boot=Y – C: je aktivní oddíl, odtud bude zaveden OS.

3.2 EPT – Extended Partition Table (rozšířená tabulka oddílů)

Čtyři záznamy v PAT jsou pro moderní disky nedostatečné. Pokud chceme více než 4 oddíly, řešením je rozšířená oblast (Extended Partition). Místo primárního oddílu lze v PAT vytvořit záznam s typem 0x05 nebo 0x0F, který označuje rozšířenou oblast. Tato oblast může obsahovat libovolné množství logických oddílů, které jsou popsány zřetězeným seznamem EPT (Extended Partition Table) záznamů.

Princip EPT je jako zřetězený seznam (linked list): na začátku každého logického oddílu uvnitř rozšířené oblasti je malý (512bajtový) sektor nazývaný EBR (Extended Boot Record). Tento sektor obsahuje tabulku s přesně dvěma záznamy: první popisuje daný logický oddíl (kde začíná a jak je velký), druhý ukazuje na adresu dalšího EBR v pořadí. Pokud je druhý záznam prázdný, jsme na konci řetězce. Tímto způsobem lze řetězit libovolné množství logických oddílů.

Disk s rozsirenou oblasti a prvnim EPT: C: je primarni (0–200), D: je logicky uvnitr rozsirene oblasti (201–400), E: je primarni (401–800). PAT v MBR ma zaznam typu Ext pro rozsirenou oblast. 1. EPT na CHS 201-0-1 popisuje logicky oddil D:. Sipky ilustruji retezeni EPT struktur. Tabulka vpravo nahorere ukazuje obsah 1. EPT.Disk s rozsirenou oblasti a prvnim EPT: C: je primarni (0–200), D: je logicky uvnitr rozsirene oblasti (201–400), E: je primarni (401–800). PAT v MBR ma zaznam typu Ext pro rozsirenou oblast. 1. EPT na CHS 201-0-1 popisuje logicky oddil D:. Sipky ilustruji retezeni EPT struktur. Tabulka vpravo nahorere ukazuje obsah 1. EPT.

Na diagramu 1. EPT vidíme disk, kde je primární oddíl C:, logický oddíl D: uvnitř rozšířené oblasti a primární oddíl E:. PAT v MBR ukazuje typ Ext pro rozšířenou oblast. 1. EPT leží na adrese CHS 201-0-1 a popisuje logický oddíl D: s rozsahem CHS 201-1-1 až 400-3-63. Fialová šipka ukazuje propojení z PAT na EPT.

Kompletni diagram se dvema EPT zaznamy: rozsirena oblast obsahuje D: (201–400) a E: (401–800). PAT (dole) ma zaznam Prim pro C: a zaznam Ext pro celou rozsirenou oblast 201–800. 1. EPT popisuje D: a odkazuje na 2. EPT (adresa 401-0-1). 2. EPT popisuje E:, druhy zaznam je prazdny (konec reteze). Vzajemne sipky ukazuji retezeni.Kompletni diagram se dvema EPT zaznamy: rozsirena oblast obsahuje D: (201–400) a E: (401–800). PAT (dole) ma zaznam Prim pro C: a zaznam Ext pro celou rozsirenou oblast 201–800. 1. EPT popisuje D: a odkazuje na 2. EPT (adresa 401-0-1). 2. EPT popisuje E:, druhy zaznam je prazdny (konec reteze). Vzajemne sipky ukazuji retezeni.

Na diagramu 2. EPT vidíme kompletní příklad se dvěma logickými oddíly v rozšířené oblasti. PAT má pouze 2 záznamy: Prim (C:, cylindry 0–200) a Ext (rozšířená oblast, cylindry 201–800). 1. EPT popisuje D: a obsahuje odkaz na adresu 2. EPT (cylindr 401-0-1). 2. EPT popisuje E: a druhý záznam je prázdný – konec řetězu. Tímto způsobem může rozšířená oblast obsahovat desítky logických oddílů.

Proč dnes EPT prakticky nepoužívámeS přechodem na GPT jsou EPT a rozšířené oblasti zbytečné. GPT podporuje 128 oddílů přímo v hlavní tabulce bez nutnosti EPT řetězce. Rozšířené oblasti a EPT jsou výhradně MBR záležitostí zachovanou kvůli kompatibilitě se starším softwarem. Při nové instalaci Windows na moderní hardware vždy volte GPT.

4. Programy pro správu disků

Správa oddílů – vytváření, mazání, změna velikosti, formátování, přesun, záloha – vyžaduje specializované nástroje. Existují jak nástroje přímo integrované v Windows, tak nástroje třetích stran.

4.1 Vestavěné nástroje Windows

Správa disků (diskmgmt.msc)

Grafický nástroj Windows dostupný přes pravý klik na Start → Správa disků. Umožňuje vytvářet, mazat a formátovat oddíly, měnit přiřazení písmen jednotek, inicializovat nové disky (výběr MBR nebo GPT) a převádět základní disky na dynamické. Nevýhoda: neumí měnit velikost systémového oddílu za běhu bez restartu a neobsahuje funkce jako klonování disku.

DiskPart (příkazový řádek)

Diskpart je výkonný nástroj příkazového řádku pro správu disků. Spouští se jako správce příkazem diskpart. Umí vše co grafická Správa disků, a navíc: convert gpt nebo convert mbr pro převod stylu disku (pozor: maže data!), clean pro kompletní vymazání tabulky oddílů, extend nebo shrink pro změnu velikosti oddílu, práci s VHD/VHDX virtuálními disky. Je nezbytný při instalaci Windows z příkazové řádky nebo při opravách systému z WinPE prostředí.

4.2 Acronis Disk Director

Acronis Disk Director je komerční správce diskových oddílů od firmy Acronis. Jeho klíčové funkce: nedestruktivní změna velikosti oddílů (data jsou zachována), klonování disků (přesná kopie jednoho disku na druhý – nezbytné při výměně disku za větší SSD), záchrana dat ze smazaných nebo poškozených oddílů, záchranné médium (bootovatelný USB nebo CD pro práci s offline systémem), správa MBR i GPT, konverze mezi souborovými systémy. Při operacích se systémovým diskem pracuje v restart-mode – operace se dokončí při příštím spuštění počítače.

4.3 Paragon Partition Manager

Paragon Partition Manager je přímý konkurent Acronis od firmy Paragon Software. Nabízí velmi podobné funkce: nedestruktivní resize oddílů, klonování a migrace OS (včetně migrace fyzický PC na virtuální VM a naopak), konverze MBR na GPT bez ztráty dat (klíčová funkce pro přechod na Windows 11!), podpora BitLocker šifrovaných oddílů, bootovatelné záchranné médium. Paragon je oblíbený zejména pro funkci konverze MBR na GPT, která je kritická při přechodu ze staršího systému na moderní UEFI Windows 11.

4.4 GParted a další

GParted (GNOME Partition Editor) je bezplatný open-source správce oddílů dostupný jako bootovatelné LiveCD nebo USB. Podporuje NTFS, FAT, ext4 a desítky dalších souborových systémů, umí resize, move, create, delete, check oddílů bez spuštěného Windows. Je standardním nástrojem pro záchranné operace. EaseUS Partition Master je populární freeware alternativa s grafickým rozhraním pro Windows, vhodná pro méně technicky zdatné uživatele.

5. EFI System Partition – vznik, obsah, souvislost s bootováním a instalací

ESP (EFI System Partition) je speciální oddíl na GPT disku, který hraje klíčovou roli při UEFI bootování. Abychom ji správně pochopili, musíme nejprve vysvětlit, proč UEFI přistupuje k bootování jinak než starý BIOS.

5.1 Proč ESP vůbec existuje?

Starý BIOS měl bootovací logiku extrémně jednoduchou: najdi MBR (první sektor disku), spusť bootstrap kód. Bootloader byl skrytý v záhadných sektorech mimo souborový systém. UEFI přineslo radikálně odlišný přístup: firmware UEFI sám umí číst souborový systém FAT32 a hledat v něm soubory bootloaderů. Tím odpadla nutnost bootstrap kódu ve fixních sektorech. UEFI si pamatuje cesty k bootloaderům v proměnných (NVRAM), přes které lze přesně řídit, který OS se spustí.

ESP je oddíl naformátovaný jako FAT32 – toto je dáno standardem UEFI, protože FAT32 je jednoduché, robustní a všechny UEFI implementace ho umí číst. Typ oddílu v GPT tabulce je označen speciálním GUID. Doporučená velikost ESP je 100 MB až 260 MB (Windows Setup vytváří 100 nebo 260 MB; pro více OS je doporučeno 500 MB a více).

5.2 Co ESP obsahuje

ESP má standardizovanou adresářovou strukturu. Kořenový adresář EFI obsahuje podadresáře pro každý OS nebo bootloader:

Co je BCD (Boot Configuration Data)?BCD je binární databáze (Registry-like formát), která nahradila starý boot.ini soubor z Windows XP. Obsahuje: seznam operačních systémů k výběru při bootu, timeout pro automatický výběr, výchozí OS, cestu k Windows oddílu, nastavení debug módu. BCD se edituje nástrojem bcdedit z příkazové řádky jako správce nebo graficky přes msconfig. Poškozený BCD způsobí, že Windows se nespustí – oprava je přes bootrec /rebuildbcd z instalačního USB.

5.3 Jak vzniká ESP při instalaci Windows

Při instalaci Windows 10/11 na čistý GPT disk se ESP vytvoří automaticky jako první oddíl. Instalátor: inicializuje disk jako GPT, vytvoří ESP (výchozí 100 MB, FAT32), vytvoří MSR oddíl (Microsoft Reserved Partition, 16 MB, bez FS – pro interní potřeby Windows), vytvoří systémový oddíl C: s NTFS, zkopíruje do ESP bootloader bootmgfw.efi a vytvoří BCD databázi, zaregistruje bootloader v UEFI NVRAM jako nový boot záznam "Windows Boot Manager". Po instalaci UEFI firmware při každém startu najde cestu \EFI\Microsoft\Boot\bootmgfw.efi na ESP a spustí Windows Boot Manager.

6. BIOS a UEFI – rozdíly při bootování

Aby bylo jasné, proč GPT, ESP a celá moderní bootovací infrastruktura existují, je třeba pochopit zásadní rozdíl mezi starým BIOS (Basic Input/Output System) a moderním UEFI (Unified Extensible Firmware Interface).

6.1 BIOS – historický základ

BIOS je firmware zabudovaný do základní desky (dnes v Flash paměti). Vznikl v roce 1975 a byl kodifikován pro IBM PC v roce 1981. Přestože prošel evolucí, základní architektura zůstala nezměněna 40 let. Při zapnutí počítače BIOS provede POST (Power-On Self Test) – diagnostiku hardware: testuje RAM, zkontroluje přítomnost CPU a základní periferie. Pokud POST uspěje, BIOS prohledá bootovací zařízení v nakonfigurovaném pořadí (pevný disk, DVD, USB) a přečte MBR (LBA 0), ověří podpis 0x55AA, zkopíruje 512 bajtů do paměti na adresu 0x7C00 a předá řízení bootstrap kódu.

BIOS operuje v 16bitovém reálném módu (Real Mode) – omezení z éry Intel 8086. To znamená, že kód bootloaderu, který BIOS spustí, musí nejdříve přepnout procesor do 32bitového nebo 64bitového chráněného módu, než může adresovat více než 1 MB paměti. Tento přechod je zdrojem mnoha komplikací a omezení.

6.2 UEFI – moderní firmware

UEFI (Unified Extensible Firmware Interface) byl vyvinut firmou Intel jako odpověď na limity BIOSu. Původně se jmenoval EFI a byl vyvíjen pro platformu Itanium v 90. letech. V roce 2007 vzniklo konsorcium UEFI Forum a standard byl otevřen pro celý průmysl. Dnes je UEFI standardem na všech moderních počítačích.

UEFI operuje v 32bitovém nebo 64bitovém chráněném módu od prvního okamžiku – bez nutnosti přepínat. Má vlastní modulární architekturu: je psáno v jazyce C (ne assembleru), používá stekovatelné EFI ovladače pro hardware, má vlastní souborový systém (ESP / FAT32), vlastní síťový stack (PXE, HTTP boot) a grafický framebuffer pro GUI rozhraní.

Průběh UEFI bootování (fáze)

SEC (Security Phase) – nejranější fáze: spuštění procesoru, inicializace cache jako dočasné RAM (Cache as RAM, bez skutečné RAM ještě), ověření integrity firmware. PEI (Pre-EFI Initialization) – inicializace RAM (XMP profily, SPD data), inicializace čipsetu. DXE (Driver Execution Environment) – načítání EFI ovladačů pro všechna zařízení: disky, síťové karty, grafika, tato fáze umožňuje GPU inicializaci pro grafické UEFI rozhraní. BDS (Boot Device Selection) – UEFI čte seznam boot záznamů z NVRAM, lokalizuje ESP na každém disku (hledá oddíl s EFI System GUID), spustí registrované bootloadery v nastaveném pořadí. OS Loader – UEFI předá řízení bootloaderu (bootmgfw.efi), který spustí Windows kernel.

VlastnostBIOS (Legacy)UEFI
Architektura16bitový Real Mode32/64bitový Protected/Long Mode
RozhraníTextové (ASCII)Grafické GUI s myší
Tabulka oddílůMBR (max. 2 TiB, 4 oddíly)GPT (max. 9,4 ZiB, 128 oddílů)
BootloaderPevný kód v MBR (512 B)Soubory .efi na FAT32 ESP
Bootovací záznamyBoot flag v PATProměnné v NVRAM
ZabezpečeníŽádnéSecure Boot, TPM integrace
Rychlost POSTPomalejšíRychlejší (Fast Boot, optimalizace)
Podpora Windows 11Pouze přes CSM (omezená)Plná podpora
Co je CSM (Compatibility Support Module)?CSM je modul v UEFI firmware, který emuluje chování starého BIOSu a umožňuje bootovat operační systémy navržené pro BIOS (starší Windows, Linux bez UEFI podpory) i na moderních deskách s UEFI. Pokud je CSM zapnut, nemusí správně fungovat Secure Boot ani TPM 2.0 v plném rozsahu. Windows 11 a moderní hardware doporučují CSM zcela vypnout.

7. Secure Boot a TPM – popis a princip fungování

7.1 Secure Boot

Secure Boot je bezpečnostní funkce UEFI standardu, která zajišťuje, že počítač při startu spustí pouze důvěryhodný (kryptograficky podepsaný) software. Jejím primárním cílem je ochrana před bootkity a rootkity – škodlivým softwarem, který se instaluje do bootovacího procesu ještě před načtením OS, a je proto extrémně obtížně detekovatelný a odstraňovatelný.

Princip fungování Secure Boot – klíče a databáze

Secure Boot funguje na principu asymetrické kryptografie a digitálních podpisů. V UEFI firmware jsou uloženy tzv. klíče databáze. PK (Platform Key) je kořenový klíč platformy, obvykle patří výrobci základní desky a podepisuje KEK. KEK (Key Exchange Key) je klíč pro aktualizaci ostatních databází, obvykle patří Microsoftu a výrobci desky. db (Signature Database) je databáze povolených podpisů a hashů – obsahuje veřejné klíče, jejichž privátní části podepisují bootloadery Microsoftu, Linuxu (shim), ovladačů. dbx (Forbidden Signature Database) je blacklist zakázaných podpisů – sem se přidávají kompromitované nebo revokované klíče; firmware odmítne spustit software podepsaný klíčem v dbx, i kdyby byl v db.

Průběh ověření: UEFI načte bootloader (soubor .efi) z ESP. Vypočítá jeho hash a ověří jeho digitální podpis vůči db databázi. Pokud podpis odpovídá záznamu v db a není v dbx, spustí bootloader. Bootloader pak sám ověří jádro OS a jádro OS ověří ovladače. Tímto způsobem vznikne Chain of Trust (řetěz důvěry) – každý článek ověří následující od firmware až po OS. Pokud by útočník pozměnil bootloader (bootkit), jeho podpis by neodpovídal db a UEFI odmítne spuštění.

Secure Boot, Linux a Windows 11Linux zpočátku nebyl podepsán Microsoftem. Řešením je shim – malý, Microsoftem podepsaný bootloader, který pak sám ověří a spustí GRUB nebo systemd-boot. Distribuce jako Ubuntu, Fedora nebo openSUSE mají vlastní shim a fungují se Secure Boot zapnutým. Windows 11 vyžaduje Secure Boot jako podmínku pro instalaci – je součástí bezpečnostního konceptu Secured-core PC, který spolu s TPM 2.0 chrání před podvrženým firmware, bootkity a rootkity.

7.2 TPM – Trusted Platform Module

TPM (Trusted Platform Module) je bezpečnostní koprocesor – speciální čip nebo firmware, integrovaný přímo do základní desky (TPM 2.0 je běžně součástí Intel ME nebo AMD PSP), nebo jako samostatný čip na speciálním TPM konektoru základní desky. TPM implementuje specifikaci Trusted Computing Group (TCG) a je normalizován standardem ISO/IEC 11889.

Co TPM fyzicky je

TPM je hardwarový nebo firmwarový modul s vlastním procesorem, pamětí a generátorem náhodných čísel. Má trvalou (non-volatile) paměť pro ukládání kryptografických klíčů a Platform Configuration Registers (PCR) – sada registrů obsahujících hashe konfigurací systému.

Princip fungování TPM – PCR měření a Sealed Storage

Klíčový koncept TPM je měření (measurement). Při bootu TPM postupně měří (hashuje) každou komponentu bootovacího řetězce: firmware UEFI, konfiguraci UEFI, bootloader, jádro OS. Výsledky hashů se ukládají do PCR registrů metodou extend: nový PCR = SHA-256(starý PCR || nová hodnota). Výsledek v PCR závisí na celé historii měření – jakákoliv změna kdekoliv v řetězci změní PCR hodnotu.

Tato vlastnost umožňuje sealed storage (zapečetěné úložiště): TPM může uchovávat klíče (například klíč pro BitLocker) zapečetěné k určitým hodnotám PCR. Klíč je vydán pouze tehdy, když aktuální PCR hodnoty odpovídají hodnotám při zapečetění. Pokud útočník změní bootloader (malware), PCR hodnota se změní, TPM odmítne vydat klíč a BitLocker disk zůstane zašifrovaný – útočník nemá přístup k datům.

Hlavní využití TPM

BitLocker je nejznámějším uživatelem TPM. BitLocker šifruje celý oddíl symetrickým klíčem FVEK (Full Volume Encryption Key), který je uložen zašifrovaný v TPM. Při každém startu TPM ověří, že PCR hodnoty odpovídají (systém nebyl manipulován) a vydá FVEK. Disk se transparentně dešifruje. Bez TPM by byl FVEK buď uložen nezabezpečeně, nebo by vyžadoval PIN při každém startu.

Windows Hello – biometrické přihlašování (obličej, otisk prstu). Biometrické šablony a privátní klíče jsou uloženy v TPM, odkud je nelze extrahovat. Platform Attestation – vzdálené ověření integrity systému pro enterprise správu v Zero Trust architektuře. Generátor náhodných čísel – TPM obsahuje hardwarový True Random Number Generator (TRNG) pro kryptografické operace.

VlastnostTPM 1.2TPM 2.0
AlgoritmySHA-1, RSASHA-256, AES, ECC, RSA – plná kryptografická agility
PCR registry24 registrů (SHA-1)24+ registrů (SHA-256, více bank)
RozhraníLPC sběrniceLPC, SPI nebo fTPM (firmware)
Windows 11 požadavekNe (nestačí)Ano – povinný
fTPM – TPM ve firmware procesorůModerní procesory Intel (PTT – Platform Trust Technology) a AMD (fTPM) implementují TPM 2.0 přímo ve firmware – není nutný fyzický TPM čip. fTPM běží v izolované bezpečné enkláve (Intel Management Engine nebo AMD PSP). Windows 11 akceptuje fTPM stejně jako fyzický čip. Aktivace: Intel → hledat "PTT" nebo "Platform Trust Technology" v BIOS/UEFI, AMD → hledat "fTPM switch" nebo "AMD CPU fTPM".