Piero V.

HP, EFI & Dual Boot

Contestualizzazione

Se vi interessa solo la soluzione del problema, guardate più in basso.

La settimana scorsa il portatile che girava per la casa, il Packard Bell di cui avevo già parlato, è morto, confermando la mia tesi sulla casa produttrice: meglio evitarla! Penso sia andato il BIOS, perché del monitor si accende solo la retroilluminazione, la ventola non gira e la CPU non scalda neanche.

Così abbiamo parlato un po’ in famiglia e abbiamo deciso di prenderne uno per sostituirlo.

Il budget era limitato, perché d’altronde non volevamo un computer potente, visto che ci serve solo per cose semplici come suite d’ufficio e navigare su internet, più alcune volte compiti un po’ più gravosi. Di sicuro un requisito non era una scheda grafica potente.

Abbiamo girato un po’ per i vari negozi della zona e la scelta è ricaduta su un HP 15D002SL.

Il computer è dotato di un Core i3 3110M (2,4GHz), 4GB di RAM, 500GB, scheda grafica incorporata, scheda ethernet e wireless della realtek, una USB 3.0 (e 2 2.0), Windows 8.1.

È costato 399€ e per quella cifra trovavo solo dei Pentium e dei Celeron, o altrimenti degli i3 della famiglia U, quindi con un clock più basso (tipo 1,66GHz), perciò come rapporto qualità-prezzo è stato il migliore che ho trovato.

Dal punto di vista estetico è piacevole, anche se è tutto lucido e allora si riempie di impronte che è una meraviglia. Di positivo c’è anche che come etichette c’è solo quella del Core i3. La tastiera secondo me vuole ricordare certi aspetti del Mac, come i tasti su e giù alti la metà di quelli sinistra-destra e al posto di numerosi tasti di funzione ci sono tasti multimediali e di controlli come luminosità e volume.

Dal punto di vista del software mi pareva abbastanza pulito, ho rimosso solo McAfee e la prova di Office. Mi sono stupito, invece, di aver trovato per la prima volta preinstallato un software come 7-zip. Ma se questo è un bene, ci sono due mali: non mi è stato chiesto sulla scelta del browser, cosa che mi pare sia obbligatoria in UE, ma soprattutto ha i riferimenti all’avvio di Windows hardcoded.

L’installazione di Linux riuscirà alla perfezione, al più mancherà il firmware della scheda wireless, però non potrete mettere GRUB come bootloader predefinito, se non eliminando o i file di boot di Windows, o sostituendoli con quelli di GRUB, il che andrebbe benissimo, se non voleste mantenere la compatibilità col sistema inoperativo, cosa che, visto che non sono solo io a usare il computer, non potevo fare.

Qualsiasi tentativo di modificare l’ordine con il comando efibootmgr non funziona, o meglio, sembrerà funzionare ma al riavvio vi renderete conto che non sarà successo niente.

Soluzione del problema

La chiave della soluzione sta in rEFInd, un bootloader per EFI che trova automaticamente i vari sistemi operativi e propone un menu grafico in cui scegliere quale avviare.

Non so perché, e a dire la verità non ho neanche molta voglia di indagare, GRUB non ce la fa, invece rEFInd con qualche magia sì.

Prima di tutto bisogna disabilitare il secureboot: cercate di premere F10 quando accendete il computer in modo da arrivare alle impostazioni, lì non mi ricordo esattamente il procedimento, però mi pare che nella seconda scheda ci siano le opzioni di boot, lì mettete secure boot disabled. Se non riuscite ad arrivare a queste impostazioni, potete anche andare su Windows, cercare su start Opzioni di avvio avanzate (o una cosa simile, basta scrivere avvio e sarà il primo risultato), premete su Riavvia, quindi scegliere Risoluzione dei problemi, Impostazioni UEFI, Riavvia e una volta riavviato premere F10. Comunque se avete installato Linux dovreste aver già fatto anche questo procedimento.

In seguito bisogna in parte seguire il suggerimento postato da GreatEmerald sul forum di hp.com: avviate Windows, andate su Start, cercate Powershell e apritela come amministratore (basta cliccarci col tasto destro e scegliere l’opzione per farlo). Qui date questi codici:

mountvol S: /S
cd S:\EFI\Microsoft\Boot\
cp bootmgfw.efi bootmgfw_.efi
bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw_.efi

A questo punto io sono andato su Linux, ma forse potete continuare su Windows, adattando un po’ le mie istruzioni seguenti. In ogni caso i comandi che vi suggerirò andranno dati tutti o da root sui sistemi Unix (su - se root è abilitato, altrimenti sudo -s) o da amministratore su Windows.

Avviate il sistema operativo in cui volete installare rEFInd e fatelo secondo le istruzioni ufficiali.

In seguito montate la partizione EFI (su Linux di solito è montata in /boot/efi, su Windows avreste dovuto già montarla prima su S:, o in caso contrario date mountvol S: /S), e spostatevi lì. Rimuovete il file EFI/Microsoft/Boot/bootmgfw.efi invece rinominate EFI/Boot/bootx64.efi in un altro file, per esempio bootx64_.efi, sempre nella stessa directory.

In comandi (Linux, su Windows sono gli stessi ma con le backslash, ovvero le barre al rovescio):

cd /boot/efi (o cd S: su Windows)
rm EFI/Microsoft/Boot/bootmgfw.efi
mv EFI/Boot/bootx64.efi EFI/Boot/bootx64_.efi

Adesso, quando riavvierete, troverete un menu tutto nuovo, rEFInd appunto.

Nel mio caso il primo è il file che abbiamo rinominato per ultimo, quello di HP che avvia Windows, il secondo è GRUB e il terzo direttamente il kernel Linux.

Invece mi manca un pulsante per Windows, penso perché non ho il driver NTFS, ma il file di HP fa tutto bene lo stesso.

Qui volendo sarebbe finita la soluzione, ma io, per gusto personale, ho abbassato il timeout di rEFInd a 5 secondi, 20 sono decisamente troppi, andando ad agire sulla riga 9 di EFI/refind/refind.conf. Poi, visto che continuo ad usare GRUB, ho abbassato il suo timeout a 2 secondi su /etc/default/grub.

Un’ultima cosaopzionale, è andare su Windows e installare una patch di Microsoft per rimuovere la scritta Secureboot disabilitato. Per questo vi rimando alle istruzioni sul sito Microsoft.

4 commenti