Newsgroup: it.comp.os.linux.iniziare
Titolo: Riconfigurare GRUB

Salve a tutti,
 vorrei un aiuto per "risistemare" l'avvio del mio PC con GRUB che mi
faccia scegliere quale OS avviare. [Ho senmpre usato Suse-Lilo ma ora sono
passato a Debian-Grub].
Dico "risistemare" perche', quando ho installato GRUB la prima volta (su
floppy) avevo gli HD settati in maniera differente a quella attuale. Entro
nel dettagio:
 ho 2 HD: uno SATA da 80 GB con win (lo chiamero' HDW )
          uno ATA da 20 GB con Linux (lo chiamero' HDL )
 Il SATA e' settato (da bios) come ide primario mentre l'HDL e' il master
del canale ide secondario (lo slave e' il CDROM).
 Quando ho installato la Debian, per paura di fare casini, ho disabilitato
il controller SATA dal Bios e quindi il PC vedeva solo L'HDL e il cdrom
(entrambi su canale ide secondario).
Inoltre veniva settato anche HDL come HD di avvio.
Questa e' una parte del file menu di grub cosi' come l'ha creato debian: 
-------
title Debian....
root  (hd0,0)
kernel /boot/vmlinuz-2.4.25-1-386  root=/dev/hdc1  ro
initrd /boot/initrd-2.4.25-1-386
savedefault
boot
------
E funziona a patto di settare il bios come detto sopra [eppure non capisco
perche' (hd0,0) ].
Naturalmente per avviare Windows devo riabilitare il SATA come ide
primario.
Ora, in previsione di mettere definitivamente GRub su un HD (ma per ora
vorrei continuare a provare col floppy) vorrei riuscire a risistemare tutto
senza intervenire sul bios ogni volta.
Insomma vorrei che si avviasse o Win su HDW (SATA impostato come master
primario) oppure Linux su HDL (master secondario).
Ma gia' se rimetto HDW come master primario GRUB non va... 
Ho provato a cambiare nel menu di grub la riga root (hd0,0) in:
root (hd2,0) ma senza successo.
Credo che debba comunque rifare il dischetto di boot dicendo a grub di
cercare il suo
file di configurazione in HDL, no ?
Ma come posso farlo "al buio" ? Cioe' considerando che quando sono sotto
Linux e' attiva una configurazione hardware che non sara' quella del
successivo avvio ?
Spero di essermi spiegato e che qualcuno possa darmi lumi (dal grub-howto
non ho capito molto:  si dice che, a differenza di lilo, non si deve
reinstallare quando si cambia la configurazione ma non capisco come poi
GRUB possa trovare il suo file menu....)
Grazie in anticipo.

 root (hd2,0) ma senza successo.
hd1,0
tu gli hai detto di cercare nel terzo disco...
-- 
bye... 'roby
http://www.bradipo.org.uk

 tu gli hai detto di cercare nel terzo disco...
Ma allora (hd2,0) e' il terzo disco e non il master del secondo canale IDE
???
Cioe' se io ho solo un HD sul master del secondo IDE per grub si tratta di
(hd0,0) e non di (hd2,0)  ???
Nei manuali questo e' ambiguo....almeno per chi viene da LILO...
Grazie.

 Nei manuali questo e' ambiguo.
non so se c'é la man page di grub ma l' info spiega abbastanza bene.
hdX.Y si riferisce a:
X= al canale IDE (non so se scsi sia lo stesso) e il primo canale parte
da 0. Di sconseguenza con normali PC si posson aver 4 canali.
 0 = primario master
 1 = primarilo slave
 2 = secondario master
 3 = secondario slave
Y = alla partizione dove risiede il resto di Grub, chiamato stage1-5 e
stage2. Non ricordo se da 0 a 3 sian le 4 partizioni primarie e da 4
in su sian le partizioni loghice, ma credo sia inerente al metodo
linux.

  3 = secondario slave
Allora avevo capito bene io.....
E quindi sono piu' confuso di prima, perche', se il mio hd e' il master del
secondo canale ide, per quale motivo grub mi scrive:
 root=hd(0,0)
che corrisponde al master primario e poi:
 kernel /boot/vmlinuz-2.4.25-1-386  root=/dev/hdc1 
che corrisponde al master secondario ?

 che corrisponde al master secondario ?
Cosa contiene il device.map ?
-- 
Ciao
Gianluca

 Nei manuali questo e' ambiguo....almeno per chi viene da LILO...
io l'ho appreso a suo tempo da man grub... lilo è vecchio e palloso
:)


 che corrisponde al master secondario ?
Prova a cambiarlo e vedi se trova il kernel proprio in hdc. In questo
caso non ci son rischi di danni.
Anch' io ho 2 distro, salvo che son sullo stesso HD. Quando ho
installato la seconda distro ovvio che ha tentato di portarsi i meriti
a se stessa. Allora ho scartato quella config e ho ripreso quella
della distro precedente ed ho aggiunto la voce per avviare l' altra
distro ed é risultato semplice e a colpo sicuro.
Se la prima distro ha fatto la config giusta e anche la seconda, ma
solo per se stessa, direi di prendere la prima config ed aggiungere in
fondo quella della seconda distro (che ovviamente funzionava).
Chiaro che entrambe dovrebbero usare grub.

perchè hai saltato hd1?)
Una domanda:
la numerazione è relativa alla numerazione del canali IDE o alla
disposizione delgi HDD sugli stessi?
Lo dico perché in questo thread ci sono delle contraddizioni secondo me, e
anche perché sto avendo un problema analogo.
Daniele Giglio
-- 
"Non vincere dopo aver colpito,
ma colpisci dopo avere vinto"
Sensei Takano Sakaburo - Itto Ryu

 disposizione delgi HDD sugli stessi?
Cioe' ? :-)
In genere sono associati cosi':
hd0     /dev/hda        master primo canale
hd1     /dev/hdb        slave   "       "
hd2     /dev/hdc        master secondo canale
hd3     /dev/hdd        slave   "       "
oppure per un floppy:
fd0     /dev/fd0
Grub fa riferimento al file device.map per queste. Percio' volendo
possono essere modificate.
-- 
Ciao
Gianluca

> primario.
Pertanto il bios vede solo il disco ATA come master su IDE2 ma lo setta
come hd0 (vedi menu.lst) quando invece dovrebbe settarlo come hd2. Perché?
A me sembra che GRUB abbia scambiato i canali.


 come hd0 (vedi menu.lst) quando invece dovrebbe settarlo come hd2. Perché?
Non e' il bios a settarlo come hd0 ma grub a vederlo cosi'.
Com'e' il device.map ?
-- 
Ciao
Gianluca

 Com'e' il device.map ?
Questo non lo so, lo sa solo QL1 :-)
Ad ogni modo, forse mi è venuta un'idea per il mio problema, grazie.


 
Eccomi.
Scusate ma per due giorni non sono riuscito a leggere.
Appena posso conto di vedere e postare il device.map (e' sul pc a casa).
Intanto ieri sera ho fatto un'altra prova:
ho installato grub su floppy, ho riavviato e ho iniziato a "giocare" con la
shell di grub.
Ebbene, con entrambi gli HD settati (HDW master primario con Windows, HWL
master secondario con linux), facendo
# root (hd0,0)
grub mi dice che ha trovato una partizione reiserfs.
Ma come e' possibile se l'hd con linux e' il master secondario ?
Se poi continuo dicendo (non ricordo precisamente la sintassi ma il senso
e' chiaro):
# kernel vmlinuz /dev/hdc0 ro
# boot
il kernel parte ma va in panic nel momento di montare la root che non trova
su hdc0.
Ho provato anche hdb0 e hdd0 con simili risultati.
Non ho avuto il coraggio di provare hda0 (che magari partira') per la paura
di danneggiare l'hd con windows.
La domanda allora e': come diavolo vede i miei dischi GRUB ?
Forse la spiegazione sara nel famoso device.map ?
Invento una possibile spiegazione che ora mi viene in mente (in attesa di
leggere il file di cui sopra):
Quando installai debian avevo staccato l'hd con windows e quindi il sistema
vedeva solo l'hd con linux (che pero' comunque era master secondario!!!).
Forse e' rimasto solo quel riferimento nel device.map ? E quindi questo
significherebbe pure che ogni volta che installo GRUB su un floppy lui
continua a prendersi quei riferimenti ? 
Bho....

 GRUB su un floppy lui continua a prendersi quei riferimenti ?
Quelli del device.map? Dipende, quando si invoca GRUB appare la scritta:
# Probing devices to guess BIOS drives. This may take a long time.
Sembra quindi che cerchi le periferiche presenti indipendentemente dal
BIOS e dal device.map. In più ho visto che esiste un'opzione
--device-map e che a volte viene usata nel seguente modo:
--device-map=/dev/null
come se si forzasse la lettura da un file vuoto, questo potrebbe
significare che i valori di device.map vengono letti comunque di
default.
Potresti provare a installare GRUB sul floopy usando quast'opzione e
vedere cosa scrive nel nuovo device.map.

Ecco il device.map:
(fd0)  /dev/fd0
(hd0)  /dev/hdc
e questo e' un pezzo (quello che serve) del menu.lst
title		Debian GNU/Linux, kernel 2.4.25-1-386 
root		(hd0,0)
kernel		/boot/vmlinuz-2.4.25-1-386 root=/dev/hdc1 ro 
initrd		/boot/initrd.img-2.4.25-1-386
savedefault
boot
Ricordo che questi sopra sono quelli presenti sull'HD da cui parte
correttamente linux se stacco l'HD di windows e lascio solo quello Linux
come master secondario.
Ora, se rimonto l'HD master primario (con Winzozz), e riavvio con GRUB
(quello installato ieri su floppy e che quindi dovrebbe fregarsene del
device.map, no ?) alla cui shell digito:
# root (hd1,0)
   [e infatti dice che trova una partizione reiserfs - se faccio (hd0,0) mi
dice che trova un FAT ]
# kernel /boot/vmlinuz-2.4.25-1-386 root=/dev/hdc1 ro
il kernel parte ma va in panic perche' non trova la root da montare...
Help me plase....