Installare Debian su PC con firmware UEFI: differenze tra le versioni

nessun oggetto della modifica
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 16: Riga 16:
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).
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 ==
== Vecchi sistemi ==
 
Quanto segue è stato scritto ai tempi di Debian Buster e pertanto le indicazioni presenti risultano per lo più datate.
 
{{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].}}
{{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].}}
=== 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 (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>
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 (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>
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]]. Debian 10 ([[Buster]]) è la prima a supportare il Secure Boot out-of-the-box, almeno per le [[architettura|architetture]] PC a 64 bit (''amd64'').}}
{{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]]. Debian 10 ([[Buster]]) è la prima a supportare il Secure Boot out-of-the-box, almeno per le [[architettura|architetture]] PC a 64 bit (''amd64'').}}
=== Supporti di installazione ===
==== Supporti di installazione ====
Quasi tutti i supporti di installazione Debian sono già avviabili da UEFI, tranne:
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.
* 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, Debian 8 ([[Jessie]]) compresa. Mentre da Debian 9 ( [[Stretch]]) UEFI è supportato, e da Debian 10 ([[Buster]]) lo è anche il Secure Boot sulla maggior parte dei moderni PC (per maggiori informazioni si rimanda [https://wiki.debian.org/SecureBoot qui]).
* [https://www.debian.org/CD/live/index.it.html le immagini live] delle "vecchie" release, Debian 8 ([[Jessie]]) compresa. Mentre da Debian 9 ( [[Stretch]]) UEFI è supportato, e da Debian 10 ([[Buster]]) lo è anche il Secure Boot sulla maggior parte dei moderni PC (per maggiori informazioni si rimanda [https://wiki.debian.org/SecureBoot qui]).
==== 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 già integrato 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:
Riga 42: Riga 47:
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 ===
Una volta avviata, la procedura d'installazione è la stessa di quella di un PC con BIOS, almeno fino al momento del partizionamento.
Una volta avviata, la procedura d'installazione è la stessa di quella di un PC con BIOS, almeno fino al momento del partizionamento.
{{Warningbox|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.}}
{{Warningbox|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 ===
==== 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.<br>
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.<br>
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.<br>
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.<br>
Riga 52: Riga 57:
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 è <code>SCSI1 (0,0,0) (sda) - 500.1 GB ATA WDC WD5000AAKS-0</code>) 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).
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 è <code>SCSI1 (0,0,0) (sda) - 500.1 GB ATA WDC WD5000AAKS-0</code>) 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 ===
==== 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 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>).
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 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>
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>
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>
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>
3 113

contributi