La guida definitiva di Marco’s Box a UEFI

Quando su parla di UEFI si parla di nuovi PC  e si parla di Windows 8 , metafora per molti di ” difficile metterci linux “

Falso , non è difficile ma solo diverso .

Prima di iniziare  tantovale  specificare un paio di cosette rassicuranti:

  • Linux , assieme a tutto l resto del mondo dei sistemi operativi a parte quelli della famiglia windows supporta UEFI  fin da quando questo standard è nato  , cioè nel tardo 2002 .
  • SecureBoot  non è un male , android lo usa da prima che Windows 8 fosse pensato , e con android anche linux può farlo.
LE ISTRUZIONI QUA RIPORTATE VALGONO SOLO PER LE VERSIONI A 64 BIT !

Veniamo alla sostanza , cercheremo di spiegare step by step come lavorare in questo ambiente , prima però bisogna scremare le varie distribuzioni  per capire fino a che livello possiamo arrivare .

Parliamo di secureboot per primo :
Se siamo nuovi utenti ed abbiamo scelto Ubuntu e derivate  ( ufficiali) , suse o fedora secureboot può vivere  così come è , non è necessario ne raccomandabile disattivarlo .

No, non esattamente !

Per gli utenti avanzati che preferiscono distribuzioni  diverse : niente paura, la parola magica è ,anzi sono , shim e preloader, uno è di redhat e l’altro è direttamente giunto a noi dalla linux foundation ( Non mi dilungherò su questi 2, spero che i temerari che vogliono arch/slackware/gentoo e secureboot  siano abbastanza autonomi da sapere dove metter le mani )
LINKS utili :
http://docs.fedoraproject.org/it-IT/Fedora/18/html/UEFI_Secure_Boot_Guide/sect-UEFI_Secure_Boot_Guide-Implementation_of_UEFI_Secure_Boot-Shim.html

http://www.linuxfoundation.org/news-media/blogs/browse/2012/10/linux-foundation-uefi-secure-boot-system-open-source

 Media di installazione , DVD/CD ed  USB

Il media di installazione gioca un ruolo importante , la via più immediata e semplice è il cd/dvd , masterizziamo la iso col nostro tool preferito ( brasero, k3b, xfburn da linux , cdburnerXP,nero e altri da windows per citarne alcuni)  ed avremo un media si installazione uefi-compatibile .

Per chi vuole osare la USB invece le procedure sono diverse , un media generico (ibrido uefi e bios )  è preparabile con “dd “

in un terminale  scrivete

sudo dd if=/path/to/iso of=/path/to/usb bs=4M 

un media solo uefi è  diverso, gli step sono

  1. creare uno schema delle partizioni gpt sulla chiavetta 
  2. formattare la chiavetta in fat32
  3. montare la iso del vostro os
  4. copiare con drag&drop il contenuto della iso nella chiavetta

per la tabella gpt da windows potete usare la versione free di questo tool :
 http://www.partition-tool.com/landing/home-download.htm

In linux potete usare gparted , cancellate le partizioni sullam chiavetta e nel menù ” dispositivo”  scegliete” crea tabella partizioni”, dal menù a tendina scegliete gpt , confermate e create una partizione fat32

Tools vari come unetbootin non funzionano su uefi !

Dual boot windows 8 – Linux 

Se avete un pc con windows 8/8.1 avrete notato che questo rifiuta di partire da cd/dvd/chiavette  e non c’è modo di entrare nel bios.. apparentemente .

Acer è cosi gentile da fornirci una procedura  in video :

 la voce che ci interessa è ” seleziona un dispositivo” ( o “use a device” in inglese ) , allo step successivo  scegliamo usb o cd/dvd a seconda del vostro media .

Per chi non avesse scelto una distri con supporto a secureboot  e non vuole usare preloader o shim invece  bisogna chiedere il riavvio al bios e da li disabilitare secureboot prima di riavviare e ripetere la procedura per selezionare il media di installazione.

Il pc si riavvierà e la nostra distribuzione partirà normalmente, vedrà windows 8  e sarà possibile installarla in dualboot o da sola  come si è sempre fatto.

Raccomando solo  di evitare il partizionamento manuale se possibile , affidandosi piuttosto a quello automatico in caso di dual boot

Per chi volesse addentrarsi nel partizionamento manuale  l’argomento sarà trattato più avanti  ed in generale .

Linux come unico OS 

La procedura per chi parte da un pc con 8 preinstallato è la stessa , tranne che la scelta di partizionamento .

Se volete un partizionamento manuale  avanzato  ricordatevi di creare  una partizione da almeno 513 MB ( si, 513, limitazioni tecniche di fat32 !) e scegliere come tipo di partizione ” efi system partition” o qualcosa di simile( le distro adottano nomi diversi  per questa partizione ) e se necessario specificare il mountpoint ( se non viene richiesto nulla/non trovate tra i mountpoit  qualcosa che rimanda a “EFI”  vivete sereni, ci penserà l’installer )


Parentesi per distro “hardned”
Se il vostro cuore batte per distribuzioni più complesse ( quello che scrivo è valido su arch  e su gentoo a patto di utilizzare lo stesso nome per il kernel )
avete una possibilità in più, scegliere come avviarle.

Uefi avvia un binario, che sia un kernel o un bootloader a lui non cambia niente.

Detto questo, perchè avere qualcosa in più, che non vi serve a nulla ( e qua  nella testa di chi usa arch o gentoo ed è votato al minimalismo  avrà fatto scattare una molla !) o rallenta il boot se posso usare uefi per lanciare il kernel ?

la procedura di installazione è grossomodo la stessa, ecco cosa serve :

  1. tabella delle partizioni gpt 
  2. una partizione extra che sarà la efi system partition ( cambiate id , se usate gdisk sarà ef00, controllate comunque nella lista quello giusto ) 
  3. formattate la partizione in fat32 e montatela su boot 

l’installazione procede come al solito, però non vi servirà un bootloader ma vi basterà efibootmgr.

Uefibootmgr è un tool userspace per lavorare sulle variabili uefi , vi basterà un comando  e il gioco sarà fatto :

 efibootmgr -d /dev/sdX -p Y -c -L "Nome-boot-entry" -l /path-to-kernel -u "root=/dev/sdxy rw kernel-options initrd=/path-to-initrd"

/dev/sdx= sarà il disco dove risiede la efi system partition
Y= il numero della partizione ( il conto comincia da 1, quindi la prima partizione sarà 1, la seconda 2 e così’ via)
root=/dev/sdxy = sarà la vostra root.

Così facendo istruirete il firmware  su cosa e come caricarlo , se vi servono opzioni del kernel rimpiazzate kernel options con cio che vi occorre .


Source: MarcosBox