Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

O partycjach GPT i Advanced Format

23 Maj 2014 21:58 12627 6
  • Poziom 39  
    Witam.

    Jako że na elektrodzie mało jest szczegółowych informacji na ten temat, postanowiłem rozpocząć dyskusję na ten temat aby rozwiać wątpliwości oraz przekonania co do partycji GPT. Wolałbym ten temat w dziale "Komputery serwis" a nie "Komputery FAQ".

    Dlaczego GPT.

    Wady partycji MBR:
    - Ograniczenie pojemności partycji do 2 TiB (teoretycznie 16 TiB w dyskach 4Kn). Oznacza to że na dyskach twardych o pojemności większej niż 2TiB wymagane jest utworzenie dwóch partycji. Niektóre starsze systemy operacyjne mogą mieć kłopot z bootowaniem systemu umieszczonego na tak skonfigurowanych dyskach twardych (nie czytają powyżej 2 TiB), także z tym czy system jest zainstalowany na partycji podstawowej czy logicznej (w przypadku wielu systemów na jednym dysku). Także niektóre stare kontrolery SATA mogą mieć problem z obsługą dysków o pojemności powyżej 750 GB.
    - Ograniczenie do 4 partycji podstawowych (lub 3 partycje podstawowe i 1 partycja rozszerzona).

    Zalety wynikające z użycia partycji GPT:
    - Praktycznie brak ograniczeń co do pojemności dysku (limity rzędu eksabajtów).
    - Możliwość utworzenia do 128 partycji.
    - Brak utrudnień związanych z tworzeniem partycji rozszerzonych - po prostu w GPT występują wyłącznie partycje podstawowe.
    - Możliwość przypisania poszczególnym partycjom indywidualnych nazw (prócz etykiet dostępnych przez systemy plików), co ułatwia identyfikację poszczególnych partycji.

    Wady partycji GPT:
    - Nie jest zgodny ze wszystkimi systemami operacyjnymi rodziny Microsoft Windows (dostęp do danych począwszy od XP w wersji 64-bitowej).
    - Uruchamianie systemów operacyjnych rodziny Microsoft Windows (począwszy od Vista) na dyskach twardych z tablicą GPT wymaga komputera wyposażonego w system UEFI.

    * Systemy operacyjne rodziny Linux i FreeBSD mają możliwość uruchomienia systemu na komputerze wyposażonym zarówno w system UEFI jak i w stary BIOS - patrz "BIOS boot"

    Opis partycji GPT → wiki.

    Sektor LBA 0 - MBR.
    W dalszym ciągu MBR jest tworzony metodą tradycyjną, jednak wyłącznie w celu ochrony dysku przed nadpisaniem w przypadku użycia w systemie operacyjnym nieobsługującym GPT. Jest to tzw. ochronny MBR, który zawiera jedną partycję o rozmiarze całego dysku (ograniczone do 2 TiB w dyskach o większej pojemności), o typie EEh. Bootloader domyślnie nie jest tworzony.

    Sektor LBA 1 - nagłówek tablicy GPT.
    Zaczyna się od sygnatury "EFI PART", zawiera adresy LBA tego nagłówka GPT, zapasowego nagłówka GPT, początku i końca obszaru przeznaczonego dla partycji oraz numer unikalny GUID (UUID) dysku twardego. Dodatkowo nagłówek GPT zabezpieczony jest sumą kontrolną CRC32, zapisaną w tym samym obszarze nagłówka GPT. Przy tworzeniu tablicy partycji GPT tworzony jest także zapasowy nagłówek tablicy GPT oraz zapasowe wpisy partycji - zazwyczaj na samym końcu dysku.

    Sektory LBA 2-33 - wpisy partycji.
    Jeden wpis partycji zawiera typ partycji (numer GUID), unikalny numer partycji (UUID), adres LBA64 początku i końca partycji, atrybuty partycji oraz nazwę partycji (36 znaków w kodzie UTF-16). Jeden wpis partycji zajmuje 128 bajtów. Numery typu partycji (GUID) są praktycznie z góry ustalone przez system operacyjny, zależne od zastosowania - zastępuje on typ partycji stosowany w stylu partycji MBR, który miał wielkość jednego bajtu. Atrybuty partycji chyba nie są jeszcze wykorzystywane przez wszystkie systemy operacyjne.

    Dla zrozumienia zamieszczam załącznik z przykładową tablicą GPT (sektory 0-33) z bootloaderem BIOS Grub w MBR.

    Advanced Format.
    Dzięki GPT będą automatycznie wykrywane dyski 4Kn, jednak nie mam żadnych informacji na ten temat i co jak z powyższymi numerami LBA.
    Przy obecnych dyskach AF 512e (sektor 4k, emulacja sektora 512) nie ma konieczności specjalnego formatowania dysków, zarówno przy tablicy partycji MBR, ponieważ obecnie stosuje się wyrównanie do MiB. Pierwsza partycja zaczyna się od sektora LBA 2048 (czasami od 1024). Problemy z AF 512e wywołuje Windows XP i starsze systemy operacyjne które wyrównują do CHS - pierwszy sektor partycji od LBA 63, a nie od wyrównanego do 4k sektora LBA 64. Skutkuje to minimalnym obniżeniem wydajności dysku twardego.
    Pojawia się problem z przejściówkami USB-SATA w postaci nieprawidłowego rozpoznawania sektora 512e jako 4kn. Powoduje to że odczyt zawartości dysku podłączonego z przejściówką USB a podłączonym z kontrolerem SATA płyty głównej staje się niemożliwy przez nieprawidłowe odczytanie rozmiarów partycji oraz adresowania poszczególnych sektorów.

    Systemy operacyjne GNU/Linux.

    Do obsługi dysków z partycjami GPT służą narzędzia gdisk, parted oraz nakładka graficzna gparted. Przy korzystaniu z gparted praktycznie nie zauważa się różnic przy tworzeniu partycji w stosunku do MBR. Trzeba tylko zauważyć że stosowane jest wyrównanie do MiB - nie ma dzięki temu problemu z dyskami twardymi AF (512e). Partycje w Linuksie zaczynają się od sda1 (sdb1 itd.) w kolejności utworzenia (nie mamy zbytnio wpływu na ich kolejność), zalecane jest w przypadku montowania partycji korzystania z unikalnego numeru partycji UUID.
    Istnieją trzy możliwości instalacji systemu operacyjnego. → Link

    a) BIOS Boot.
    Wymagany jest bootloader Grub2 (grub-pc) oraz dodatkowa partycja BIOS Boot → Wiki. Ponieważ na dyskach MBR Grub instaluje się w wolnym miejscu pomiędzy MBR a pierwszą partycją, a w dyskach GPT obszar ten jest zajęty, trzeba zarezerwować wydzieloną partycję na obraz Gruba. Rozmiar partycji to minimum 32 kiB, lecz w przypadku gparted minimalny rozmiar to 1 MiB, należy wybrać brak systemu plików oraz flagę "BIOS_GRUB". Partycja ta otrzymuje we wpisie partycji numer GUID 21686148-6449-6E6F-744E-656564454649 (o treści "Hah!IdontNeedEFI"). Instalacja Grub2 przebiega automatycznie i nie trzeba dodatkowej konfiguracji. W MBR zostaje zapisany bootloader, na partycji BIOS Boot jądro Guba, a w katalogu /boot/grub/ reszta konfiguracji Gruba.

    b) UEFI Boot.
    Wymagany jest bootloader EFI (grub-efi) oraz partycja systemowa EFI → Wiki. Wymagania przy tworzeniu partycji systemowej EFI:
    - Zalecany rozmiar 100-250 MB, system plików FAT32. Moim zdaniem może być mniejszy, lecz z powodu ograniczeń FAT32 nie może być mniejszy niż 32 MiB i 256 MiB dla dysków 4Kn.
    - Włączona flaga "BOOT". Dodaje w chronionym MBR flagę "BOOT" oraz zmienia typ partycji na typ EFh.
    - Miejsce montowania /boot/efi.
    W przypadku istniejącej partycji systemowej EFI z Windows nie jest konieczne zakładanie nowej, wystarczy dodać miejsce montowania /boot/efi.
    Osobiście nie przetestowałem jeszcze tej metody, jednak przy instalacji np. Ubuntu 12.04 LTS nie powinno być żadnych problemów, jednak aby Ubuntu zainstalowało się z trybem bootowania UEFI, instalator Ubuntu musi być także uruchomiony w trybie UEFI.

    c) Secure Boot.
    Wymagania są podobne jak w przypadku bootowania przez UEFI, jednak dodatkowo wymaga podpisanego bootloadera, jądra oraz w przypadku dystrybucji Ubuntu pakietu shim który zawiera certyfikat od Microsoftu. Niestety w wersji 12.04 LTS funkcja Secure Boot nie działa, pojawiła się dopiero w 12.10. Obecna wersja 14.04 LTS działa prawidłowo w moim przypadku, jednak w na niektórych komputerach mogą być problemy z certyfikatem. Ubuntu posiada w tym celu bootloadery z własnym kluczem Canonical oraz kluczem Microsoft.

    Uwagi.
    Nie jest możliwe używanie bootowania BIOS oraz UEFI jednocześnie. Wynika to z konieczności przeinstalowywania GRUB-PC i GRUB-EFI. Istnieje jednak pewne obejście w postaci zainstalowania drugiego systemu Linuksowego w trybie BIOS na partycji GPT, z osobną partycją /boot i BIOS-GRUB.

    Systemy operacyjne Microsoft Windows.
    Obsługa dysków GPT w systemach Windows została opisana na stronie Wikipedii: →Wiki


    Dual Boot - Windows i Linux.
    Większość fabrycznie instalowanych systemów operacyjnych począwszy od Windows 8 jest instalowanych w systemie UEFI oraz Secure Boot, z tego powodu Linux musi być także zainstalowany w trybie UEFI.
    Jeżeli jednak systemy z rodziny Microsoft Windows zostały zainstalowane na tablicy MBR (np. przez zgodność z XP), Linux oczywiście instalowany jest w trybie BIOS na tablicy MBR.
    W przypadku włączonego Secure Boot rodzą się znaczne problemy z uruchomieniem innych systemów operacyjnych zgodnych z Secure Boot. Oczywiście zawsze jest możliwość zainstalowania Linuksa w zwykłym UEFI, lecz przełączanie pomiędzy systemami wymaga włączenia lub wyłączenia Secure Boot. Uruchomienie np. częściowo wspieranego Ubuntu 12.04 LTS może zależeć od danego komputera, lub konieczności modyfikacji w firmware UEFI komputera.
    W przypadku pudełkowego Win 8 Pro udało mi się dokonać dual boot poprzez Grub.
    W Windows 8.1 Preview bootloader Grub secure boot działa do czasu uruchomienia Windowsa 8.1, który z jakiś powodów usuwa bootloader Grub z kluczem Microsoftu. Ponowne uruchomienie Linuksa wymaga wyłączenia Secure Boot i włączenia UEFI, po czym trzeba wgrać ponownie GRUB z opcją Secure Boot.
  • Poziom 4  
    Mam takie nietypowe pytanie. Czy na dysku z GPT, jest możliwość tworzenia partycji LOGICZNYCH ? Przestrzeń extended która jest dzielona na partycje logiczne, jest bardzo wygodna. O ile się nie mylę, nie ma tam limitu partycji. A tutaj na GPT widzę że limit to 128 partycji.
  • Poziom 39  
    Nie, wszystkie partycje tworzone w GPT są partycjami "podstawowymi".
    Partycje rozszerzone i logiczne to taka kolejna nakładka na DOSa aby zwiększyć ilość partycji oraz zachować kompatybilność ze starszymi systemami.
    Partycja rozszerzona może mieć 128 partycji logicznych, czyli teoretycznie 512 partycji logicznych na dysku, jednak należy pamiętać o ograniczeniu rozmiaru dysku twardego do 2TiB w MBR.
    W celu bardziej elastycznego zarządzania partycjami stosuje się zupełnie inne rozwiązania, znane z rozwiązań serwerowych.
  • Poziom 4  
    Dziwne, ponieważ mam partycje extended i z ciekawości robiłem partycje po 43GB, patrząc ile ich wejdzie w obszarze do 2 TB. Dojechałem do około 40 partycji logicznych i od tego momentu nie można utworzyć nowych partycji logicznych. Pozostało około 270GB wolnego miejsca którego nie da się przypisać. Wygląda na to że logicznych nie da się zrobić tak dużo jak zakładałem.
  • Spec od komputerów
    BANANvanDYK napisał:
    Witam.

    Wady partycji MBR:
    - Ograniczenie pojemności dysku do 2 TiB (teoretycznie 16 TiB w dyskach 4Kn).

    Nie wprowadzaj w błąd. Używam MBR na dyskach 3 TB bez żadnych problemów.
    O partycjach GPT i Advanced Format O partycjach GPT i Advanced Format O partycjach GPT i Advanced Format O partycjach GPT i Advanced Format
    O partycjach GPT i Advanced Format
    Windows 10 i xp oraz kilka linuksów mam zainstalowane na jednym dysku na MBR i żadnych problemów z instalacją. Nie ma konieczności instalowania windowsa na UEFI jak napisałeś wcześniej.
    "Z racji tego, że systemy Windows praktycznie wymagają UEFI z GPT, Linux musi być zainstalowany w trybie UEFI. "
    Na przyszłość to zanim coś skopiujesz z netu to sprawdź czy to prawda.
    Pozdrawiam
  • Moderator Samochody
    Posiadany przez Ciebie dysk ST3000DM001 jest dyskiem Advanced Format, czyli posiada sektory o rozmiarze 4kiB, zatem możesz na nim utworzyć partycje MBR o rozmiarze 16TiB (choć firmware dysku emuluje rozmiar klastra 512b). 2TB to ograniczenie rozmiaru pojedynczej partycji MBR.
  • Poziom 39  
    Ten dysk ma AF 512e. Racja, z dyskami powyżej 2TB jest problem taki, że nie można utworzyć jednej partycji o rozmiarze powyżej 2TiB, tylko dwie.
    linuks napisał:
    Windows 10 i xp oraz kilka linuksów mam zainstalowane na jednym dysku na MBR i żadnych problemów z instalacją. Nie ma konieczności instalowania windowsa na UEFI jak napisałeś wcześniej.
    "Z racji tego, że systemy Windows praktycznie wymagają UEFI z GPT, Linux musi być zainstalowany w trybie UEFI. "

    Niedoprecyzowane było stwierdzenie. Od kiedy wszedł Windows 8, instalowany był fabrycznie na komputerach z UEFI z włączonym SecureBoot, dlatego aby można było wgrać obok niego Linuksa to musi być zainstalowany po UEFI. Jeśli ktoś zainstalował go ręcznie na dysku z MBR to oczywiście wszystko będzie działało po starym Biosie. Zwróć uwagę że masz także XP - jego byś już nie zainstalował na dysku z GPT i po UEFI.
    Artykuł napisałem dwa lata temu i o nim zapomniałem aby zaktualizować.