Instalacja systemu operacyjnego na platformach z UEFI

Z Thomas-Krenn-Wiki
Skocz do: nawigacja, szukaj

UEFI i GPT są następcami tradycyjnego BIOS-u i MBR. Aktualne systemy operacyjne (OS) jak Ubuntu zawierają narzędzia, które umożliwiają uruchomienie systemu z nośnika GPT w trybie UEFI. Microsoft Windows ustalił nawet dla swoich 64-bitowych systemów, że na platformach z UEFI jest wspierane uruchomienie systemów tylko z nośników GPT.[1]

Wybór w Boot Option Priorities opcji UEFI gwarantuje uruchomienie nośnika instalacyjnego w trybie UEFI

UEFI udostępnia własnego bootmanagera, który pozwala na załadowanie przez bootloadera systemów wspieranych przez UEFI. Celem bootmanagera UEFI jest zarządzanie zestawem boot menu już z poziomu firmware'u platformy.[2] Kolejność bootloadera jest przy tym zapisywana w trwałym NVRAM.[3]

Dla pewności, aby medium instalacyjne zostało uruchomione w trybie UEFI, może w menu UEFI zostać wybrana każda opcja, która jest domyślnie skonfigurowana dla UEFI:

  • np. UEFI: DVD/CD Drive lub UEFI: USB-Stick

Linux

Z dokumentacji Ubuntu o UEFI[4] wynikają następujące opcje dla instalacji z trybem UEFI:

UEFI (64bit) CSM (Legacy Mode)
inny OS z trybem UEFI tak nie
inne OS Legacy nie tak
Ubuntu jedyny OS tak tak

Dla wyboru schematu partycjonowania dysku obowiązuje następujące:

  • BIOS Boot z MBR

Nie ma przeciwwskazań tradycyjnej drodze.

  • BIOS Boot z GPT

Linux wymaga do uruchomienia z nośnika GPT partycję Bios Boot i bootloader, który obsługuje format GPT (np. Grub2).[5] Prostym rozwiązaniem jest również przeniesienie partycji systemowej na partycję MBR, z której uruchomiany jest system i następnie dodawany nośnik GPT. Windows (vide poniżej) może zostać uruchomiony z nośnika GPT w trybie UEFI.

  • UEFI Boot z MBR

Ta specyfikacja określa, że rozruch z urządzenia blokowego poprzez UEFI wymaga systemowej partycji UEFI (ESP). Czy ta partycja znajduje się na nośniku sformatowany z GPT lub MBR nie gra w tym przypadku roli. Jednak dla systemu Windows pod UEFI jest GPT obowiązkiem.

  • EFI Boot z GPT

Boot manager administruje wpisami rozruchowymi w trwałym NVRAMie. Bootloader znajduje się na partycji systemowej UEFI (ESP). W następującym przykładzie jest /dev/sdc1 partycją ESP, która znajduje się na dysku sformatowanym z GPT. Za pośrednictwem gdisk mogą te partycje zostać odczytane:

:~$ sudo gdisk /dev/sdc
[...]
Partition number (1-4): 1
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: A81C2DB8-E808-4853-A67B-3982C65C23C2
First sector: 34 (at 17.0 KiB)
Last sector: 293002 (at 143.1 MiB)
Partition size: 292969 sectors (143.1 MiB)
[...]
:~$ mount -l
[...]
/dev/sdc1 on /boot/efi type vfat (rw)
[...]
:~$ ls /boot/efi/EFI/ubuntu/
grubx64.efi

Partycja systemowa EFI

Jest Ubuntu instalowany w trybie EFI, jak powyżej wspomniane, to wymagana jest ESP. Aktualnie w Ubuntu (12.04) jest podczas partycjonowania automatycznie zakładana ESP. Podczas ręcznej konfiguracji z gparted muszą zostać spełnione następujące wymagania:[6]

  • Mount point: /boot/efi
  • Wielkość między 100MB i 250MB
  • Typ: FAT32
  • Nadana flaga startowa (Boot Flag), która znajduję się na początku partycji GPT

Od Ubuntu 12.04 poza tym możliwe jest wykorzystanie ESP, która została utworzona przez Windows. Partycja nie jest przy tym formatowana, jest określany jedynie punkt montowania (Mount Point) "/boot/efi".

efibootmgr

efibootmgr jest w Linuksie narzędziem User-Space do edycji bootmanagera UEFI.[7] Przez niego może np. zostać odczytana i zmieniona aktualna kolejność wpisów w bootmanagerze. Poniżej znajduje się wyciąg z naszego systemu testowego:

