Aggiorniamo il kernel nei sistemi in dual boot

Il post di oggi vuole essere una precisazione, una continuazione, un completamento rispetto al post che abbiamo scritto per installare Fedora 20 in dual boot con Windows 8.
Quindi questo post interessa solo chi ha già seguito la guida.

linux

Come sempre le cose, quando vi è di mezzo Windows, non sono mai semplici. Meno male che esistiamo noi di Tux Maniacs che vi diamo una mano 😉
Se avete seguito la nostra guida vi sarete accorti che non è possibile aggiornare il kernel all'ultima versione in quanto ogni volta che lo fate viene fuori un messaggio di errore, con conseguente infarto da parte vostra. E talvolta anche qualche maledizione verso la nostra redazione.

Tornando seri, questo problema si verifica a causa, caso strano, dell'estrema rigidità di Windows. Infatti quando viene installato questo sistema operativo, crea un partizione EFI che non può essere spostata, pena la perdita del bootloader Windows.

Per risolvere il problema vi illustriamo un semplice script per l'aggiornamento sicuro del kernel di Fedora 20.

 

 

PREPARAZIONE
L'obbiettivo di questa sezione è scoprire in quale partizione risiede il boot di Windows. Normalmente è posizionato in sda2.
Comunque per sicurezza diamo il comando:

sudo fdisk -l

Che stampa a terminale tutte le partizioni e i loro flag. Normalmente la partizione EFI di Windows è sempre in testa al disco rigido. Quindi è la prima che troviamo scorrendo dall'alto al basso il listato.


fdisk-l
Come potete vedere, nel nostro caso, la partizione EFI è sda2.

 

 

CREIAMO LO SCRIPT
Posizioniamoci nella nostra home e creiamo un nuovo file che chiameremo:

.kernel-update.sh


Apriamolo con Gedit, copiando e incollando il seguente listato:

#!/bin/sh
 echo "Aggiornamento kernel..."
 echo "Servono i requisiti di root, inserire la password di root:"
 su
 grub2-mkconfig -o /boot/grub2/grub.cfg
 nano /boot/grub2/grub.cfg
 mount /dev/sdaX /mnt/
 cp -v /boot/grub2/grub.cfg /mnt/EFI/fedora/grub.cfg
 reboot

Sostituendo al posto di X il numero della partizione del bootloader di Windows (sda2 nel mio caso).
Fatto questo, salviamo e chiudiamo. Ora clicchiamo con il tasto destro e nella sezione "proprietà", "permessi", abilitiamo la spunta con il nome "Consentire l'esecuzione del file come programma".

 

permessi

 

 

FUNZIONAMENTO
Come si può vedere dal listato, lo script dopo aver preso i privilegi di root, si occupa di aggiornare il Grub 2 con il comando grub2-mkconfig.
Subito dopo apre il nuovo file con Gedit, e qui dovrà esserci un nostro intervento modificandolo in modo da far puntare al Grub 2  la corretta partizione del Windows Boot Manager.
Una volta aperto Gedit, ci spostiamo nella sezione menuentry 'Windows Boot Manager' e inseriamo come prima riga sottostante la seguente stringa:


 set root='hd0,gptX'

DaEditare-Joel
Dove, come al solito,  al posto di X dovete mettere il numero della partizione che abbiamo in precedenza capito dove risiede il bootloader (per me la 2).

Fatto ciò salviamo e chiudiamo.
Lo script ripartirà e, una volta montata la partizone sdaX, provvederà a copiare i file interessati.

Come ultima istruzione, lo script riavvia la macchina.

 

 

UTILIZZO
Come ultimo creiamo un alias per rendere più felice l'uso da parte dell'utente.
Apriamo con Gedit il file .bashrc con:

gedit .bashrc

e scorriamo fino ad arrivare nella sezione # User specific aliases and functions e inseriamo subito dopo:

alias update-kernel='./.update-kernel.sh'

Successivamente diamo:

source .bashrc

per aggiornare il file.
In questo modo possiamo dare semplicemente da terminale la stringa:

update-kernel

e la procedura partirà in modo molto semplice.

Fonti:
- Immagini di Joel Garia;

Dottore in Informatica. Appassionato di computer fin dal primo PC Olivetti con Windows 95 e la bellezza di 8 MB di RAM.
Utilizzatore Linux da 5 anni, credo profondamente nella filosofia open source.
Dopo tante distro provate sul mio fidato Toshiba, uso Fedora per lo studio e il divertimento.

Lascia un commento