Tämä ohje sopii hyvin tietokoneille joissa on enemmän kuin yksi operatiivisysteemi (OS) mutta luonnollisesti myös jossa on vain ja ainoastaan yksi Ubuntu/Kubuntu/Xubuntu.
Seuraavana muutama vinkki joista itselleni on ollut hyötyä, en ole expertti joten edetkää rauhallisesti kun seuraatte ohjetta. Ohje seuraa suurin piirtein menu.lst rakennetta. Joku moderaattori saa ihan mielellään korjata kieltä ja termejä. Olen yrittänyt käyttää termejä joita meikäläinenkin ymmärtää eikä termejä joita ”ammattilaiset” käyttää.
Grubin menu.lst muodostuu mielestäni kolmesta eri osasta: ensimmäisessä osassa ohjataan ulkonäköä, toisessa osassa automatiikka hoitaa kernelpäivitykset ensimmäisen osan ohjeiden mukaan ja kolmannessa osassa löytyy muut OS jotka oli tietokoneessa Grubia asennettaessa. Viimeiseen voidaan myös lisätä jälkikäteen muita OS tai linkki toiseen menu.lst tiedostoon. Ensimmäisessä osassa voidaan kommenttimerkki (#) poistaa jolloin käsky tai sääntö astuu voimaan. Toisessa osassa ei pidä pyyhkiä kommenttimerkkejä vaan muuttaa itse sääntöä. Jos toisessa osassa pyyhkii kommenttimerkkejä niin Grubin päivitysskripti ei toimi ja siitä ei hyvää seuraa.
Jos muutat tai siirrät jonkun OS:n näiden rivien väliin
## ## End Default Options ## ja
### END DEBIAN AUTOMAGIC KERNELS LIST niin ne poistuu seuraavan päivityksen yhteydessä ja se ei ole Grubin vika.
VarmuuskopiointiEnnenkuin muutetaan mitään tiedostoa kannattaa otta varmuuskopio. Siihen tehtävään sopii näppärimmin pääte eli terminaali. Helpoin ja nopein tapa siirtää komennot päätteeseen on kopiointi ja liittäminen:
Kopioi – merkitse komento vasemmalla hiiren näppäimellä
Liittäminen – näpäytä päätteeseen (mihin kohtaan vaan) hiiren scroll-rattaalla
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
jolloin menu.lst varmuuskopion nimi on
menu.lst_backup Paluu varmuuskopioon tapahtuu komennolla
sudo mv /boot/grub/menu.lst_backup /boot/grub/menu.lst
Nyt itse asiaan eli menu.lst muokkaukseen tällä komennolla
gksu gedit /boot/grub/menu.lst
Avaa toinen pääte ja liitä siihen (huom! pieni -L)
sudo fdisk -l
jolloin näet mitä muita osioita sinulla on koska sinun osiot ei varmaankaan ole samalla lailla kuin tässä ohjeessa.
Oikean OS:n automaattinen käynnistys Aloitetaan ensimmäisen osan ensimmäisestä kappaleesta
## default num . Tässä määritellään mikä OS käynnistyy automaattisesti jos jätät koneen heti virtakytkintä painettuasi. Numero joka on ei-kommentoidun rivin lopussa
default laskee jokaisen ei kommentoidun rivin joka alkaa sanalla
title (myös rivin
title Other operating systems). Jos haluaa että vaikkapa Windows, jonka Grub kirjoittaa menu.lst alimmaiseksi olisi oletuksena eli käynnistyy automaattisesti lasketaan montako riviä alaspäin täytyy mennä ennenkuin tulee vastaan
title Windows jne. Nyt täytyy muistaa, että Grub aloittaa laskemisen nollasta eli jos sait aikaan kuusi title-riviä niin todellinen luku on viisi. Muuta tuolloin rivin
default 0 numero viideksi eli
default 5. Se ei haittaa jos laskut meni sekaisin ja vieläkin väärä OS on oletuksena, seuraavan kerran tiedät mikä numero on se oikea.
Ajan mittaan tulee uusia kernel-päivityksiä jolloin sinun täytyisi muuttaa numeroa jonka juuri laskit esiin. Se voidaan kuitenkin kiertää kahdellakin eri tavalla. Ensimmäinen on näin: sen sijaan että muutettaisiin numeroa rivillä
default 0 vaan vaihdetaan sana
saved sen tilalle eli
default saved . Tällöin tietokone käynnistyy sillä OS:ä jolla tietokone käynnistettiin viimeksi. Käytännöllistä kun tulee kehoitus käynnistää tietokone päivityksen jälkeen. Ehtona on, että ko. OS on sana
savedefault menu.lst tiedostossa näin:
title Ubuntu, kernel 2.6.15-27-k7
root (hd0,2)
kernel /boot/vmlinuz-2.6.15-27-k7 root=/dev/hda3 ro quiet splash
initrd /boot/initrd.img-2.6.15-27-k7
savedefault
boot
Ota huomiion ettei recovery mode-vaihtoehdossa ole sanaa savedefault. Se toinen tapa vaatii oman otsikon joka tulee seuraavana.
Rajoita kernelien määrää menu.lst valikossaJokainen kernelpäivitys lisää kaksi riviä menu.lst:n ja sehän ei ole kaunista eikä käytännöllistä. Kernelrivien määrää voidaan rajoittaa (kernelit kyllä säilyy tallessa /boot -kansiossa) näin: menu.lst toisessa osassa jossa automatiikkaa ohjataan löytyy rivi
howmany=7. Jos luku vaihdetaan vaikka kahteen (
howmany=2) niin tuolloin näkyviin tulee kaksi viimeisintä kerneliä sekä niiden recovery modet.
TimerTakaisin ensimmäiseen osaan ja kappaleeseen joka alkaa
## timeout sec. Rivin timeout lopussa on alunperin luku 10 joka tarkoittaa 10 sekunttia. Tätä lukua vaihtamalla saat nopeutettua tai sitten lisää aikaa ennenkuin OS käynnistyy. Älä kuitenkaan muuta lukua nollaksi koska silloin sinulla ei ole mahdollisuutta tehdä valintaa mikä OS pitäisi käynnistyä tai käynnistää vanhempi kernel mikäli kernelinpäivitys epäonnistuisi.
Näkymätön valikkoSeuraava kappale
## hiddenmenu piilottaa valikon. Pyyhi pois #-merkki riviltä
#hiddenmenu ja valikkoa ei enää näy. Timer toimii silti ja voit saada valikon näkyviin painamalla Esc -näppäintä.
Nätit väritSeuraavassa kappaleessa
# Pretty colours voidaan saada hieman lisää väriä käynnistysvalikkoon poistamalla #-merkki riviltä
#color cyan/blue white/blueKernelin päivitysKappaleessa
## hiddenmenu löytyy rivi
groot, Grub Root Device, joka joskus voi mennä pieleen ja sen seurauksesta menu.lst ei enää päivity automaattisesti. Tarkasta silloin että rivi
# groot=(hd0,2) on sama kuin osion jossa /boot kansio on. Jos sinulla on useampi OS niin menu.lst täytyy osoittaa samaan osioon kuin tämän /boot kansio on.
Seuraavat kappaleet kannattaa jättää muuttamatta jotta Grub pitäisi automatiikkansa.
memtest86Jos et halua nähdä valikossa riviä Ubuntu, memtest86+ niin muuta true riviltä
# memtest86=true falseksi siis näin
# memtest86=falseGrubin päivitysNyt olet valmis menu.lst:n automaattisen osan kanssa ja voit säästää ja sulkea menu.lst sekä päivittää valikon vastaamaan uusia sääntöjä näin:
sudo update-grub
Voit tarkastaa menu.lst:n että esim. kernel rivien määrä on muuttunut sille asettamallesi tasolle ja sitten käynnistää tietokoneen uudelleen.
Lisätään muita LinuxejaJos sinulla on muita OS kuten esim. Kubuntu niin niiden päivittäessä kernelin se uusin kernel ei tule näkyviin tähän ensimmäiseen käynnistysvalikkoon. Ne rivit kannattaa suosiolla pyyhkiä pois ja laittaa tilalle linkit jotka johtaa näihin muihin /boot kansioihin. Suorita kuitenkin sama trimmaus niiden Grubiin.
Linkit näihin muihin Grubeihin teet seuraavasti, esimerkkinä minun linkki:
title Kubuntu
savedefault
configfile (hd1,0)/boot/grub/menu.lstSanan
title jälkeen voit kirjoittaa mitä vain kunhan itse tiedät mihin se johtaa.
savedefault on hyvä olla olemassa kuten yllä kerrotaan.
configfile linkittää yksinkertaisesti siihen osioon jossa minun Kubuntu asuu eli toisen kovalevyn ensimmäiseen osioon. Kun valitsen tämän Kubuntu niin se aukaisee käynnistysvalikon jonka olen säätänyt tänne sen Grubiin. Tietenkin siinäkin valikossa on samanlainen linkki takaisin ensimmäiseen käynnistysvalikkoon.
Timer lopettaa laskemisen heti kun nuolinäppäimiin kosketaan joten nytt Grub odottaa kunnes olet painanut Enteriä. Sen ensimmäisen käynnistysvalikkon linkki näyttää tältä:
title Dapper
savedefault
configfile (hd0,2)/boot/grub/menu.lst
Jos olet asentanut jonkun muun distron niin niilläpä voi olla toinen käsitys siitä kuinka kovalevyt ja osiot on nimeltään. Esim
PCLinuxOS mielestä se asuu (hd1,4) kun se Ubuntun mielestä asuukin (hd0,4) jolloin sen ensimmäisen valikon linkin pitääkin näyttää tältä:
title PCLinuxOS
savedefault
configfile (hd0,4)/boot/grub/menu.lst
Jolloin pääset PCLinuxOS käynnistysvalikkoon. Ja siellä sitten pätee PCLinuxOS lait missä Ubuntu sijaitsee.
Lisää taustakuva GrubiinOnhan se hieman ankean näköinen mustavalkoisena ja jos ylläolevat värit ei riitä niin voit yrittää laittaa jonkin taustakuvan. Minä en tosin onnistunut saamaan sitä valkoista palkkia näkyviin jotta olisin nähnyt mikä OS on lähtövuorossa ennenkuin painan Enteriä sekä valkoinen teksti häipyi aika näkymättömiin kuvan kanssa. Mutta halukkaille yrittäjille, jos ratkaiset em. ongelmat tai jo tiedät ratkaisun niin kerro ihmeessä!
Ensin teemme kansion johon voimme säästää kaikki taustakuvat, splash images:
sudo mkdir /boot/grub/splashimage
Nyt haetaan esimerkki kuva joita löytyy vaikkapa
http://www.schultz-net.dk/grub.htmlcd /boot/grub/splashimage
sudo wget http://www.schultz-net.dk/downloads/grub/ubuntu.xpm.gz
Seuraavaksi muutetaan käynnistysvalikkoa:
gksu gedit /boot/grub/menu.lst
Etsi rivi (rivi 5)
# and /usr/share/doc/grub-doc/ ja lisää sen alle
splashimage=(hd0,0)/boot/grub/splashimage/ubuntu.xpm.gz Huom! Vaihda (hd0,0) siihen jolla sinun menu.lst on.
Kuten totesin aikaisemmin, ei aivan 100% toiminut minulla mutta kokeilkaa
SATA ja IDE kovalevytJoskus SATA kovalevyt kiusaa käyttäjää jos IDE kovalevy on kytkettynä. Grub laskee aina IDE kovalevyt ensin ja sitten tulee SATA. Usein sattuu että Grub asentuu SATA kovalevylle jag Grub epäonnistuu kovalevyjen numeroinnissa. Usein on myös jotain vialla emolevyn BIOS eli ns.
bug ja Grub epäonnistuu täysin. Sekin pystytään joskus korjaamaan, kaikki tapaukset tosin täytyy käsitellä erikseen eikä minulla ole SATA kovalevyä joten enpä jatka aiheesta sen enempää. Muiden kysymyksiä aiheesta voi etsiä
http://forum.ubuntu-fi.org sekä
http://ubuntuforums.org Windows ei ole ensimmäisellä kovalevylläJoskus Windows ei ole ensimmäisellä kovalevyllä ja silloin sitä täytyy huijata komennolla map Allaolevassa esimerkissä Windows sijaitsee toisen kovalevyn ensimmäisellä osiolla ja menu.lst täytyy saada täydennystä kahdella map-rivillä:
title Microsoft Windows 98SE
root (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
savedefault
makeactive
chainloader +1Uusi Grub 2 tulossaPäivän Grub on buginen eikä sitä enää kehitetä. Uusi Grub on tulossa ja siitä voi lukea lisää
http://www.gnu.org/software/grub/ja sieltä löytyy myös Grubin käyttöohje ja kaikki Error-koodit.
Tämä howto on vapaasti käännetty Hermannin sivuilta sekä sieltä täältä internetistä:
http://users.bigpond.net.au/hermanzone/p15.htm
Tätä howtoa saa vapaasti käyttää, kopioida ja muuttaa.