www.openmamba.org -- linux italian distro

martedì 29 gennaio 2008

Ripristinare GRUB e GAG

Mi è successo di avere un bel problema con GAG  e GRUB, e questa purtroppo è una cosa che per un motivo o per l'altro può succedere.
Ma come si fa una volta che non si riesce più a far partire il sistema operativo?
Si può ripristinare il tutto, grazie a un cd live di openmamba.
Facciamo partire il cd di openmamba e apriamo una shell (saremo utenti root).

Per la spiegazione delle partizioni rimando a una guida che devo ancora fare e che spero metterò fra poco, per ora spero che sappiate la differenza fra sda2 hda2 hdb4 ecc...

GAG
Per reinstallare GAG è semplicissimo, basta dare il comando:

# gag-install -k QWERTY -l ITALIAN /dev/XXX

dove XXX è l'hard disk su cui vogliamo ripristinare GAG, per esempio hda, hdb, sda, sdh a seconda.

GRUB:
Grub è leggermente più complesso da reinstallare.
Ci troviamo nel caso in cui abbiamo più sistemi operativi, cioè 2 Sistemi operativi Openmamba (o anche altre distribuzioni Linux, basta che usino Grub come boot loader), e un Windows (ad esempio, ma potrebbe essere una qualsiasi combinazione di sistemi operativi), e dobbiamo reinstallare GRUB relativo ad un Linux (esempio: Openmamba-desktop).
Consideriamo inoltre che sia installato GAG nel MBR e ogni sistema abbia il suo boot loader nella sua partizione.
(NB: nel caso in cui GRUB sia installato nel MBR il discorso è quasi del tutto analogo, specificherò in seguito dove cambia)

- IF (le partizioni non sono montate automaticamente) {
// Nel caso siano già montate le partizioni, andare alle parentesi graffe chiuse.
Openmamba dovrebbe aver già montato automaticamente le partizioni presenti sul sistema, se così non fosse dobbiamo inizialmente montare la partizione del sistema linux di cui vogliamo ripristinare il boot manager.
Per montare una partizione occorre dare il comando:

# mkdir /mnt/disk1
# mount -text3 /mnt/disk1 /dev/XXX



dove XXX è l'identificativo della partizione e può essere tipo hda4, sda3, hdc2 .
Per smontare una partizione montata occorre dare il comando

# umount /mnt/disk1

Si devono montare e smontare le partizioni finchè non si trova quella che cerchiamo. 
(Ovviamente una volta montata ci dobbiamo entrare dentro per vedere se è quella che cerchiamo, e se non lo è ,  la smontiamo e passiamo alla successiva)

}

Ora abbiamo la partizione montata su /mnt/disk e quindi dobbiamo passare a caricare informazioni che saranno utilizzate da GRUB, senza le quali il ripristino potrebbe NON andare a buon fine.

mount -o bind /dev /mnt/work/dev
mount -o bind /proc /mnt/work/proc
cp /proc/mounts /mnt/work/etc/mtab


Le cartelle /dev e /proc contengono dei file che sono creati quando il sistema viene avviato, quindi sono presenti in openmamba live, ma nella partizione di openmamba-desktop che abbiamo appena montato non ci sono,dato che è stato montato, e non avviato.
Per questo simuliamo che sia stato avviato e ce li mettiamo noi, così Grub li può usare.
Il file /etc/mtab è sempre creato all'avvio e contiene le partizioni montate, quindi viene creato con il file /proc/mount, il quale contiene le partizioni di openmamba-live (e contiene esattamente quello che viene mostrato se si da il comando

# mount

)

Ora siamo quasi arrivati alla fine:

# chroot /mnt/disk1 /bin/bash

questo comando ci permette di diventare root del sistema presente in disk1, nel nostro caso openmamba-desktop. Da ora qualsiasi comando che diamo nella Konsole è come se lo stessimo dando dopo aver avviato openmamba-desktop.
E infine il comando per installare Grub:

# grub-install /dev/XXX

dove XXX è sempre l'identificativo della partizione (hda2, hda5, hdb3, sda3, ecc).

A questo punto grub dovrebbe dire che l'installazione è finita senza errori, e quindi possiamo riavviare normalmente tramite kde, e al riavvio successivo tutto dovrebbe funzionare correttamente.

Nessun commento: