Jak bootovat z 4TB disku s GTP pomocí UEFI

18. listopadu 2016

Někdo nainstaluje systém tím končí jeho úsilí. Někdy se však počítač mění a použití starého způsobu bootovaní už není možné.

GTP a UEFI

Na velkých discích je možné vytvořit oddíly větší než 2TB jedině pokud se použije tabulka rozdělení disků typu GPT. Z takového oddílu pak už nejde bootovat postaru pomocí BIOSu, ale musí se použít UEFI.

Instalace GNU/Linuxu je jednoduchá ať už v módu bootovani BIOS nebo UEFI.
V případě změny disku však může vyvstat otázka, jak migrovat systém na 4TB disk s GPT a bootovat pomocí UEFI? Pro zkušeného Linux admina to je zvládnutelný úkol.

disk seagate 4TB

Migrace na UEFI

Stručný postup je tento:

  1. Připravit si oddíl pro UEFI s file-systémem FAT-12/16/32 a označit ji jako boot,esp. Vše se dá pohodlně udělat i z GUI programu gparted.
  2. Nainstalovat grub2-efi.
  3. Přepnout nastavení základní desky na boot pomocí UEFI.
  4. Nabootovat live CD/USB pomoci UEFI
  5. Ověřit funkčnosti UEFI:
     [ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"  
    
  6. Provést synchronizaci systému. Z úspory času, se hlavní část synchronizace může provést ještě v běžícím systému.
  7. Vytvoření , konfigurace a zapsaní zavaděče.

Zavaděč

Vytvoření , konfigurace a zapsaní zavaděče je hodně podobné jako, když obnovujete/opravujete zavaděč pro BIOS
Připojení kořenového oddílu a vytvoření adresáře pro UEFI oddíl a jeho připojení:

mkdir /mnt/sda4/
mount /dev/sda4 /mnt/sda4/
mkdir /mnt/sda4/boot/efi
mount /dev/sda1 /mnt/sda4/boot/efi 
Připojení adresářů, s virtuálním systémem kde jsou exportovány informace z kernelu a adresáře s diskovými oddíly a proc:
mkdir /mnt/sda4/sys
mkdir /mnt/sda4/proc
mkdir /mnt/sda4/dev
mount -o bind /sys /mnt/sda4/sys
mount -o bind /proc /mnt/sda4/proc
mount -o bind /dev /mnt/sda4/dev
Chroot do root oddílu systému:
chroot  /mnt/sda4/
Pokud se změnil disk nebo jinak oddíly disků, je potřeba dát pozor, že se změnily jejich identifikátory. Je tak potřeba upravit soubor fstab a grub config a často i vygenerovat nový initrd. Já všude používám výhradně UUID, který je vždy unikátní. (V případě potřeby ho lze nastavit ručně stejný.)
update-grub2
Zapis dat pro UEFI boot:
 grub2-install --target=x86_64-efi --efi-directory=/boot/efi \
 --bootloader-id=ubuntu --recheck --no-floppy --debug

Správa UEFI menu

Můžete se Vám stát, že systém máte správně nainstalován, ale počítač pomocí UEFI ho nenabootuje. To se nastane například v případe instalace dalšího systému na jiný disk, když další disky jsou odpojeny, a instalátor odebere další možnosti bootu z UEFI menu.
Řešení je jednoduché, je potřeba přidat do UEFI menu opět možnost bootovat druhý systém. Pro správu UEFI manageru slouží nástroj efibootmgr. Pomocí něho z jiného linuxovémo systému můžete přidat do UEFI menu další položku a následně pak bude UEFI schopno tuto položku bootovat.
Například takto přidáte možnost bootovat systém, který má data UEFI bootu na prvním oddíle prvního disku:

efibootmgr -c -d /dev/sda -p 1 -l EFI/mageia/grubx64.efi -L mageia

Závěr

Na dnešních moderních GNU/Linuxových distribucích je migrace bezproblémová, protože je v nich podpora UEFI v základu. Ověřeno na distribucích Mageia a Ubuntu

Použití UEFI a GTP může přinést i další výhody. Například první zřejmá je rychlejší boot.

Pozor tyto úpravy bez dostatečných znalostí a schopností vám mohou způsobit, že vám počítač dočasně nenaběhne!

Články na podobné téma

Operační systém GNU/Linux
Jak začít správně používat Docker
Příprava linuxového serveru pro běh webové aplikaci v jazyce Python
Jak řešit špatný výkon sdílených souborů u Dockeru
GitLab - nástroj na správu, verzování, CI/DI a vedení projektů
Instalace Linuxu na dedikovaný server HPE ProLiant DL320e
Jak provést zátěžový test webové aplikace
Proč používat filesystém JFS
Jak bootovat z 4TB disku s GTP pomocí UEFI
Jak nainstalovat operační systém Magei Linux bez DVD mechaniky
Souborový systém Btrfs
Raspberry PI
Jak zprovoznit vzdálené přehrávání přes síť na televizi s DLNA
Upgrade Mandriva Linuxu za běhu
Poznámky ke GNU/Linux
WINE - spouštíme programy pro Windous pod Linuxem
Yocto Project: Build vlastního operačního sytému pro embedded zařízení
Lenovo ThinkPad X1 Carbon: zprovoznění LTE modemu EM7544
Docker a Cron