UEFI e GPT
Installare Linux con UEFI e GPT
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.
Configurare 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.
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:
Nello spazio libero (inizialmente tutto il disco) crea una nuova partizione (New); Richiesta del primo settore (First sector): premi invio per lasciare quello di default, ovvero a seguito della precedente partizione; 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 Inserisci il tipo di partizione: EF00 per la EFI, 8300 per Linux, 0700 per Windows; Etichetta: sempre utile per identificare a occhio una partizione, è a discrezione dell'utente (esempio LinuxHome per la home); 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