====== Debian GNU/Linux su Acer Aspire ES 11/ES 14 con UEFI ====== Su questi portatili con disco SSD è necessario installare una versione recente di Debian, altrimenti il disco non viene riconosciuto. La prima installazione (fallita) è stata tentata avendo impostato nel BIOS il **Boot Mode** **Legacy**. Si avvia con una chiavetta USB Netinst di Stretch e si sceglie l'opzione Graphical Install. È necessario passare il parametro **edd=off**, altrimenti il programma di installazione non parte: premere TAB sul menu di avvio e quindi aggiungere il parametro alla fine della riga di comando kernel. L'installazione va a buon fine senza errori, ma al primo riavvio tutto si blocca al caricamento della ramdisk iniziale: Loading initial ramdisk ... Sembra proprio che ci sia una incompatibilità con il software e la **Boot Mode Legacy**. Si deve attivare quindi la modalità **UEFI** seguendo questa procedura piuttosto intricata: === Prima dell'installazione === Bisogna attivare il Boot Mode UEFI, ma con il Secure Boot disabilitato: - Accendere il PC e premere F2 per entrare nel **BIOS** - Boot => **Boot Mode** => **UEFI** - Se si riavvia otteniamo il messaggio **Secure Boot Fail**, non è possibile avviare né da hard disk né da chiavetta USB. - Spengere, riaccendre e premere F2 per entrare nel **BIOS** - Security => **Set Supervisor Password** (impostare una password del BIOS, altrimenti è impossibile disabilitare il //Secure Boot//). - Boot => **Secure Boot** => **Disabled** - Verificare che la priorità di boot sia **USB HDD**. - Riavviare. Parte il programma di installazione da USB, **non è necessaria** l'opzione ''edd=off''. Durante l'installazione si sceglie di utilizzare il **metodo EFI** per il partizionamento del disco. Al reboot del sistema si ottiene però l'errore **No Bootable Device** dal BIOS. È necessario aggiungere il sistema appena installato al menu UEFI: === Dopo l'installazione === Si deve indicare il nuovo sistema come fidato, il Secure Boot va comunque disabilitato: - Accendere il PC e premere F2 per entrare nel **BIOS** (viene richiesta la password). - Boot => **Secure Boot** => **Enabled** (è necessario per poter accedere alla voce di menu seguente). - Security => **Select an UEFI file as trusted** * Navigare nel filesystem UEFI fino a debian **grub64.efi**. - Boot => **Secure Boot** => **Disabled** (è necessario altrimenti il file grub64.efi non viene accettato come valido). Vedere il paragrafo più avanti sullo schema di partizioni creato dal programma di installazione. === In caso di reinstallazione === Si deve resettare l'indice dei sistemi fidati e aggiungere quello reinstallato: - Accendere il PC e premere F2 per entrare nel **BIOS** - Boot => **Secure Boot** => **Enabled** (è necessario per poter accedere alla voce di menu seguente). - Security => **Erase all Secure Boot Settings** - **Riavviare** ed accedere nuovamente al BIOS. - Security => **Select an UEFI file as trusted** * Navigare nel filesystem UEFI fino a debian **grub64.efi**. - Boot => **Secure Boot** => **Disabled** ====== Preparare le partizioni manualmente ====== Per partizionare e formattare le partizioni manualmente (in modo simile al programma di installazione Debian) ecco le ricetta **parted**: parted --script /dev/mmcblk0 \ mklabel gpt \ mkpart boot fat32 1MB 540MB \ mkpart swap linux-swap 540MB 4.8GB \ mkpart rootfs ext4 4.8GB 100% \ set 1 boot on e quindi i comandi di formattazione: mkfs.fat -F 32 /dev/mmcblk0p1 mkswap /dev/mmcblk0p2 mkfs.ext4 /dev/mmcblk0p3 ====== Clonazione di una installazione UEFI ====== Supponiamo di aver avviato un PC nuovo con GRML ed aver partizionato e formattato il disco con le istruzioni del paragrafo precedente. È possibile clonare una installazione remota con questi passaggi: mount /dev/mmcblk0p3 /mnt cd /mnt ssh remote "dump -0 -a -b 64 -f - /dev/mmcblk0p3" | restore -r -b 64 -f - mkdir /mnt/boot/efi mount /dev/mmcblk0p1 /mnt/boot/efi mkdir /mnt/boot/efi/EFI mount -o bind /dev /mnt/dev mount -o bind /dev/pts /mnt/dev/pts mount -o bind /proc /mnt/proc mount -o bind /sys /mnt/sys chroot /mnt /bin/bash Dentro l'ambiente chroot verificare che sia installato il pacchetto **grub-efi**, si deve verificare che **''/etc/fstab''** contenga nomi di device validi e quindi eseguire: vi /etc/fstab grub-install /dev/mmcblk0 update-grub update-initramfs -k all -u **ATTENZIONE**: Con il kernel 6 è probabile ottenere un errore durante il **grub-install**: EFI variables are not supported on this system In questo caso è probabile che si debba montare nel chroot anche il seguente pseudo filesystem: mount -o bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars ====== Immagine Netinst su chiavetta USB ====== Invece di usare Unetbootin (che può causare diversi problemi) è preferibile copiare l'immagine ISO direttamente su una chiavetta USB. Si copia sul device intero, non su una partizione: cp image.iso /dev/sdX