Po co nam to całe GPT? Oraz parę słów o UEFI i Secure Boot

Strona główna Aktualności
Po co nam to całe GPT (fot.  Hebi B., Pixabay)
Po co nam to całe GPT (fot. Hebi B., Pixabay)

O autorze

Na forum dobrychprogramów regularnie rozwiązywane są problemy użytkowników związane z instalacją systemu Windows na "czystym komputerze". W większości przypadków, nasza społeczność skutecznie pomaga w rozwiązaniu ich, choć sugerowane rozwiązania bywają nietypowe. Jedną z częstszych sugestii, głównie w celach diagnostycznych, jest wyłączenie startu (boot) w trybie UEFI i przełączenie go w tryb BIOS ("legacy only").

Przejście w tryb Legacy Only istotnie może doraźnie pomóc, ale warto wiedzieć, jakie są konsekwencje tego kroku. Te z kolei są często nieznane lub mylone z efektami wyłączenia innej opcji, jaką jest Secure Boot. Funkcje te, choć związane ze sobą dość mocno, są rozłączne. Sprawie nie pomaga fakt, że specyfikacja UEFI jest olbrzymia, ale jakimś cudem dalej nie dość szczegółowa. Nie bez znaczenia jest także to, że Forum UEFI jest w zasadzie martwe, a wokół Secure Boot narosło mnóstwo mitów i złej prasy, z którymi nikt aktywnie nie walczy.

Instalacja systemu nie powinna polegać na losowym wybieraniu funkcji aż do momentu, w którym komputer łaskawie umożliwi przeprowadzenie jakiejkolwiek kompletnej instalacji Windows 10 z pendrive'a. Warto bowiem rozumieć swój sprzęt oraz liczyć się z konsekwencjami obniżenia poziomu bezpieczeństwa w przypadku niekorzystania z rozwiązania UEFI + Secure Boot + GPT. Dlatego rozwiejmy kilka wątpliwości i ujmijmy potrzebne wiadomości w jednym miejscu. Nie są one wiedzą tajemną, ale czasem na początku nie wiadomo nawet czego szukać, a nie jak to znaleźć!

BIOS i MBR

W klasycznym komputerze PC, pierwszym kodem wykonywanym przez procesor jest BIOS. Tu istotna uwaga: nie należy mylić BIOS-u z programem SETUP, jakim jest środowisko konfiguracji ustawień. "Zmienić coś w BIOS-ie" oznacza przestawienie jakiejś zmiennej w kodzie BIOS-u za pomocą programu SETUP. BIOS należy uznać za firmware peceta, dzięki czemu rozumie on swoje magistrale, przydziela zasoby dla urządzeń i przeprowadza rozruch z nośników danych. BIOS jest ograniczony w rozmiarze i dostarcza jedynie podstawy podstaw.

Po odpytaniu i "zrozumieniu" urządzeń, pecet wie jak rozmawiać z nośnikami, odpytuje je więc, liniowo, o pierwsze 512 bajtów, czyli główny wpis rozruchowy (Master Boot Record, MBR). Wpis ten zawiera podstawowy opis geometrii dysku, podział na partycje oraz mikroskopijny program, którym jest boot loader: menedżer uruchamiania systemu. Informuje on, w jaki sposób załadować zainstalowany system. W praktyce polega to najpierw na załadowaniu bardziej rozbudowanego menedżera rozruchu, a nie systemu. Dlatego poza MBR potrzebny jest też właściwy loader.

Wszystkie systemy operacyjne potrafią zainstalować się w trybie MBR. Przez "instalację w trybie MBR" rozumiemy BIOS ustawiony w tryb Legacy oraz dysk twardy zainicjalizowany w geometrii MBR. Jeżeli nasz nośnik instalacyjny jest nośnikiem "nierozumiejącym" UEFI, bez przełączenia BIOS-u w tryb Legacy, komputer z niego nie wystartuje. Tryb Legacy należy więc włączać jedynie wtedy, gdy instalowany system nie obsługuje UEFI, obsługuje go bardzo błędnie lub gdy potrzebujemy instalacji nieużywającej GPT. Ale czym jest GPT?