:~$ sudo efibootmgr 
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,000A,0009,0003,0007,0006
Boot0000* ubuntu
Boot0003* Network Card 
Boot0006* UEFI: Built-in EFI Shell 
Boot0007* USB 
Boot0009* Hard Drive 
Boot000A* UEFI: ATP Nano Vision 1100

Wpis ubuntu odpowiada /boot/efi/EFI/ubuntu/ z powyższego przykładu.

Secure Boot i Linux

We wszystkich systemach dostarczanych z Windows 8 opcja UEFI_Secure_Boot jest obowiązkowo aktywowana. Stosowany przy tym klucz musi pochodzić od Microsoftu lub dostawcy OEM. Wprawdzie istnieje wyraźny wymóg, żeby opcja Secure Boot mogła zostać wyłączona oraz klucz zastąpiony innym, jednak jak dotąd, nie istnieje unormowana procedura, która to umożliwia. (UEFI_Secure_Boot#Aktualne_informacje). W pracy z Secure Boot wyróżniły się 3 rozwiązania, szczegółowy ich opis znajduje się w Dealing with Secure Boot (rodsbooks.com):

  1. Korzystanie z Secure Boot "Setup Modus" (UEFI_Secure_Boot#Firmware_Modus)
  2. Wymiana / konfiguracja klucza Secure Boot
  3. Mały własny, podpisany przez Microsoft bootloader, który następująco uruchamia Grub[11]

Kolejnym "rozwiązaniem" jest wyłączenie Secure Boot, co oczywiście wiąże się z brakiem oferowanego przez niego zabezpieczenia.

Windows

Następujące partycje są automatycznie tworzone podczas instalacji systemu Windows w trybie UEFI. Źródło: Installing Windows on UEFI Systems, S.4 (msdn.microsoft.com)

Następujące wersje systemu Windows posiadają możliwość rozruchu z nośników GPT na platformach z UEFI:[15]

  • Desktop
    • 64-bitowa wersja systemu Windows 8, Windows 7, Windows Vista with Service Pack 1 (SP1)
  • Server
    • Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 (również 64-bitowa)

Podczas instalacji systemu Windows tworzone są następujące pliki w partycji systemowej UEFI:

  • Windows Boot Manager (również bootmanager innych OS znajdują się na tej partycji)
  • Dane konfiguracyjne Boot

Windows potrzebuje poza tym przynajmniej 3 partycje na nośniku z GPT:ref>How to Configure UEFI/GPT-Based Hard Drive Partitions (http://technet.microsoft.com)</ref>

  1. Już wspominaną ESP (UEFI System Partition)
    • Min. 100MB, FAT32
    • Dla Advanced Format 4k HDD 260MB
  2. Microsoft reserved Partition (MSR), dla Drive Management
  3. Windows Partition
  4. poza tym, w razie potrzeby, Windows RE Tools Partition

32-bitowe wersje są obecnie konfigurowane poprzez Compatibility Support Module (CSM), a więc pracują również na platformach z UEFI lecz nie korzystają z nowości UEFI. Czy tryb CSM jest dostępny dla tak zwanych systemów Legacy jest zależne od poszczególnego firmware'u. Uruchomiony z CSM system operacyjny nie różni się później od tradycyjnych systemów z BIOSem.[16]

Odnośniki

  1. Windows and GPT FAQ (msdn.microsoft.com)
  2. UEFI Specification (uefi.org)
  3. UEFI Boot Manager (software.intel.com)
  4. Ubuntu UEFI (help.ubuntu.com)]
  5. Booting from GPT (rodsbooks.com)
  6. Creating an EFI partition (help.ubuntu.com)
  7. efibootmgr man Page (linux.die.net)
  8. efitools 1.4 with linux key manipulation utilities released (blog.hansenpartnership.com)
  9. Debian and Ubuntu packages for sbsigntools and efitools built (blog.hansenpartnership.com)
  10. UEFI Image File Sign Tools (en.opensuse.org)
  11. Another approach to UEFI secure boot (lwn.net)
  12. shim Quellcode (github.com)
  13. A detailed technical description of Shim (mjg59.dreamwidth.org)
  14. Linux Foundation UEFI Secure Boot System for Open Source (blog.hansenpartnership.com)
  15. Installing Windows on UEFI Systems (msdn.microsoft.com)
  16. FAQ UEFI (heise.de)

Powiązane artykuły

Instalacja systemu Windows w trybie UEFI
Przywrócenie ustawień startowych UEFI w Ubuntu po przeprowadzeniu aktualizacji BIOS-u
Tworzenie bootowalnego pendrive'a UEFI w systemie Windows