nazzapt ha scritto:
Ma quindi... anche 00_header ad esempio dovrebbe esser presente nella lista delle voci di grub all'avvio?
non esattamente, ogni script fa "qualcosa" come sintetizzato nella tabella presente qui:
http://wiki.ubuntu-it.org/Amministrazio ... gliereVoci
nella tabella c'è scritto che 00_header "Carica le impostazioni da /etc/default/grub, compresa la presentazione visiva, il conto alla rovescia e le opzioni del terminale" e quindi va eseguito prima degli altri script (per questo inizia con 00_)
E per disattivare una voce basta togliergli il permesso di esecuzione?
togliendo il permesso ad uno script questo non verrà eseguito, ad esempio disattivando 30_os-prober non verrà eseguito questo script che ha il compito di cercare sistemi non linux (ad esempio windows) da includere nel menu.
Quindi quando farai
sudo update-grub questo script verrà saltato e nel grub.cfg non avrai la voce che fa partire windows.
Gli script sono in bash vero? Se è così col tempo imparerò ad analizzarli!!! E mi fa piacere!!! Beh non è che capisco proprio bene cosa fanno... comunque
se ti fa piacere analizzali pure ma sta attento a non modificarli: trattandosi di file di boot rischi di non riuscire a far partire il PC.
Forse ti conviene iniziare da qui
http://wiki.ubuntu-it.org/Programmazione/LinguaggioBash anzichè modificare gli script del grub ;)
Puntare ad un altro MBR? E come si fa??

cioè dovrebbe esserci un altro hardisk con un proprio MBR

...
esattamente ;)
io ad esempio ho questo nel mio custom:
menuentry "MBR disco PATA" {
set root=(hd0)
chainloader +1
}
mi serve per far partire un secondo disco estraibile
E per aggiungere una voce con la quale fare il reboot non so come potrei farla...
metti questo nel custom:
menuentry "Riavvia" {
reboot
}
E se la voce deve puntare ad una partizione ove c'è un sistema operativo installato? (Prendi che non si aggiunge in automatico) allora dovrei semplicemente montare quella partizione? O eseguire un file binario che avvia il kernel? in quel caso bisognerebbe conoscerlo sto file...
Ahhh mi fai venire il mal di testa! (scherzo!)
Quel comando che ti ho detto semplicemente punta ad un altro disco e poi il resto dipende da cosa c'è sull'alto disco, un altro grub? Un sistema microsoft? un disco vergine?
PS: Scusa se voglio arrivare in profondità... rispondimi su quello che puoi! TI ringrazio

))
niente figurati, spero di aver risposto bene: non sono un esperto di grub e quel poco che so l'ho scoperto per averci "litigato" più di una volta ;)
EDIT: visto il tuo interesse ti copio/incollo una mini-guida che mi sono scritto riguardo a grub2 (più che guida sono appunti):
I FILE GRUB2
/boot/grub/grub.cfg
file configurazione grub, non modificare mai dato che viene sovrascritto ad ogni update-grub
/etc/default/grub
contiene impostazioni del menu come la voce evidenziata di default, tempo di visualizzazione, recovery mode.
/etc/grub.d/
contiene gli script che generano aspetto e lista del menu del grub
GENERARE IL MENU GRUB
Il comando
sudo update-grub
genera file grub.cfg scansionando il sistama alla ricerca di os e richiamado gli script che sono qui:
/etc/grub.d/
/etc/default/grub
PERSONALIZZARE IL MENU GRUB: durata e aspetto del menu
dare comando sudo gedit /etc/default/grub
scegliere la voce del menu evidenziata di default
GRUB_DEFAULT=0 (0=prima voce)
modificare tempo di visualizzazione menu:
GRUB_TIMEOUT="3" (3 secondi)
disabilitare recovery mode:
GRUB_DISABLE_LINUX_RECOVERY="true" (disabilitato)
PERSONALIZZARE IL MENU GRUB: togliere voci inutili
Si possono eliminare voci rendendo non eseguibili i file in
/etc/grub.d/
ad esempio togliendo la spunta eseguibile da 20_memtest86+ non verranno create le voci memtest
PERSONALIZZARE IL MENU GRUB: cambiare colori
Modificare le apposite variabili nello script 05_debian_theme, (comando sudo gedit /etc/grub.d/05_debian_theme), ad esempio:
arancione
menu_color_normal=white/brown
menu_color_highlight=yellow/cyan
verde
menu_color_normal=white/green
menu_color_highlight=yellow/cyan
blu
menu_color_normal=white/blue
menu_color_highlight=yellow/cyan
INSTALLARE GRUB2 IN UNA PARTIZIONE:
in questo esempio si mettono i file di grub nella partizione Mastergrub del disco sdb:
sudo grub-install --root-directory=/media/Mastergrub /dev/sdb
sudo grub-install --recheck --root-directory=/media/Mastergrub /dev/sdb