martedì 16 ottobre 2007

Configurazione di GRUB: menu.lst

Eccoci di nuovo! E parliamo ancora del famoso bootloader di Linux.
Questo è solo un piccolo post sulle basi della configurazione di GRUB, spero che a qualcuno di voi serva!

Come vi chiamate?
Per il niubbo dei sistemi operativi *nix una delle cose più difficili da imparare è cambiare il punto di vista nel pensare il computer. Negli OS *nix praticamente tutto viene visto come un file, incluse le periferiche e i dischi, che non sono altro che "file" che hanno bisogno di essere "montati" in associazione con una directory per poter accede al loro contenuto.
I nomi "standard" C:, D: e così via.. sono rimpiazzati da un modo più furbo di chiamare i dischi ossia... hda, hdb, hdc.... e le loro partizioni: hda1, hda2, hda5
hda indica il primo hard disk del computer, le sue partizioni sono numerate dalla 1 alla 4 (partizioni primarie) e dalla 5 in poi per le logiche... quindi hda5 indica la prima partizione logica del primo hard disk.
Il bootloader GRUB invece di questi noimi ha la sua propria notazione che differisce solo nella sintassi rimanendo consistente nel concetto. In quasi ogni distribuzione il file di configurazione di grub /boot/grub/menu.lst comincia proprio con un commento che fornisce la corrispondenza tra le due diverse notazioni:

# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/hda (hd0)
# /dev/hdb2 (hd1,1)
# /dev/hda3 (hd0,2)
#

Configurazione generale
Dopo questo e altri commenti utili per capire la sintassi del file di configurazione di GRUB, comincia la sezione general configuration.
Qui sono impostate le seguenti opzioni:
  • timeout (in secondi) prima che GRUB lanci la scelta predefinita

    timeout 5


  • la default entry da avviare dopo "timeout" secondi

    default 0


  • lo schema di colori
  • color light-blue/black ligth-cyan/blue

Sul mio LiBook con installato solo Archlinux ho settato queste opzioni in modo da non perdere tempo all'avvio e da non vedere lo spara-flash del menu causato appunto dall'aver impostato a 0 il tempo di timeout... come non essere sparaflashati? ;-) semplice testo nero su sfondo nero! :-P
Ecco qua:

timeout 0
default 0
color black/black black/black

Boot Entries
Ecco finalmente la parte del file di configurazione che c'entra con il boot. La prima voce del menu è identificata dal numero 0 e così via... Le voci di menu per l'avvio di un sistema Linux prevedono l'inserimento dei dati riguardanti il kernel e l'initrd da avviare. Per avviare Window$ bisogna impostare le opzioni, "rootnoverify", "makeactive" e "chainloader + 1".
Bene, questo è quindi la voce 0 del mio file di configurazione, che avvia ArchLinux con il framebuffer abilitato per avere una console più carina e "spaziosa", come ho spiegato in un post precedente...

title ArchLinux
root (hd0,0)
kernel /vmlinuz26 root=/dev/hda3 ro vga=792
initrd kernel26.img

Ci sono alcune altre cose "oltre-le-basi", da fare e provare nel file menu.lst. Opzioni che permettono di impostare un'immagine di sfodno e altre cose carine...
In questo post non c'è posto per le "tamarrate"... ma forse in futuro mi documenterò e scriverò qualcosa su queste "advanced features" ;-)

see ya!
bYe,
Andy