UEFI i GPT

Kod MBR, ze względu na swój skromny rozmiar i konieczność podtrzymywania zgodności, może opisywać jedynie ograniczony zbiór konfiguracji dyskowych. Dysk MBR może mieć maksymalnie cztery partycje (każda kolejna to chytre oszustwo), a ich rozmiar nie może przekroczyć dwóch terabajtów. Sam opis geometrii zakłada pewne cechy sprzętowe, które z biegiem lat przestały być aktualne. Potrzebny jest więc standard, który poradzi sobie z tym lepiej.

Tym standardem jest GPT, standardem niestety bardzo skomplikowanym. Definiuje on geometrie dysków o olbrzymich rozmiarach, pozwala na tworzenie większej liczby partycji, oferuje więcej flag, którymi można je oznaczać, stosuje unikatowe identyfikatory (GUID, stąd nazwa: GUID Partition Table, GPT) i oferuje dedykowaną partycję na menedżery rozruchu. Jest nią specjalna partycja ESP, o systemie plików FAT32 i specjalnej fladze. Jej przeznaczeniem jest przechowywanie menedżerów ładowania dla zainstalowanych systemów.

W przeciwieństwie do kodu MBR, który musi być zapisany w pierwszym sektorze, menedżery ładowania na dyskach GPT to zwyczajne pliki. Są to binarne zbiory firmware'ów UEFI, działające w mini-środowisku uruchomieniowym, jakie oferuje system UEFI. Choć małe, jest nieskończonym awansem względem BIOS-u, który nie oferuje niemal nic, a uruchamiany kod to żywy kod maszynowy.

Systemy oparte o UEFI nie mogą być "przełączone w tryb BIOS". Kodem, który budzi sprzęt i zarządza ustrojem PC jest w całości UEFI, kod BIOS nie istnieje. Efektem włączenia opcji "UEFI+Legacy" lub "Legacy Only" jest jedynie uruchomienie warstwy zgodności z BIOS, o nazwie CSM. Warstwa ta udaje przed systemami nierozumiejącymi UEFI i GPT, że komputer na którym działają jest klasycznym pecetem. W tym trybie możliwe jest startowanie systemów zainstalowanych z MBR.

Konsekwencje

Aby móc używać dużych dysków twardych oraz korzystać z opcji wiarygodnego szyfrowania dysków i zabezpieczenia menedżera rozruchu przed wirusami, należy zainstalować system w trybie UEFI, wyłączając jakikolwiek tryb Legacy. Nie jest to rzecz, którą "można zrobić później": jeżeli zainstalowaliśmy system w trybie BIOS na dysku MBR, przełączenie komputera w tryb pełnego UEFI na tym etapie sprawi, że sprzęt zgłosi brak zarejestrowanych menedżerów ładowania (nie ma żadnego dysku z partycją ESP).

Jeżeli w trybie UEFI komputer nie potrafi wystartować z pendrive'a instalacyjnego, powodów może być kilka. Po pierwsze, może stosować nieprawidłowy podział na partycje (ścisły MBR) lub niewłaściwy system plików (partycje rozruchowe muszą być zapisane w FAT32). Po drugie pendrive może nie znajdować się na liście urządzeń do odpytania. Wreszcie, mechanizm Secure Boot może blokować uruchamianie czegokolwiek poza podpisanym systemem znajdującym się na dysku twardym. Oczywiście, może to również być błąd w samym UEFI, które warto aktualizować.

Jeżeli instalator uruchomił się, ale nie pozwala się zainstalować na dysku, oznacza to, że uruchomił się w trybie UEFI, a dysk jest sformatowany jako MBR lub odwrotnie: w trybie BIOS, ale dysk to GPT. W takim przypadku należy wyzerować dysk z poziomu "Napraw ten komputer" i narzędzia DISKPART i założyć na nim partycje od nowa. Ewentualnie spróbować konwersji MBR do GPT.

Secure Boot

