venerdì 14 marzo 2014

Installare Linux con UEFI e GPT, il nuovo standard che sostituirà il BIOS.

Maria Susana Diaz | 10:42 |
UEFI è il nuovo standard che sostituirà il BIOS, ovvero quel programma di base che viene lanciato all'avvio del computer e ne consente la configurazione base e l'avvio dei sistemi operativi. UEFI ha destato attenzione nel mondo Linux per tre motivi:
  • adotta nuovi metodi di avvio e di partizionamento, infatti non è più presente la scelta di avvio dal primo/secondo disco o dal CD, bensì è UEFI a rilevare i supporti avviabili. Anche i CD e le pennine di installazione devono quindi essere UEFI-compatibili, ma la maggior parte lo è (Ubuntu, Debian, ArchLinux...);
  • il sistema di partizionamento MBR è stato soppiantato da GPT, quindi bisogna imparare a partizionare i dischi seguendo questo standard: la nuova tabella partizioni consente di creare più di 4 partizioni primarie (non esiste più il concetto di partizione estesa). Inoltre è necessaria una partizione di avvio (Partizione GPT), che contiene i file di avvio dei sistemi installati. Infine, al posto di fdisk e cfdisk si usano rispettivamente gdisk e cgdisk;
  • (non) dulcis in fundo, Microsoft ha messo lo zampino nella tecnologia del secure boot: un controllo che consente di bloccare l'installazione di sistemi non autorizzati (cosa che a loro fa molto comodo), cosa che sulla maggior parte dei dispositivi venduti è disabilitabile.
In questa pagina cerco di fare una summa di quello che c'è da sapere su UEFI e compagnia, prendendo come obiettivo l'installazione della distribuzione ArchLinux. La procedura dovrebbe valere anche per altre distribuzioni e su tutti i computer, ma avendo testato solo sul mio (ASUS S56CM) non do una certezza del 100%. Spippola se sai quello che fai.
archlinux uefi3Configurare UEFI.
Il primo passo da compiere è entrare nel menù di UEFI, premendo il tasto giusto all'avvio (di solito CANC o F2, ma varia in base al modello). L'interfaccia grafica non è identica su tutti i computer: alcuni produttori usano quella simile al vecchio bios (blu e bianca), altri aggiungono a questa una versione più intuitiva e grafica dove è possibile usare il mouse.
UEFI grafico UEFI standard
Per installare sistemi diversamente Windows vanno disabilitati i parametri Fast Boot e Secure Boot, dopodiché è possibile inserire il cd di installazione, da cui fare il boot (a volte è necessario riavviare per far rilevare il disco a UEFI).
Partizionamento.
Fatto il boot con il live CD, apri il terminale e verifica che i tool per GPT siano installati (per esempio gdisk), altrimenti installali con:
# pacman -S gptfdisk              # ArchLinux
# apt-get install cgdisk gdisk    # Ubuntu/Debian
Con il comando ls /dev/sd* sono mostrati tutti i dischi e le relative partizioni presenti sul disco. Solitamente è presente solo sda con varie partizioni, anche se alcuni computer sono dotati di dischi ibridi (sia meccanici che a stato solido) o di doppio disco, quindi verrà mostrato anche sdb.
Per saperne di più sui singoli dischi digita gdisk -l /dev/disco
# gdisk -l /dev/sda
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
[...]
Individuato il disco, è possibile passare al partizionamento (è bene sottolineare: la procedura seguente eliminerà ogni dato già presente sul disco, ma a nessuno importa...): utilizzando il comando cgdisk /dev/sda (molto simile a cfdisk) è possibile eliminare tutte le partizioni, tenendo a mente le dimensioni della prima, contrassegnata dal codice EF00. Tale partizione va ricreata, preferibilmente della stessa dimensione, dopodiché è possibile creare le altre partizioni (root, home, windows-dedicata) seguendo la medesima procedura:
  1. Nello spazio libero (inizialmente tutto il disco) crea una nuova partizione (New);
  2. Richiesta del primo settore (First sector): premi invio per lasciare quello di default, ovvero a seguito della precedente partizione;
  3. Dimensione della partizione: questo è a scelta libera, il valore può essere inserito nelle unità comuni (Kilo, Mega, Giga), mentre dando invio usa il massimo spazio disponibile. Tieni sempre conto delle seguenti soglie minime
    • EFI - come detto prima, è bene ricrearla della dimensione originaria, nel mio caso era 300M
    • Root - senza la home, ovvero solo i file di sistema Linux, occupa al massimo una decina di Gb, quindi per lasciare un margine è bene assegnare 15G
    • /home - i dati utente hanno dimensione variabile, quindi è a propria discrezione
  4. Inserisci il tipo di partizione: EF00 per la EFI, 8300 per Linux, 0700 per Windows;
  5. Etichetta: sempre utile per identificare a occhio una partizione, è a discrezione dell'utente (esempio LinuxHome per la home);
  6. Ripeti dal punto 1 per tutte le partizioni necessarie
Le partizioni possono essere formattate normalmente (mkfs.ext4 /dev/sdy), eccetto la partizione EFI, che va formattata in FAT con mkfs.vfat -T32 /dev/sda1. Nel caso tu voglia installare anche Windows è preferibile installarlo dopo il partizionamento e prima di installare Linux.
Configurazione di GRUB.
Installato il sistema, bisogna configurare il bootloader per funzionare con EFI. GRUB ha una versione compatibile, da installare mentre si è chrootati. Per prima cosa la partizione EFI (in questo caso /dev/sda1) deve essere montata in una qualsiasi cartella, in modo da consentirne la scrittura dei file di avvio. Successivamente si può installare GRUB e creare il file di configurazione relativo. In caso di dual-boot gli altri sistemi installati saranno rilevati automaticamente soltanto se la partizione EFI è montata.
# mkdir /boot/EFI
# mount /dev/sda1 /boot/EFI
# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --recheck --debug
# grub-mkconfig -o /boot/grub/grub.cfg
Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:

Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!

LINKEDIN