7 commenti:

  1. ciao io ho un problema nel far partire windows xp dal boot manager grub. Questa è la mia config hardware: 1 HD Ide con ubuntu 7.10; 1 HD S-ATA con xp già installato (e che si avvia se disinstallo l'HD con linux); 1 HD S-ATA per i files in comune. Nella menu.lst l'OS di default è ubuntu come voglio che sia, però quando scelgo all'avvio di far partire win xp mi dice: NTLDR mancante. Come devo modificare la menu.lst? grazie in anticipo!

    RispondiElimina
  2. questo che ho appena scaricato è per linux: bootloader-manager_0.4.2ubuntu0_all.deb
    e anche se è in lavorazione fa le cose che hai detto,, ma se si può fare direttamente da xp ben venga.
    il fatto è che "cerca" non lo trova e google search non mi va di installarlo se qualcuno mi dice come trovare questo dannato file, che è l'ultima mia risorsa per togliere (mi dispiace doverlo dire) ubuntu gusty gibbon 7.10 - perchè mi serve l'ha dov'è che è esterno - ne sarei contento.
    bella musica che senti...ma che è quel coso:lastfm..??

    RispondiElimina
  3. Ciao pietrod,
    grazie della domanda... in effetti per poter sporcarsi le mani fino in fondo nella guerra dei bootloader tra linux e windows... mi sono dimenticato di postare su "come ripristinare il bootloader di windows"... che mi sembra quello che sei intenzionato a fare tu!

    Ecco qui rapidamente:
    -> inserire il cd di installazione di Windows
    -> dal menu di installazione scegliere ripristino
    -> selezionare l'installazione di windows desiderata (praticamente sempre C:\Windows a meno che tu abbia installato in cartelle "esotiche")
    -> scegliere di entrare nell'installazione con la "console di ripristino"
    -> una volta nel prompt dei comandi lanciare il programma fixmbr o qualcosa del genere (la lista dei comandi la vedi digitanto help)

    FATTO! Dopo pochi secondi il gioco è fatto, windows sostituisce il suo proprio bootloader nella regione del disco adibita a questo (dove per ora abitava GRUB).

    Dal prossimo riavvio dovrebbe avviarsi Win, fregandosene di eventuali installazioni Linux, che ovviamente il bootloader di Micro$oft non vede.

    Spero di esserti stato utile!
    bYe,
    Andy

    RispondiElimina
  4. stupidamente ho risposto via mail e questo forse in parte scusa il mio ritardo. TAGLIO E INCOLLO LA MAIL:
    l'ultima e più impèortante parte di video la mia vecchia macchinetta ha deciso di non registrarla (regisdtra solo per 2.5 min poi si stanca-non lo sapevo) comunque ti riassumo a parole faccio fimbr e mi dice una cosa come "sei sicuro di scrivere una nuova unità di avvio, guarda che è pericoloso, se il pc ti si avvia normaalmente non farlo?" io ho provato a rispondere "y","Y","C","1", alla fine stremanto ho messo "n" e me l'ha preso subito, e poi quando mi riha messo (v rigirata: se la metto pensa sia un tag)C:\Windows(lo stesso, ma rigirata dall'altra parte...lol) ci ho scritto davanti exit.
    e sono uscito: di questo si parla a metà nel primo video (uplodato qua: http://www.mediafire.com/?tg9pjmczlxy)
    e quello che invece mi succede al riavvio è quella specie di ripristino rapido non so come chiamarlo, ma capirai dal video di sicuro: quando ci stanno scritte bioanche su blu, ma non blu scuro quello è sempre del terminale, scritte su blu chiaro, con in alto a sinistra la bandierina windows, vabbo, è qui:http://www.mediafire.com/?janyixyvpkr)
    grazie
    ciao
    QUESTO INVECE LO AGGIUNGO ORA
    IL PADRE DI UN MIO AMICO MI HA DETTO CHE SE VOLESSI TOGLIERE LINUX PER IL MOMENTO E POI RIINSTALLARLO: PER SORVOLARE IL PROBLEMA INTANTO. POTEVO FARE COSì,: SEMPLICEMENTE RIPRISTINO WINDOWS, E MI DOVREBBE SPOSTARE IL FILE MENU.LST IN C: IN WINDOWS. MI MANTERREBBE PERò GLI ALTRI FILE DI WINDOWS, SIAMO SICURI DI QUESTO VERO???
    GRAZIE ANCORA
    CIAO
    ps. scusa se sono stato un po' tortuoso certe volte ma i video dovrebbero riparare alla mia poca linearità

    RispondiElimina
  5. noto ora che scrive giano....sono sempre pietrod non so perchè ora mette così, forse perchè dopo l'ultimo commento mi sono creato un profilo blogger
    (cancella questo commento ovviamente era solo una puntualizzazione marginale ed ovvia...lol)
    ciao

    RispondiElimina
  6. cmunque aprendo pannello di controllo poi sistema, poi avanzate e poi modifica mi apre boot.ini che forse è la soluzione solo che non mi sembra ci sia molto da fare, mi sembra che non si accorga nemmeno che c'è linux...
    sotto c'è il file:

    [boot loader]
    timeout=30 /usepmtimer
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /usepmtimer /NoExecute=OptIn

    RispondiElimina
  7. sono Giano
    ok tutto a posto ho risolto, mi ero incaponito che per dire si bisognava mettere la y invece bisognava la s.
    grazie comunque
    ciao

    RispondiElimina