Installare Debian su PC con firmware UEFI

Da Guide@Debianizzati.Org.

(Differenze fra le revisioni)
m (Riferimenti: aggiunta pagina)
m (Supporti di installazione: stretch live supporta UEFI)
 
(11 revisioni intermedie non mostrate.)
Riga 2: Riga 2:
|precedente=Installare Debian da hard disk
|precedente=Installare Debian da hard disk
|successivo=Squeeze, installer di default}}
|successivo=Squeeze, installer di default}}
-
{{Versioni compatibili|Jessie|Stretch|Sid}}
+
{{Versioni compatibili|Jessie|Testing_2015|Unstable_2015}}
-
 
+
== BIOS e UEFI ==
== BIOS e UEFI ==
Riga 9: Riga 8:
Il BIOS risale ai primi anni '80, ai [http://it.wikipedia.org/wiki/IBM_compatibile PC IBM compatibili] ed ormai mostra tutti i limiti della sua età, dovuti anche al fatto che, essendo uno standard ''de-facto'', non è mai stato possibile regolamentarlo.<br>
Il BIOS risale ai primi anni '80, ai [http://it.wikipedia.org/wiki/IBM_compatibile PC IBM compatibili] ed ormai mostra tutti i limiti della sua età, dovuti anche al fatto che, essendo uno standard ''de-facto'', non è mai stato possibile regolamentarlo.<br>
Il progetto UEFI invece nasce all'inizio di questo secolo appunto per sopperire ai limiti del BIOS e per regolamentare i firmware per PC.<br>
Il progetto UEFI invece nasce all'inizio di questo secolo appunto per sopperire ai limiti del BIOS e per regolamentare i firmware per PC.<br>
-
Da notare che nelle opzioni di molti PC con firmware UEFI è possibile attivare il CSM ([http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Compatibility_Support_Module Compatibility Support Module]), che emula un ambiente BIOS per poter utilizzare vecchi sistemi operativi e hardware non compatibili con UEFI.
+
Da notare che nelle opzioni di molti PC con firmware UEFI è possibile attivare il CSM ([http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Compatibility_Support_Module Compatibility Support Module]), che emula un ambiente BIOS per poter utilizzare vecchi sistemi operativi e hardware non compatibili con UEFI. In alcune macchine può trovarsi sotto altri nomi, come ad esempio ''Legacy mode''.
-
{{Box|Nota|La procedura descritta in questa guida è stata ottenuta sperimentando su due schede madri, precisamente la MSI H81M-E34 e la ASUS H81M-PLUS, che sembrano applicare correttamente le [http://www.uefi.org/specsandtesttools specifiche UEFI]. Purtroppo sul mercato esistono delle macchine con implementazioni di firmware UEFI non completamente aderenti alle specifiche e/o contenenti bug, e si potrebbero trovare delle difficoltà nell'installazione. Questa guida cercherà di considerare tutti questi casi, ma si ricorda anche che si può sempre provare a chiedere aiuto [http://forum.debianizzati.org/ nel nostro forum].}}
+
{{Box|Nota|La procedura descritta in questa guida è stata ottenuta sperimentando su due schede madri, precisamente la MSI H81M-E34 e la ASUS H81M-PLUS, che sembrano applicare correttamente le [http://www.uefi.org/specsandtesttools specifiche UEFI]. Purtroppo sul mercato esistono delle macchine con implementazioni di firmware UEFI non completamente aderenti alle specifiche e/o contenenti bug (specialmente notebook e hardware "vecchio" che usa le prime revisioni UEFI), e si potrebbero trovare delle difficoltà nell'installazione (es. un notebook Asus che leggeva bootloader EFI solo a 64bit). Questa guida cercherà di considerare tutti questi casi, ma si ricorda anche che si può sempre provare a chiedere aiuto [http://forum.debianizzati.org/ nel nostro forum].}}
=== MBR e GPT ===
=== MBR e GPT ===
Riga 16: Riga 15:
Il BIOS si basa sul MBR ([http://it.wikipedia.org/wiki/Master_boot_record Master boot record]), che è la parte iniziale di un disco (grande solo 512 bytes) che contiene la tabella delle partizioni e un piccolo programma detto [http://it.wikipedia.org/wiki/Boot_loader bootloader]. Il BIOS sa che per far avviare il disco deve leggere il MBR ed eseguire il bootloader ivi presente. Al BIOS non interessa quanti e quali sistemi operativi o partizioni sono presenti sul disco, lui sa solo che per avviare un disco deve eseguire il bootloader e poi dev'essere compito di quest'ultimo occuparsi dell'avvio.<br>
Il BIOS si basa sul MBR ([http://it.wikipedia.org/wiki/Master_boot_record Master boot record]), che è la parte iniziale di un disco (grande solo 512 bytes) che contiene la tabella delle partizioni e un piccolo programma detto [http://it.wikipedia.org/wiki/Boot_loader bootloader]. Il BIOS sa che per far avviare il disco deve leggere il MBR ed eseguire il bootloader ivi presente. Al BIOS non interessa quanti e quali sistemi operativi o partizioni sono presenti sul disco, lui sa solo che per avviare un disco deve eseguire il bootloader e poi dev'essere compito di quest'ultimo occuparsi dell'avvio.<br>
L'UEFI invece lavora in modo differente. Innanzitutto non usa il MBR poiché questo pone dei limiti al numero e alla grandezza delle partizioni, ma usa invece un tipo differente di tabella delle partizioni nato proprio con l'UEFI, e cioè il GPT ([http://it.wikipedia.org/wiki/GUID_Partition_Table GUID Partition Table]). Si possono anche usare dischi con tabella MBR, anche senza attivare il CSM (la retrocompatibilità BIOS), ma è sconsigliabile.<br>
L'UEFI invece lavora in modo differente. Innanzitutto non usa il MBR poiché questo pone dei limiti al numero e alla grandezza delle partizioni, ma usa invece un tipo differente di tabella delle partizioni nato proprio con l'UEFI, e cioè il GPT ([http://it.wikipedia.org/wiki/GUID_Partition_Table GUID Partition Table]). Si possono anche usare dischi con tabella MBR, anche senza attivare il CSM (la retrocompatibilità BIOS), ma è sconsigliabile.<br>
-
Nel disco GPT deve esserci una piccola partizione di sistema chiamata ESP ([http://en.wikipedia.org/wiki/EFI_System_partition EFI System partition], in genere creata dal primo sistema operativo che si installa sul disco). Questa partizione contiene tutti i bootloader dei vari sistemi operativi presenti sul disco e viene letta direttamente dall'UEFI. Mentre nel BIOS si poteva solo scegliere quale disco avviare per primo, su UEFI si sceglie direttamente il sistema operativo da avviare per primo, indipendentemente in quale disco si trovi (ma purché il suo bootloader sia stato visto e riconosciuto dall'UEFI). La partizione ESP deve avere un file system [http://it.wikipedia.org/wiki/File_Allocation_Table FAT] (12 / 16 / 32), e può contenere oltre ai bootloader anche dei programmi direttamente eseguibili da UEFI, come ad esempio dei software di diagnostica hardware (ma alla fin fine anche i bootloader non sono altro che dei programmi il cui unico fine è avviare dei sistemi operativi).
+
Nel disco GPT deve esserci una piccola partizione di sistema chiamata ESP ([http://en.wikipedia.org/wiki/EFI_System_partition EFI System partition], in genere creata dal primo sistema operativo che si installa sul disco). Questa partizione contiene tutti i bootloader dei vari sistemi operativi presenti sul disco e viene letta direttamente dall'UEFI. Mentre nel BIOS si poteva solo scegliere quale disco avviare per primo, su UEFI si sceglie direttamente il sistema operativo da avviare per primo, indipendentemente in quale disco si trovi (ma purché il suo bootloader sia stato trovato e riconosciuto dall'UEFI). La partizione ESP deve avere un file system [http://it.wikipedia.org/wiki/File_Allocation_Table FAT] (12 / 16 / 32), e può contenere oltre ai bootloader anche dei programmi direttamente eseguibili da UEFI, come ad esempio dei software di diagnostica hardware (ma alla fin fine anche i bootloader non sono altro che dei programmi il cui unico fine è avviare dei sistemi operativi).
-
 
+
== Preparazione dell'installazione ==
== Preparazione dell'installazione ==
-
Prima di procedere, è meglio entrare nelle pagine di configurazione dell'UEFI per andare a disattivare delle caratteristiche che potrebbero essere incompatibili con Debian, come il [http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Secure_boot SecureBoot], il FastBoot e per evitare errori di installazione, meglio disattivare anche il CSM, ovvero la compatibilità con il vecchio BIOS.<br>
+
Prima di procedere, è meglio entrare nelle pagine di configurazione dell'UEFI per andare a disattivare delle caratteristiche che potrebbero essere incompatibili con Debian, come il [http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Secure_boot SecureBoot], il FastBoot (un avvio veloce dell'UEFI che si ottiene evitando di caricare alcune funzioni e di effettuare alcuni controlli e che può chiamarsi anche in altri modi; da non confondere con la feature ''Fast startup'' (''Avvio veloce'') di Windows 8.x) e per evitare di fare confusione in fase di installazione, meglio disattivare anche il CSM, ovvero la compatibilità con il vecchio BIOS. Da notare che queste funzioni possono non essere presenti in tutte le schede madri.<br>
-
Per entrare nell'UEFI, generalmente si deve premere il tasto CANC / DEL (Asus, MSI) oppure F2 (Acer) o F10 (HP/Compaq) all'avvio del PC, ma in alcuni PC (specialmente notebook) non è così immediato: spesso bisogna tenere premuto uno dei tasti citati sopra a PC spento e accendere tenendo quel tasto premuto.<br>
+
Per entrare nell'UEFI, generalmente si deve premere il tasto CANC / DEL (Asus, MSI) oppure F2 (Asus, Acer) o F10 (HP/Compaq) all'avvio del PC, ma in alcuni notebook non è così immediato: a volte a notebook spento bisogna tenere premuto uno dei tasti appena citati e accendere, oppure premere un apposito interruttore con la punta di una biro (Lenovo).<br>
In alcuni UEFI (es. portatili Acer) per poter modificare alcune opzioni, bisogna prima impostare una Supervisor Password dall’UEFI stesso.
In alcuni UEFI (es. portatili Acer) per poter modificare alcune opzioni, bisogna prima impostare una Supervisor Password dall’UEFI stesso.
 +
{{Box|Nota|L'incompatibilità tra Debian e il Secure Boot è in corso di risoluzione. Fare riferimento a [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug{{=}}820036 questa] segnalazione di [[bug]] sul [[BTS]].}}
=== Supporti di installazione ===
=== Supporti di installazione ===
-
Tutti i supporti di installazione Debian sono già avviabili da UEFI, tranne l'immagine ridottissima ''mini.iso'' (conosciuta anche come [https://www.debian.org/distrib/netinst#verysmall netboot]), che non ha un bootloader UEFI.
+
Quasi tutti i supporti di installazione Debian sono già avviabili da UEFI, tranne:
-
 
+
* l'immagine ridottissima ''mini.iso'' (conosciuta anche come [https://www.debian.org/distrib/netinst#verysmall netboot]), che non ha un bootloader UEFI.
 +
* [https://www.debian.org/CD/live/index.it.html le immagini live] delle "vecchie" release, [[Jessie]] compresa. Mentre dall'attuale stable [[Stretch]] UEFI è supportato.
==== mini.iso ====
==== mini.iso ====
Questa immagine iso non possiede un bootloader per UEFI, ma al suo interno ce n'è uno e possiamo metterlo benissimo noi se usiamo una chiavetta USB come supporto di installazione.<br>
Questa immagine iso non possiede un bootloader per UEFI, ma al suo interno ce n'è uno e possiamo metterlo benissimo noi se usiamo una chiavetta USB come supporto di installazione.<br>
-
Dopo aver trasferito la mini.iso sulla chiavetta USB [[Installare_Debian_da_pendrive_USB_o_SD_card|come descritto qui]], avremo sulla chiavetta una piccola partizione vuota in FAT12 con etichetta "Firmware", dove in genere si piazzano i firmware di cui potrebbe aver bisogno l'installer di Debian per far funzionare alcune periferiche. Noi la useremo come se fosse una partizione ESP senza bisogno di ulteriori modifiche. Basta prelevare dalla mini.iso il file <code>/boot/grub/efi.img</code> (non so perché non sia inserito di default) con:
+
Dopo aver trasferito la mini.iso sulla chiavetta USB [[Installare_Debian_da_pendrive_USB_o_SD_card|come descritto qui]], avremo sulla chiavetta una piccola partizione vuota in FAT12 con etichetta "Firmware", dove in genere si piazzano i firmware di cui potrebbe aver bisogno l'installer di Debian per far funzionare alcune periferiche. Noi la useremo come se fosse una partizione ESP senza bisogno di ulteriori modifiche. Basta prelevare dalla mini.iso il file <code>/boot/grub/efi.img</code> (non so perché non sia già integrato di default) con:
<pre>$ isoinfo -J -i ~/Scaricati/mini.iso -x /boot/grub/efi.img > /tmp/efi.img</pre>
<pre>$ isoinfo -J -i ~/Scaricati/mini.iso -x /boot/grub/efi.img > /tmp/efi.img</pre>
(<code>isoinfo</code> si trova nel pacchetto <code>genisoimage</code>; cambiare eventualmente <code>~/Scaricati/</code> con il percorso in cui si trova la mini.iso).<br>
(<code>isoinfo</code> si trova nel pacchetto <code>genisoimage</code>; cambiare eventualmente <code>~/Scaricati/</code> con il percorso in cui si trova la mini.iso).<br>
Riga 42: Riga 42:
Adesso anche la mini.iso è diventata avviabile da UEFI.<br>
Adesso anche la mini.iso è diventata avviabile da UEFI.<br>
Se si sta usando Windows per creare il supporto di installazione è possibile usare [http://www.7-zip.org/ 7-Zip] sia per estrarre il file <code>efi.img</code> dalla <code>mini.iso</code>, sia per decomprimere il file <code>efi.img</code> nella partizione "Firmware".
Se si sta usando Windows per creare il supporto di installazione è possibile usare [http://www.7-zip.org/ 7-Zip] sia per estrarre il file <code>efi.img</code> dalla <code>mini.iso</code>, sia per decomprimere il file <code>efi.img</code> nella partizione "Firmware".
-
 
== Installazione ==
== Installazione ==
Riga 55: Riga 54:
=== Installazione di GRUB ===
=== Installazione di GRUB ===
-
GRUB, il bootloader predefinito di Debian, viene installato nella partizione ESP in <code>/EFI/debian/grubx64.efi</code> (quel ''x64'' nel nome è perché ho installato Debian con architettura ''amd64''). Durante l'installazione di GRUB, potrebbe essere chiesto se si vuole installare una seconda copia del bootloader in un percorso generico della partizione ESP (che dovrebbe essere <code>/EFI/Boot/bootx64.efi</code>), nel caso che l'UEFI di quella macchina sia implementato male e invece di cercare tutti i bootloader presenti nella partizione di sistema, cerchi soltanto quello presente in quel percorso (bug frequente, spesso nelle prime macchine con UEFI). In questo caso GRUB potrebbe sovrascrivere il bootloader di un SO già presente, ma si potrà sempre configurare GRUB per avviare anche quel SO (generalmente basta dare il comando <code>update-grub</code> come ''root'' o con <code>sudo</code>).
+
GRUB, il bootloader predefinito di Debian, viene installato nella partizione ESP in <code>/EFI/debian/grubx64.efi</code> (quel ''x64'' nel nome è perché ho installato Debian con architettura ''amd64''). Durante l'installazione di GRUB, potrebbe essere chiesto se si vuole installare una seconda copia del bootloader in un percorso generico della partizione ESP (che dovrebbe essere <code>/EFI/Boot/bootx64.efi</code>), nel caso che l'UEFI di quella macchina sia implementato male e invece di cercare tutti i bootloader presenti nella partizione di sistema, cerchi soltanto quello presente in quel percorso (bug frequente, spesso nelle prime macchine con UEFI). In questo caso GRUB potrebbe sovrascrivere il bootloader di un S.O. già presente, ma si potrà sempre configurare GRUB per avviare anche l'altro S.O. (generalmente basta dare il comando <code>update-grub</code> come ''root'' o con <code>sudo</code>).
== Dual boot con Windows ==
== Dual boot con Windows ==
-
Grazie a UEFI e GPT, nessun sistema operativo installato per ultimo prenderà il sopravvento sugli altri, ma ognuno piazzerà il suo bootloader e la sua configurazione d’avvio sulla partizione ESP. Quindi si può installare tranquillamente prima Debian e poi Windows, o viceversa. In ogni caso entrambi avranno la propria voce nelle impostazioni di avvio dell'UEFI e da qui si potrà scegliere quale dei due avviare. Però se non si vuole entrare ogni volta nelle impostazioni UEFI per selezionare il sistema operativo da avviare, è consigliabile scegliere Debian come sistema operativo da avviare, in quanto il suo bootloader GRUB riconosce e può avviare anche l'installazione di Windows (mentre il bootloader di Windows riesce solo ad avviare Windows).<br>
+
Grazie a UEFI e GPT, nessun sistema operativo installato per ultimo dovrebbe prendere il sopravvento sugli altri, ognuno piazzerà il suo bootloader e la sua configurazione d’avvio sulla partizione ESP. Quindi si può installare tranquillamente prima Debian e poi Windows, o viceversa. In ogni caso entrambi i S.O. dovrebbero avere la propria voce nelle impostazioni di avvio dell'UEFI e da qui si potrà scegliere quale dei due avviare.<br>
-
Ricordarsi che il primo sistema operativo che si installa andrà a creare la partizione ESP e i successivi SO installati non avranno bisogno di crearne altre, perché ne basta una per disco e tutti i SO useranno quella.<br>
+
Tutto ciò però in un mondo ideale. Nel mondo reale come già detto prima ci sono molti programmatori di UEFI che non rispettano gli standard e si potrebbe finire con delle [https://wiki.debian.org/GrubEFIReinstall#Troubleshooting situazioni] in cui si dovrà reinstallare il bootloader di Debian.<br>
 +
In dual-boot con Windows è praticamente necessario scegliere Debian come sistema operativo da avviare in automatico, in quanto il suo bootloader GRUB riconosce e può avviare anche l'installazione di Windows (mentre il bootloader di Windows riesce solo ad avviare Windows).<br>
 +
Ricordarsi che il primo sistema operativo che si installa andrà a creare la partizione ESP e i successivi S.O. installati non avranno bisogno di crearne altre, perché ne basta una sola in un disco e tutti i S.O. useranno quella.<br>
Se si installa Windows dopo Debian, bisognerà eseguire il comando <pre># update-grub</pre> in Debian per far trovare a GRUB l’installazione di Windows e creare una voce d'avvio.<br>
Se si installa Windows dopo Debian, bisognerà eseguire il comando <pre># update-grub</pre> in Debian per far trovare a GRUB l’installazione di Windows e creare una voce d'avvio.<br>
-
Anche l'installer di Windows riconosce se è stato avviato in modalità UEFI e anche per lui vale la regola che bisogna avere il disco con la tabella GPT, altrimenti l'installazione non potrà proseguire. Per cambiarla bisogna aprire dall'installer stesso un prompt dei comandi ed eseguire <code>diskpart</code> (ma questo è off-topic qui), oppure si può usare una distro Linux live per convertire in GPT prima di installare Windows. Le versioni di Windows installabili su sistemi con UEFI sono Windows 7 (solo a 64 bit), Windows 8.x (tutte le architetture) e Windows 10 (tutte le architetture).
+
Per l'informazione, anche l'installer di Windows riconosce se è stato avviato in modalità UEFI e anche per lui vale la regola che bisogna avere il disco con la tabella GPT, altrimenti l'installazione non potrà proseguire. Per cambiarla bisogna aprire dall'installer stesso un prompt dei comandi ed eseguire <code>diskpart</code> (ma questo è off-topic), oppure si può usare una distro Linux live per convertire in GPT prima di installare Windows. Dopo alcuni test, sembrerebbe che a partire da Windows 10 la conversione da MBR a GPT sia automatica durante l'installazione e non è più necessario convertire prima di installare.<br>
-
 
+
Le versioni di Windows installabili su sistemi con UEFI sono Windows 7 (solo a 64 bit), Windows 8.x (tutte le architetture) e Windows 10 (tutte le architetture).<br>
 +
Dopo l'installazione di Windows 8.x o 10 (o, se già installato, prima dell'installazione di Debian) bisogna disabilitare la funzione [https://wiki.archlinux.org/index.php/Windows_and_Arch_dual_boot#Fast_Start-Up fast startup] (avvio veloce) per poter far convivere i due sistemi operativi.
== Riferimenti ==
== Riferimenti ==

Versione attuale delle 16:37, 15 lug 2017

Installazione
Arrow left.png

Preparazione

Procedura generale

Casi specifici

Altro

Arrow right.png



Debian-swirl.png Versioni Compatibili
Debian 8 "Jessie"
Debian testing (non recente)
Debian "Sid" (non recente)
Verificala con Stretch

Indice

BIOS e UEFI

Partiamo con lo specificare che sia il BIOS che l’UEFI sono entrambi due tipologie di firmware per computer (generalmente è il firmware della scheda madre), ma diversi tra loro. Quindi fate attenzione a non commettere l'errore di dire "UEFI BIOS" o "BIOS di tipo UEFI".
Il BIOS risale ai primi anni '80, ai PC IBM compatibili ed ormai mostra tutti i limiti della sua età, dovuti anche al fatto che, essendo uno standard de-facto, non è mai stato possibile regolamentarlo.
Il progetto UEFI invece nasce all'inizio di questo secolo appunto per sopperire ai limiti del BIOS e per regolamentare i firmware per PC.
Da notare che nelle opzioni di molti PC con firmware UEFI è possibile attivare il CSM (Compatibility Support Module), che emula un ambiente BIOS per poter utilizzare vecchi sistemi operativi e hardware non compatibili con UEFI. In alcune macchine può trovarsi sotto altri nomi, come ad esempio Legacy mode.

Info.png Nota
La procedura descritta in questa guida è stata ottenuta sperimentando su due schede madri, precisamente la MSI H81M-E34 e la ASUS H81M-PLUS, che sembrano applicare correttamente le specifiche UEFI. Purtroppo sul mercato esistono delle macchine con implementazioni di firmware UEFI non completamente aderenti alle specifiche e/o contenenti bug (specialmente notebook e hardware "vecchio" che usa le prime revisioni UEFI), e si potrebbero trovare delle difficoltà nell'installazione (es. un notebook Asus che leggeva bootloader EFI solo a 64bit). Questa guida cercherà di considerare tutti questi casi, ma si ricorda anche che si può sempre provare a chiedere aiuto nel nostro forum.


MBR e GPT

La differenza principale tra BIOS e UEFI riscontrabile dall'utente è il modo di avviare i dischi.
Il BIOS si basa sul MBR (Master boot record), che è la parte iniziale di un disco (grande solo 512 bytes) che contiene la tabella delle partizioni e un piccolo programma detto bootloader. Il BIOS sa che per far avviare il disco deve leggere il MBR ed eseguire il bootloader ivi presente. Al BIOS non interessa quanti e quali sistemi operativi o partizioni sono presenti sul disco, lui sa solo che per avviare un disco deve eseguire il bootloader e poi dev'essere compito di quest'ultimo occuparsi dell'avvio.
L'UEFI invece lavora in modo differente. Innanzitutto non usa il MBR poiché questo pone dei limiti al numero e alla grandezza delle partizioni, ma usa invece un tipo differente di tabella delle partizioni nato proprio con l'UEFI, e cioè il GPT (GUID Partition Table). Si possono anche usare dischi con tabella MBR, anche senza attivare il CSM (la retrocompatibilità BIOS), ma è sconsigliabile.
Nel disco GPT deve esserci una piccola partizione di sistema chiamata ESP (EFI System partition, in genere creata dal primo sistema operativo che si installa sul disco). Questa partizione contiene tutti i bootloader dei vari sistemi operativi presenti sul disco e viene letta direttamente dall'UEFI. Mentre nel BIOS si poteva solo scegliere quale disco avviare per primo, su UEFI si sceglie direttamente il sistema operativo da avviare per primo, indipendentemente in quale disco si trovi (ma purché il suo bootloader sia stato trovato e riconosciuto dall'UEFI). La partizione ESP deve avere un file system FAT (12 / 16 / 32), e può contenere oltre ai bootloader anche dei programmi direttamente eseguibili da UEFI, come ad esempio dei software di diagnostica hardware (ma alla fin fine anche i bootloader non sono altro che dei programmi il cui unico fine è avviare dei sistemi operativi).

Preparazione dell'installazione

Prima di procedere, è meglio entrare nelle pagine di configurazione dell'UEFI per andare a disattivare delle caratteristiche che potrebbero essere incompatibili con Debian, come il SecureBoot, il FastBoot (un avvio veloce dell'UEFI che si ottiene evitando di caricare alcune funzioni e di effettuare alcuni controlli e che può chiamarsi anche in altri modi; da non confondere con la feature Fast startup (Avvio veloce) di Windows 8.x) e per evitare di fare confusione in fase di installazione, meglio disattivare anche il CSM, ovvero la compatibilità con il vecchio BIOS. Da notare che queste funzioni possono non essere presenti in tutte le schede madri.
Per entrare nell'UEFI, generalmente si deve premere il tasto CANC / DEL (Asus, MSI) oppure F2 (Asus, Acer) o F10 (HP/Compaq) all'avvio del PC, ma in alcuni notebook non è così immediato: a volte a notebook spento bisogna tenere premuto uno dei tasti appena citati e accendere, oppure premere un apposito interruttore con la punta di una biro (Lenovo).
In alcuni UEFI (es. portatili Acer) per poter modificare alcune opzioni, bisogna prima impostare una Supervisor Password dall’UEFI stesso.

Info.png Nota
L'incompatibilità tra Debian e il Secure Boot è in corso di risoluzione. Fare riferimento a questa segnalazione di bug sul BTS.


Supporti di installazione

Quasi tutti i supporti di installazione Debian sono già avviabili da UEFI, tranne:

mini.iso

Questa immagine iso non possiede un bootloader per UEFI, ma al suo interno ce n'è uno e possiamo metterlo benissimo noi se usiamo una chiavetta USB come supporto di installazione.
Dopo aver trasferito la mini.iso sulla chiavetta USB come descritto qui, avremo sulla chiavetta una piccola partizione vuota in FAT12 con etichetta "Firmware", dove in genere si piazzano i firmware di cui potrebbe aver bisogno l'installer di Debian per far funzionare alcune periferiche. Noi la useremo come se fosse una partizione ESP senza bisogno di ulteriori modifiche. Basta prelevare dalla mini.iso il file /boot/grub/efi.img (non so perché non sia già integrato di default) con:

$ isoinfo -J -i ~/Scaricati/mini.iso -x /boot/grub/efi.img > /tmp/efi.img

(isoinfo si trova nel pacchetto genisoimage; cambiare eventualmente ~/Scaricati/ con il percorso in cui si trova la mini.iso).
Poi montare la partizione "Firmware" e posizionarvisi con:

$ mkdir /tmp/Firmware
# mount /dev/sdb2 /tmp/Firmware/
$ cd /tmp/Firmware/

(cambiare eventualmente /dev/sdb con il percorso effettivo della chiavetta usb se non corrisponde).
Infine estrarre il bootloader con:

$ 7z x /tmp/efi.img

(7z è contenuto nel pacchetto p7zip-full).
Adesso anche la mini.iso è diventata avviabile da UEFI.
Se si sta usando Windows per creare il supporto di installazione è possibile usare 7-Zip sia per estrarre il file efi.img dalla mini.iso, sia per decomprimere il file efi.img nella partizione "Firmware".

Installazione

Una volta avviata, la procedura d'installazione è la stessa di quella di un PC con BIOS, almeno fino al momento del partizionamento.

Warning.png ATTENZIONE
Si suppone che il disco in cui sarà installato Debian sia vuoto o contenga dati inutili o già salvati su altre periferiche di memorizzazione, perché le operazioni che seguono, come ad esempio cambiare la tabella delle partizioni, comporteranno la perdita dei dati.


Partizionamento

Arrivati al passo dell'installazione "Partizionamento dei dischi", l'installer riconosce di essere stato avviato da UEFI e, nel caso il disco abbia una tabella partizioni MBR, chiederà: "Forzare l'installazione UEFI?". Dato che stiamo installando in modalità UEFI pura la risposta è sì, tranne che non si vuole provare a fare qualche accostamento di impostazioni esotico. Se non lo chiederà, vuol dire che il disco non ha ancora nessuna tabella delle partizioni oppure è già in GPT.
A questo punto chiederà se partizionare manualmente o automaticamente. Se si fa automaticamente si dovrebbe notare uno spazio libero di 1,0 MB all'inizio del disco, poi la partizione ESP di qualche centinaio di MB, le solite partizioni in ext4 e swap, e alla fine del disco uno spazio libero di 1,1 MB. Se sono presenti i due spazi liberi all'inizio e alla fine, allora il disco è sicuramente in GPT.
Se si sceglie il partizionamento manuale ricordarsi di creare una partizione ESP (nella lista dei possibili file system c'è "Partizione di sistema EFI"), con una grandezza di 100 MB (che è la dimensione che imposta l'installer di Windows; considerare che già 100 MB sono anche troppi se non si ha intenzione di sperimentare con gli eseguibili UEFI).
Se durante la creazione delle partizioni l'installer chiede se la partizione deve essere primaria o logica, allora il disco è ancora in MBR e bisogna cambiare manualmente in GPT. Per fare ciò basta fare doppio clic (o selezionare e premere INVIO) sulla riga contenente il nome del disco (ad esempio nel mio sistema la riga è SCSI1 (0,0,0) (sda) - 500.1 GB ATA WDC WD5000AAKS-0) e chiederà se creare una nuova tabella delle partizioni: rispondere sì (se si sta installando in expert mode farà scegliere il tipo di tabella: selezionare gpt; per la cronaca il tipo msdos è il MBR). Adesso le partizioni create manualmente non dovrebbero più richiedere se essere primarie o logiche, ma invece potrebbero richiedere un’etichetta (caratteristica di GPT).

Installazione di GRUB

GRUB, il bootloader predefinito di Debian, viene installato nella partizione ESP in /EFI/debian/grubx64.efi (quel x64 nel nome è perché ho installato Debian con architettura amd64). Durante l'installazione di GRUB, potrebbe essere chiesto se si vuole installare una seconda copia del bootloader in un percorso generico della partizione ESP (che dovrebbe essere /EFI/Boot/bootx64.efi), nel caso che l'UEFI di quella macchina sia implementato male e invece di cercare tutti i bootloader presenti nella partizione di sistema, cerchi soltanto quello presente in quel percorso (bug frequente, spesso nelle prime macchine con UEFI). In questo caso GRUB potrebbe sovrascrivere il bootloader di un S.O. già presente, ma si potrà sempre configurare GRUB per avviare anche l'altro S.O. (generalmente basta dare il comando update-grub come root o con sudo).


Dual boot con Windows

Grazie a UEFI e GPT, nessun sistema operativo installato per ultimo dovrebbe prendere il sopravvento sugli altri, ognuno piazzerà il suo bootloader e la sua configurazione d’avvio sulla partizione ESP. Quindi si può installare tranquillamente prima Debian e poi Windows, o viceversa. In ogni caso entrambi i S.O. dovrebbero avere la propria voce nelle impostazioni di avvio dell'UEFI e da qui si potrà scegliere quale dei due avviare.
Tutto ciò però in un mondo ideale. Nel mondo reale come già detto prima ci sono molti programmatori di UEFI che non rispettano gli standard e si potrebbe finire con delle situazioni in cui si dovrà reinstallare il bootloader di Debian.
In dual-boot con Windows è praticamente necessario scegliere Debian come sistema operativo da avviare in automatico, in quanto il suo bootloader GRUB riconosce e può avviare anche l'installazione di Windows (mentre il bootloader di Windows riesce solo ad avviare Windows).
Ricordarsi che il primo sistema operativo che si installa andrà a creare la partizione ESP e i successivi S.O. installati non avranno bisogno di crearne altre, perché ne basta una sola in un disco e tutti i S.O. useranno quella.

Se si installa Windows dopo Debian, bisognerà eseguire il comando
# update-grub
in Debian per far trovare a GRUB l’installazione di Windows e creare una voce d'avvio.

Per l'informazione, anche l'installer di Windows riconosce se è stato avviato in modalità UEFI e anche per lui vale la regola che bisogna avere il disco con la tabella GPT, altrimenti l'installazione non potrà proseguire. Per cambiarla bisogna aprire dall'installer stesso un prompt dei comandi ed eseguire diskpart (ma questo è off-topic), oppure si può usare una distro Linux live per convertire in GPT prima di installare Windows. Dopo alcuni test, sembrerebbe che a partire da Windows 10 la conversione da MBR a GPT sia automatica durante l'installazione e non è più necessario convertire prima di installare.
Le versioni di Windows installabili su sistemi con UEFI sono Windows 7 (solo a 64 bit), Windows 8.x (tutte le architetture) e Windows 10 (tutte le architetture).
Dopo l'installazione di Windows 8.x o 10 (o, se già installato, prima dell'installazione di Debian) bisogna disabilitare la funzione fast startup (avvio veloce) per poter far convivere i due sistemi operativi.

Riferimenti




Guida scritta da: BubuXP 12:52, 27 mag 2015 (CEST)

Swirl-auth40.png Debianized 40%

Estesa da:
Verificata da:
BubuXP 12:52, 27 mag 2015 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized


Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti