Può succedere...
Nonostante i passi da gigante fatti da Linux e da tutte le distribuzioni nel riconoscere ed usare tutto l'hardware disponibile, c'è ancora molto da fare. Capita piuttosto spesso di ottenere risultati non proprio entusiasmanti. Vediamo una breve carrellata di situazioni più o meno tragiche, e di possibili strategie per venirne fuori.
La prima brutta sorpresa che può capitare è di trovarsi davanti ad uno schermo in modo testo
che mostra un messaggio di errore (Figura 122, «Non si avvia il server X») che avvisa di non poter
avviare il server X, cioè l'interfaccia grafica. Possiamo vedere i messaggi di errore, che
però ci risulteranno altrettanto incomprensibili, premendo il pulsante
. Premendo invece ci viene chiesto se
vogliamo provare a configurare il server a mano (Figura 123, «Provare con la configurazione manuale?»), cosa per il
quale ci verrà chiesta la password di root. Dopo
qualche tempo (al massimo un minuto se il pc è molto lento) dovrebbe apparire l'interfaccia
di configurazione (Figura 124, «Configurazione scheda video e monitor»).
Scegliendo il pannello Hardware (Figura 125, «Monitor e scheda video rilevate automaticamente»), possiamo cambiare sia il tipo di monitor che il driver della scheda video.
Per la verità è abbastanza raro che il programma di installazione di Fedora faccia errori in queste scelte. Semmai quello che succede è che sia troppo ottimista, o che l'hardware sia troppo nuovo e non ancora compreso nel database interno.
In questi due casi la strategia è di tipo conservativo: scegliamo delle configurazioni che hanno molta più probabilità di funzionare, cioè di tipo generico. Per la scheda video possiamo scegliere un driver VESA generico (Figura 126, «Scheda video VESA generica»), mentre per il monitor possiamo scegliere in base alla risoluzione ed al tipo: se abbiamo un monitor LCD con risoluzione 1024x768 pixel, sceglieremo nella voce Generic LCD display un LCD panel 1024x768 (Figura 127, «Un monitor LCD generico»).
In questo modo possiamo essere ragionevolmente sicuri di non eccedere nelle specifiche, e molto probabilmente riusciremo ad avere finalmente visualizzato un desktop grafico, anche se la velocità non sarà entusiasmante.
Rimane da confermare eventualmente la risoluzione e la gamma di colori voluta, poi possiamo
premere . Siamo informati che la configurazione viene salvata sul
file /etc/X11/xorg.conf e che la vecchia configurazione viene
archiviata per sicurezza nel file /etc/X11/xorg.conf.backup (Figura 128, «Dove sono le configurazioni di X»).
Questa è una strategia che consiglio vivamente quando andiamo a pasticciare con un
qualsiasi file di configurazione: farne una copia da qualche parte, anche nella stessa
directory, usando un nome simile ed un suffisso aggiunto in coda. Ad
esempio: resolv.conf lo possiamo salvare in
resolv.conf.originale, oppure in
resolv.conf.mio, insomma basta che sia significativo per noi.
Se qualcosa va molto male, possiamo sempre rimettere il file originale al suo posto e recuperiamo tutto senza troppa fatica.
Subito dopo viene un tentativo di riavvio del server X (Figura 129, «Riproviamo con la nuova configurazione»), e se tutto è andato per il verso giusto dovremmo finalmente vedere il nostro sospirato pannello di login (Figura 74, «Il pannello di login di Fedora») dal quale possiamo entrare nel desktop.
Può succedere anche di peggio. Con dei normali PC di marca mi è capitato che all'avvio
si spegnesse del tutto il monitor, come quando il computer va in
standby, con il LED di alimentazione che passa dal verde al giallo. In questo caso siamo
completamente al buio, ma si può ancora fare qualcosa. Premendo la combinazione di tasti
Ctrl-Alt-F1 o
Ctrl-Alt-F2 (vanno bene tutti i tasti
funzione fino a F6), passiamo alla modalità terminale, che mostra un paio
di righe di termini incomprensibili (Figura 130, «Il terminale in modo testo»). Al prompt
login: digitiamo root, ci viene
chiesta la password, quella dell'utente root
(quando digitiamo non appare nulla, neanche gli asterischi: è perfettamente normale,
dobbiamo digitare la password alla cieca). Siamo nella shell di Linux, da cui possiamo fare
veramente di tutto. Per arrivare alla configurazione del video da qui abbiamo due
possibilità: la prima è chiamare il comando setup che avvia un menù in
modo testo che ci permette di accedere ad alcune utility di configurazione (Figura 131, «L'utility Setup»), e quella che sceglieremo è Configurazione di
X, che ci porterà esattamente allo stesso programma di configurazione appena
visto (Figura 124, «Configurazione scheda video e monitor»); la seconda è di impartire direttamente il comando
system-config-display, che lancia lo stesso programma.
Se anche con questo sistema il monitor va in standby all'avvio dell'applicazione, o peggio mostra un messaggio che non può visualizzare quel tipo di risoluzione, possiamo tentare con la combinazione di tasti Ctrl-Alt-+ e Ctrl-Alt-- (quelli del tastierino numerico) che servono a cambiare la risoluzione del video, passando fra tutte quelle disponibili: nel caso citato, era la risoluzione a 800x600 pixel a non essere “gradita” al monitor, mentre a 1024x768 funzionava perfettamente. Individuata una risoluzione che viene visualizzata, possiamo configurare il tutto per evirare quella particolare risoluzione.
Una volta riconfigurata la coppia scheda video e monitor, torniamo alla shell, da dove possiamo riavviare il server X con il comando: killall gdm-binary. In pochi secondi dovremmo avere il pannello di login (Figura 74, «Il pannello di login di Fedora»).
Come possiamo vedere ci sono varie strategie per uscire dal pantano. Il problema è conoscerle... e non farsi prendere dal panico.
Se abbiamo letto l'articolo Prima di Linux, sappiamo che con hardware particolare o troppo nuovo potremmo avere problemi. Oppure semplicemente dobbiamo aggiungere noi qualcosa. Ovviamente qui le cose si complicano, e non poco. Possiamo dare solo qualche suggerimento utile almeno per reperire informazioni su Internet.
Supponiamo di avere alcune periferiche interne al computer che non funzionano o non compaiono fra quelle riconosciute, come ad esempio una scheda di rete wireless o un lettore di smart card. Come possiamo sapere almeno se c'è una speranza di usarle in qualche modo?
La risposta non è proprio semplice, ma qualcosa possiamo fare: per prima cosa ci occorre
identificare in qualche modo le periferiche quale che sia la connessione. Ad
oggi una qualsiasi periferica interna al computer può essere connessa o tramite bus interno
PCI o tramite USB, sempre tramite un bus interno. In Fedora, ma anche in molte altre
distribuzioni Linux, sono disponibili i due comandi lspci e
lsusb, che devono essere impartiti tramite l'utente root. Il primo mostra l'elenco delle periferiche connesse al bus PCI,
mentre il secondo mostra l'elenco delle periferiche connesse ad un qualsiasi bus USB interno
o esterno del computer. Ad esempio su un notebook di nota marca, il comando
lspci riporta fra le ultime righe:
# lspci
...
02:06.4 Communication controller: Texas Instruments PCIxx12 GemCore based SmartCard controller
08:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5753M Gigabit Ethernet PCI Express (rev 21)
10:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
Ogni riga si legge in questo modo:
Il primo gruppo di numeri è l'indirizzo logico del dispositivo, inteso come bus:periferica.funzione. Serve per indicare in modo univoco un particolare dispositivo.
La prima parte della descrizione, fino ai due punti, è la categoria funzionale del dispositivo, ossia a cosa serve. Qui abbiamo una porta di comunicazione generica, una interfaccia ethernet ed una generica di rete.
L'ultima parte è descrittiva e contiene produttore e modello di periferica. In questo caso siamo abbastanza fortunati, dato che la descrizione è presente e leggibile per tutti e tre i dispositivi.
Per quanto riguarda questo specifico computer, abbiamo un lettore di smart card, una scheda di rete ethernet ed una scheda di rete wireless. Per la scheda di rete non ci sono problemi, viene riconosciuta e configurata automaticamente al momento dell'installazione, ma per le altre due non abbiamo avuto fortuna.
La scheda di rete wireless necessita di un driver non compreso nel kernel attuale. Basta inserire in Google™ i termini intel 3945 linux driver ed il primo link restituito porta proprio alla pagina web del team che sta sviluppando il driver per Linux. Da qui possiamo scaricare tutto il necessario per installare il driver. Per configurare poi il tutto, possiamo fare riferimento a questo articolo, alla sezione Il wireless della guida.
Per quanto riguarda invece il lettore di smart card, ricerche in Internet non hanno dato grandi risultati. Qualche notizia, non molto aggiornata, si può leggere qui e qui, ma in definitiva nessuno ha ancora messo mano allo sviluppo di un driver.
Un brutto segno, per quanto riguarda la presenza di un driver, è anche una eventuale risposta del tipo:
# lspci
...
02:01.2 Class abcd: unknown manifacturer unknown device
dove addirittura la categoria del dispositivo è sconosciuta, oltre al produttore ed al modello. In ogni caso, la presenza di tutte e tre le identificazioni non è detto che si traduca automaticamente nella esistenza del driver.
Per le periferiche USB la procedura è molto simile, e si usa il comando lsusb, che restituisce una lista di dispositivi collegati. Ad esempio, sullo stesso computer di prima, il comando restituisce questa lista:
# lsusb
Bus 001 Device 004: ID 03f0:171d Hewlett-Packard
Bus 001 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 003: ID 1130:6606 Tenx Technology, Inc.
Bus 002 Device 002: ID 08ff:2580 AuthenTec, Inc.
Per avere informazioni più dettagliate sui singoli dispositivi, possiamo usare una variante del comando che permette di chiede più informazioni per un solo dispositivo usando il bus e il numero di device:
# lsusb -v -s 2:2
Bus 002 Device 002: ID 08ff:2580 AuthenTec, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 8
idVendor 0x08ff AuthenTec, Inc.
idProduct 0x2580
bcdDevice 6.21
iManufacturer 0
iProduct 1 Fingerprint Sensor
iSerial 0
bNumConfigurations 1
... seguono molte altre righe
come possiamo vedere le informazioni sono molte di più e ci consentono immediatamente di verificare il tipo di dispositivo, ossia un lettore di impronte digitali.
Una ricerca con i termini authentec linux driver non ha portato molti risultati, tranne un paio che riporto a titolo di curiosità, qui e qui: in sostanza, per ora niente driver utilizzabili, e si sta lavorando per integrare le tecniche di identificazione biometrica con tutto lo strato di autenticazione di Linux. Ci vorrà ancora un po' di tempo.
Per chiudere: abbiamo visto come chiedere maggiori informazioni a Linux stesso sulle nostre periferiche, e come usare queste informazioni per reperire notizie ed eventualmente i driver in Internet. Ovviamente il compito non si esaurisce qui, perché una volta trovato il driver occorre installarlo e farlo funzionare, cosa non banale. Questo tipicamente implica una compilazione (ecco perché è consigliabile installare il supporto allo sviluppo), ed una serie ci modifiche ad alcuni file di configurazione in funzione del tipo di periferica.
Il mio personale consiglio è di attendere gli sviluppi “naturali” della nostra distribuzione. Se il nostro hardware non è particolarmente esotico, ed è sufficientemente diffuso, è molto probabile che venga aggiunto il necessario per il funzionamento in uno degli aggiornamenti successivi. Ovviamente questo vale per tutto l'hardware non necessario per il funzionamento di base. Certamente la non disponibilità di un driver per la nostra scheda video ci lascia a piedi, ma sono casi limitati ad hardware troppo recente per la distribuzione.
Questo invece è un esempio di un bug in una applicazione compresa nella distribuzione. In particolare è un errore del programma di installazione nel punto in cui dovrebbe rilevare il tipo di processore ed installare il kernel adeguato.
Per via di questo errore, installando Fedora Core 6 su un computer con processore di ultima generazione, invece di installare il kernel compilato ed ottimizzato per l'architettura giusta, indicata con il suffisso i686 nel nome del pacchetto, viene installato il kernel per architettura i586. Questo non pregiudica il funzionamento del computer, tanto che installando su un PC di tipo desktop non me ne sono accorto proprio, ma impedisce l'uso di alcune caratteristiche dei processori di ultima generazione, come ad esempio la variazione di velocità per risparmiare energia, usata in tutti i notebook.
In questo caso siamo dipendenti dal team che lavora alla distribuzione, ma sta anche a noi segnalare il problema nei modi e nei termini dovuti. Sul sito di Fedora c'è una pagina per ogni versione rilasciata dedicata ai problemi noti o più comuni, ed in prima posizione è riportato proprio questo del kernel, insieme alla procedura per correggerlo. Per chi ha difficoltà con l'inglese, ho scritto un breve articolo sul mio blog con la procedura di correzione, se non abbiamo passato i parametri giusti al momento dell'installazione (Sezione 4.1, «La partenza»), o per qualche motivo non sono stati efficaci.
Vediamo ora di affrontare il problema di rimettere a posto la funzione di ripristino, sempre se l'avevamo nel computer prima di installare Linux.
La procedura che segue funziona sui notebook HP Compaq™ di ultima generazione, almeno sulla serie nx7300 e nc6400, su cui l'ho potuta sperimentare personalmente.
Per gli IBM Thinkpad™ c'è una procedura simile sul sito ThinkWiki.
Occorre modificare il file di configurazione di GRUB in questo modo:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,4)
# kernel /boot/vmlinuz-version ro root=/dev/sda5
# initrd /boot/initrd-version.img
#boot=/dev/sda
default=2
timeout=50
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.19-1.2911.fc6)
root (hd0,4)
kernel /boot/vmlinuz-2.6.19-1.2911.fc6 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.19-1.2911.fc6.img
title Fedora Core (2.6.19-1.2895.fc6)
root (hd0,4)
kernel /boot/vmlinuz-2.6.19-1.2895.fc6 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.19-1.2895.fc6.img
title Other questo è per Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
title Ripristino
rootnoverify (hd0,2)
makeactive
chainloader +1
Andiamo a spiegare cosa abbiamo fatto. Per prima cosa quanto diciamo si applica solo alla situazione specifica indicata con un solo disco e presenza della partizione di ripristino in terza posizione nella tabella delle partizioni (vedere Sezione 3.6, «Il terzo incomodo» e Sezione 4.2.2, «Un disco, con partizione di ripristino»). Se la situazione è differente potremmo fare danni.
Per sicurezza possiamo controllare la situazione usando in un terminale, da utente
root, il comando:
# fdisk -l /dev/sda
Disk /dev/sda: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2103 16892316 7 HPFS/NTFS
/dev/sda2 2104 6464 35029732+ 5 Extended
/dev/sda3 6465 7297 6683040 c W95 FAT32 (LBA)
/dev/sda5 2104 3378 10241406 83 Linux
/dev/sda6 3379 3518 1124518+ 82 Linux swap / Solaris
/dev/sda7 3519 6464 23663713+ 83 Linux
che ci conferma la posizione della partizione di ripristino in /dev/sda3 (qui abbiamo un disco Serial-ATA).
Vediamo nel dettaglio le istruzioni date a GRUB:
title Ripristino: indica l'inizio di una nuova opzione di avvio per GRUB, che apparirà nel menù iniziale (Sezione 4.9, «Salve, sono GRUB!»). La parola chiave è title, quello che segue comparirà nel menù di avvio.
rootnoverify (hd0,2): istruisce GRUB su quale sia la partizione di
avvio, e gli impone di non fare controlli. la notazione di GRUB è
(disco,partizione), dove disco è
hd seguito da un numero, 0 per il primo disco, 1 per il
secondo, e così via; partizione è il numero della partizione come
indicato da fdisk partendo però da 0, quindi la partizione
sda3 per GRUB è (hd0,2), appunto.
makeactive: la partizione indicata nel comando rootnoverify deve essere segnata come partizione di avvio prima di cedere effettivamente il controllo ad essa. Potrebbe anche funzionare senza, ma è meglio non rischiare.
chainloader +1: carica il primo settore della partizione indicata con il comando rootnoverify e gli passa l'esecuzione. In pratica è la stessa operazione eseguita dal BIOS durante un avvio diretto.
Da notare che makeactive è riportato anche nel gruppo di istruzioni per avviare Windows: questo perché se avviamo il ripristino una volta, la successiva che andiamo ad avviare Windows la partizione in cui risiede deve essere segnata come attiva, e dato che ce ne può essere solo una attiva, GRUB sposta il flag sulla partizione da avviare.
Su entrambi i modelli di notebook HP Compaq la procedura funziona perfettamente, avviando il programma contenuto nella partizione di ripristino.
Su altri modelli di altre marche la procedura potrebbe non funzionare, per vari motivi. Il più probabile è il tipo differente di partizione, per esempio nascosta. Purtroppo non sono in grado di fornire maggiori informazioni: ogni produttore sceglie il suo sistema di ripristino, ed è umanamente impossibile trattare tutti i casi senza provarli direttamente, cosa per cui occorre un buona conoscenza di GRUB e del suo funzionamento, oltre alla struttura della funzione di ripristino specifica di quel produttore.
Se per un qualsiasi motivo, quale che sia, vogliamo eliminare Linux Fedora e ridare tutto lo
spazio a Windows, la procedura da seguire richiede un minimo di cognizione di causa. La
procedura più semplice che suggerisce il buonsenso, cancellare le partizioni di Linux e
riallargare quella di Windows, ci lascerebbe a piedi per un motivo molto semplice: GRUB ha
bisogno per il suo funzionamento di alcuni file contenuti nella directory /boot nelle partizioni di Linux. Cancellando questi file,
GRUB si bloccherebbe all'avvio non sapendo che fare, e ci troveremmo a non poter più avviare
né Linux, perché cancellato, né Windows, non essendoci più un bootloader valido.
Per eseguire questa procedura occorre il disco originale di installazione di Windows XP. Quelli di ripristino forniti dal produttore non sono idonei, perché andremo ad utilizzare la Console di ripristino di Windows, disponibile solo partendo dal CD originale di installazione di Windows XP o Windows 2000.
Per evitare queste complicazioni, procederemo come segue:
Per prima cosa faremo un backup totale con la procedura mostrata in precedenza (Sezione 3.3, «Il backup totale»), ignorando le partizioni che contengono Linux.
Ora il passo più importante: rimettere a posto il bootloader originale. Riavviamo il computer e inseriamo il disco di installazione di Windows. In pochi secondi dovremmo avere all'avvio un messaggio che ci invita a premere un tasto qualsiasi per avviare da CD-ROM, cosa che facciamo.
Dopo una ventina di secondi dovremmo avere la schermata di inizio installazione di Windows (Figura 132, «Avviare la Console di ripristino»), da cui sceglieremo l'opzione Per ripristinare una installazione di..., premendo il tasto r.
Dopo qualche decina di secondi ci appare un elenco delle installazioni di Windows
rilevate dalla console, contrassegnate ognuna con un numero. Nel caso comune ce ne
sarà una sola, contrassegnata dal numero 1. Alla domanda Quale installazione
di Windows si vuole accedere risponderemo quindi 1,
dopodiché ci viene chiesta la password dell'utente Administrator di quella
installazione di Windows. Appena inserita la password, ci viene proposto il prompt
C:\WINDOWS> (Figura 133, «Siamo nella console di ripristino»).
L'utente Administrator, anche se non compare, è sempre presente in tutte le installazioni di Windows XP. Se non abbiamo mai assegnato password a nessun utente amministratore, anche quella di Administrator è vuota, per cui basta dare un Invio. Altrimenti sarà la stessa password assegnata al primo utente creato al momento dell'installazione, che di solito è un amministratore.
Al prompt digiteremo il comando fixmbr. Immediatamente il comando mostrerà un avviso in cui comunica che il record di avvio principale (il MBR appunto), non è leggibile o non è quello standard. Ovvio, è stato sovrascritto da GRUB...
Seguono vari altri avvisi, che terminano con la domanda se vogliamo scrivere un nuovo record di avvio principale, domanda a cui risponderemo s.
Se tutto è andato per il verso giusto, avremo un messaggio di conferma, ed il comando tornerà al prompt (Figura 134, «Ora il MBR è di nuovo al suo posto»). Possiamo uscire dalla console di ripristino con il comando exit, ed il computer si riavvierà.
A questo punto avremmo terminato. Rimangono le partizioni usate per Linux, inutilizzate.
Abbiamo varie possibilità, la più semplice è quella di eliminarle con la gestione disco di Windows XP, e ricrearle per usarle come deposito dati separato dal disco di sistema. Oppure riallargare la partizione di Windows per riportarla alla sua dimensione originale:
Possiamo avviare dal System Rescue CD, ed usare Gparted (che abbiamo già visto), con cui cancelleremo tutte le partizioni create per Linux.
Di seguito, sempre con Gparted, possiamo ripristinare la dimensione originale della partizione di Windows XP.
Come sempre, dopo aver utilizzato Gparted per ridimensionare una partizione NTFS, al riavvio di Windows avremo il controllo con scandisk.
Ora Linux non esiste più, e Windows è di nuovo padrone del campo.
Tutto questo vale anche se abbiamo la partizione di ripristino del produttore, ma c'è un pesante effetto collaterale: se ripristiniamo dalla console di Windows non potremo comunque accedere alla partizione di ripristino, perché il bootloader di Windows conosce solo Windows.
Abbiamo due possibilità: la prima, accedendo a Windows, possiamo usare il programma di gestione del ripristino, fornito con il computer, che possiede quasi certamente una funzione di recupero del MBR originale specifico per quel modello di computer. La seconda possibilità è di usare il backup fatto in precedenza (Sezione 3.3, «Il backup totale»), e ripristinare il MBR originale (Sezione 3.4, «Rimettiamo tutto a posto»).
Come ho già infinite volte ribadito, questa procedura è ad alto rischio, per cui non è detto che funzioni.
La convivenza di due sistemi operativi è sempre difficile. Per non parlare della eventuale presenza del terzo incomodo, la partizione di ripristino, che a tutti gli effetti è un terzo sistema operativo. Questo dovrebbe essere la dimostrazione ulteriore che conviene installare Linux solo se si ha una valida motivazione. Tornare indietro potrebbe non essere possibile.
Capita per vari motivi che occorra reinstallare Windows. Al momento di scegliere su quale partizione installare, anche se si riutilizza quella dell'installazione precedente e non si toccano le altre partizioni dove risiede Linux, dato che il programma di installazione di Windows parte dal presupposto di essere l'unico sistema operativo installato, al termine dell'installazione il bootloader di Windows soprascrive quello di GRUB, cancellandolo. Il risultato è che, pur ancora al suo posto e integro, Linux sembra sparito nel nulla.
Anche qui abbiamo il paracadute: il supporto di installazione di Linux Fedora contiene una versione particolare chiamata Rescue (dall'inglese salvataggio), che serve proprio per emergenze di questa natura.
Per “resuscitare” Linux, basta riavviare il computer, inserire il disco di
installazione di Fedora e al prompt boot: (Figura 35, «Via!») basta
digitare:
boot: linux rescueed entriamo in una modalità terminale da cui possiamo fare molto per recuperare la nostra preziosa installazione di Linux.
Dopo il consueto flusso di messaggi del kernel in avvio, appare un pannello per la scelta della lingua (Figura 135, «Fedora Rescue: scelta della lingua»). In questo tipo di interfaccia utente, che mostra pulsanti, liste, caselle di testo usando la modalità terminale, o testo semplice, si impiegano i tasti freccia per muoversi dentro le liste, il tasto di tabulazione per passare da una zona all'altra, quindi da una lista ad un pulsante o ad una casella di testo, la barra spaziatrice per “premere” il pulsante selezionato e il tasto Invio per confermare le scelte fatte e passare oltre.
Dopo scelta la lingua, il pannello successivo permette di scegliere la configurazione della tastiera (Figura 136, «Fedora Rescue: scelta della tastiera»). Se abbiamo già scelto la lingua italiana è già selezionata la configurazione corrispondente.
Di seguito ci viene chiesto se desideriamo attivare le interfacce di rete presenti nel computer (Figura 137, «Fedora Rescue: attivazione della rete»). In questo caso è indifferente, visto che per questo specifico caso non ci serve la connessione in rete, ma è utile saperlo: possiamo avere il collegamento in rete anche in questa situazione di emergenza. E' bene sapere che, per renderci le cose semplici ed indolori, è meglio utilizzare connessioni Ethernet, con cavo, ed evitare le connessioni wireless, che di solito sono più laboriose e complicate da configurare.
Se scegliamo di attivare la rete ci viene chiesto di fornire i parametri di collegamento (Figura 138, «Fedora Rescue: i parametri di connessione»). Non ci dilungheremo su questi, è sufficiente sapere che esiste la possibilità, se ne abbiamo bisogno.
Il pannello seguente ci permette di scegliere se e come montare le partizioni originali dove è installato Linux (Figura 139, «Fedora Rescue: le partizioni di sistema»). Abbiamo tre scelte:
- le partizioni vengono montate in lettura/scrittura, ossia possiamo modificarne il contenuto. Questa modalità permette di operare sui file di configurazione del sistema e di modificarli a piacimento. E' molto utile nel caso in cui dopo aver pasticciato con qualche file non riusciamo più ad accedere al sistema operativo. Ovviamente occorre dove mettere le mani, e come. In questo caso torna spesso utile il trucco di creare sempre una copia dei file di configurazione che andiamo a toccare.
- le partizioni vengono montate in sola lettura. Non è possibile modificare il contenuto delle partizioni in alcun modo. Può servire per fare un backup, in modo da avere anche la sicurezza che un errore di manovra non comprometta un sistema perfettamente funzionante.
- Nella mia esperienza serve in un caso: dopo una mancanza di alimentazione, per uno spegnimento brutale o per un blocco totale del computer (capita, anche con Linux). All'avvio successivo può succedere di avere un messaggio che avverte di non poter montare la partizione di root, seguito da un kernel panic. Il filesystem contiene tanti e tali errori che serve l'intervento umano per tornare ad essere utilizzabile. Non è un errore gravissimo, e spesso si recupera in breve tempo, ma occorre sapere cosa stiamo facendo: come ho già detto, non c'è posto per i mi pare....
Nel nostro caso sceglieremo la prima voce, .
Subito dopo parte la ricerca (Figura 140, «Fedora Rescue: ricerca delle partizioni»), operazione che dura qualche secondo, seguita da un pannello che notifica dove sono montate le partizioni dell'installazione di Linux che andiamo a recuperare (Figura 141, «Fedora Rescue: partizioni trovate e montate»).
Siamo quasi pronti per operare. Al passo successivo troviamo la shell pronta a rispondere ai nostri comandi (Figura 142, «Fedora Rescue: la shell»).
Spendiamo due parole per capire come funziona questa modalità di lavoro. Le partizioni del
sistema operativo Linux installato sono tutte montate sotto la directory /mnt/sysimage, e conservano la struttura originale. Se
abbiamo seguito lo schema di partizionamento consigliato in precedenza (Sezione 3.2, «Un solo disco e niente spazio»), abbiamo in /mnt/sysimage la
partizione di root, mentre in /mnt/sysimage/home la
partizione di home. La configurazione di GRUB e tutti i suoi file sono dentro la directory
/mnt/sysimage/boot/grub, l'unico problema è
riportare al suo posto il bootloader.
Il comando che serve è grub-install, uno script shell fornito con GRUB
che si occupa di semplificarci la vita. Il comando accetta come parametro il disco su cui
deve installare o ripristinare il bootloader, usando la configurazione preesistente,
posizionata normalmente in /etc/grub.conf, che è un link simbolico al
file /boot/grub/grub.conf. In altre distribuzioni il file è
/boot/grub/menu.lst, ma il succo non cambia. Se abbiamo reinstallato
Windows esattamente nella stessa partizione dello stesso disco, e non abbiamo aggiunto,
rimosso o spostato dischi, il file di configurazione è ancora totalmente valido. Per
ripristinare il bootloader il comando è:
sh-3.1#grub-install --grub-shell=/usr/sbin/grub --root-directory=/mnt/sysimage hd0 Installation finished. No error reported. This is the contents of the device map /mnt/sysimage/boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script ‘grub-install’. # this device map was generated by anaconda (hd0) /dev/hdash-3.1#
In questo modo abbiamo riscritto il bootloader esattamente nello stesso modo e con la stessa configurazione che aveva al momento della prima installazione.
Per indicare il disco possiamo sia usare la notazione di GRUB che il nome del dispositivo
secondo il punto di vista di Linux, quindi in questo specifico caso avremmo potuto anche
scrivere /dev/hda invece di hd0.
Se come nel caso mostrato otteniamo un messaggio di conferma di operazione riuscita, senza errori, possiamo uscire dalla modalità di rescue e riavviare il computer, semplicemente digitando il comando exit. Il programma termina, smontando le partizioni, e riavvia il computer. Se tutto è andato per il giusto verso vedremo di nuovo la schermata di avvio di GRUB (Sezione 4.9, «Salve, sono GRUB!»).
Abbiamo recuperato l'installazione di Linux, senza perdere nulla e senza fare strani riti magici. Inoltre abbiamo appreso l'uso della modalità rescue di Fedora, che ci tornerà utile in molte altre situazioni.