Instalacja systemu w trybie UEFI nie jest (jeszcze) obowiązkowa. Windows raczej nie porwie się na to ze względu na zgodność, prędzej nastąpi to wskutek przymusu ze strony Intela. Od kilku lat mówi się, że "przyszłe" płyty główne nie będą już zawierały modułu CSM symulującego zgodność z interfejsem BIOS. UEFI jest jednak potrzebne jeżeli chcemy skorzystać z Secure Boot.

Mechanizm ten jest potocznie uważany za metodę powstrzymania Linuksa przed możliwością instalowania go na pecetach. Dlatego "należy go wyłączyć". Tymczasem Secure Boot jest problemem tylko wtedy, gdy jego wyłączenie jest niemożliwe. Jeżeli mamy kontrolę nad stanem Secure Boot, jest on bardzo pożądanym narzędziem.

Dzięki Secure Boot nie jest możliwe wystartowanie komputera za pomocą podmienionego, niepodpisanego menedżera ładowania. Chroni to przed złośliwym oprogramowaniem. Jeżeli jakiś podpisany menedżer okaże się być przejęty, Forum UEFI wydaje listę odwoławczą, która skreśla go z listy zaufanych. Przynajmniej w teorii. W praktyce Forum jest martwe (nie odpowiada nawet na nasze maile), ale listę odwoławczą i tak dostarczają twórcy sprzętu.

Wskazana jest zatem regularna aktualizacja BIOS-u. Producenci nie wywiązują się z tego obowiązku, często nie robią tego nawet ich "automatyczne" aktualizatory, a gdy robi to Microsoft, okresowo kończy się to draką w postaci pouszkadzanych menedżerów ładowania, bowiem fabryczne UEFI były tak stare/błędne, że próba ich poprawienia – psuła je.

Secure Boot ma więc zalety, choć czasem podważalna jest jego skuteczność, właśnie ze względu na podejście producentów i obawy użytkowników przed aktualizacją. Chroni jednak przed najbardziej ordynarnymi próbami ataku, stosowanymi "na szybko" przez chciwy ransomware. Uchronimy się dzięki temu przed pewną klasą ataku. Wszak to, że nasze domowe drzwi nie wytrzymają szturmu z użyciem granatnika przeciwpancernego Raketenpanzerbüchse 54/1 jeszcze nie jest powodem, by nie przekręcać zamka na noc.

Konkluzje

  • Pendrive'y instalacyjne systemów najlepiej tworzyć dedykowanymi narzędziami od twórców
  • Jeżeli jakiś pendrive się w tej roli nie sprawdził, o wiele rozsądniej jest go wyzerować (dd, DISKPART, Menedżer dysków...) i sformatować jako czysty FAT32 bez flag, niż sięgać po Rufusa czy inne cudowne eliksiry długowieczności
  • Aby wykorzystać sprzęt i system w pełni, należy wyłączyć tryb CSM i Legacy, a korzystać wyłącznie z UEFI. Można to jednak bezpiecznie zrobić wyłącznie przed instalacją systemu. Zmiana owego ustawienia później uniemożliwi uruchomienie. Jak słusznie zwrócił uwagę jeden z Czytelników, istnieje narzędzie mbr2gpt, służące do konwersji menedżera ładowania Windows. Obarczone jest niezerowym ryzykiem uszkodzenia układu partycji. Jego istnienie zapewnia jednak, w pewnym stopniu, odwracalność braku loadera dla UEFI
  • Secure Boot to przydatne zabezpieczenie. Najlepiej pozostawić je włączone po ukończeniu instalacji systemu, a podczas zakupy sprzętu kierować się tym, czy Secure Boot jest możliwe do wyłączenia (jeżeli planujemy też bardziej "hobbystyczne" wykorzystanie sprzętu)
  • Aktualizacja UEFI pozwala zapewnić wyższy poziom bezpieczeństwa, ze względu na listy odwoławcze Secure Boot oraz dziury w zabezpieczeniach Intel ME

Wybierz najlepsze sprzęty technologiczne tego roku i wygraj 5 tys. złotych! Wejdź na imperatory.wp.pl i zagłosuj.

© dobreprogramy
s