Ero sivun ”GNU GRUB 2” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 159 merkkiä lisätty ,  14. tammikuuta 2013
ajantasaistusta
(→‎Uuden käyttöjärjestelmän lisääminen: Poistettu ubuntu-spesifiä tekstiä)
(ajantasaistusta)
 
(4 välissä olevaa versiota toisen käyttäjän tekemänä ei näytetä)
Rivi 1: Rivi 1:
{{Ohjelma | nimi=GNU GRUB 2 | kuva= | kuvateksti= | lisenssi=[[GPL]] | käyttöliittymä=teksti | kotisivu=[http://www.gnu.org/software/grub/ gnu.org/software/grub]}}
{{Ohjelma | nimi=GNU GRUB 2 | kuva= | kuvateksti= | lisenssi=[[GPL]] | käyttöliittymä=teksti | kotisivu=[http://www.gnu.org/software/grub/ gnu.org/software/grub]}}


GNU GRUB 2 on suositun [[GRUB]]-[[käynnistyslatain|käynnistyslataimen]] toinen versio, jonka käyttöön eri [[jakelu]]t ovat pikkuhiljaa siirtymässä.
GNU GRUB 2 on suositun [[GRUB]]-[[käynnistyslatain|käynnistyslataimen]] toinen versio, joka on useimmissa [[jakelu]]issa korvannut alkuperäisen.


== Erot versioon 1 ==
== Erot versioon 1 ==
Rivi 9: Rivi 9:


Toinen näkyvä ero on tavassa saada näkyviin Grubin alkuvalikko. Aiemmin käytössä olleen Esc-näppäimen sijaan valikkoon pääsee painamalla käynnistyksen aikana vaihtonäppäintä (shift).
Toinen näkyvä ero on tavassa saada näkyviin Grubin alkuvalikko. Aiemmin käytössä olleen Esc-näppäimen sijaan valikkoon pääsee painamalla käynnistyksen aikana vaihtonäppäintä (shift).
GRUB 2 tuo myös tuen [[UEFI]]-laiteohjelmistolle, jota PC:t käyttävät nykyään enenevissä määrin.


== Asetustiedostot ==
== Asetustiedostot ==
<tt>/boot/grub/grub.cfg</tt> on Grub 2:n pääasiallinen asetustiedosto, joka korvaa vanhan <tt>/boot/grub/menu.lst</tt>-tiedoston. On kuitenkin syytä huomata, että tätä tiedostoa ei ole tarkoitus muokata käsin, ja se onkin yleensä asetettu [[tiedoston oikeudet|vain luku -tilaan]]! Se generoidaan automaattisesti <tt>update-grub</tt>-komennolla esimerkiksi uuden [[ydin|ytimen]] asentamisen jälkeen.
<tt>/boot/grub/grub.cfg</tt> on Grub 2:n pääasiallinen asetustiedosto, joka korvaa vanhan <tt>/boot/grub/menu.lst</tt>-tiedoston. On kuitenkin syytä huomata, että tätä tiedostoa ei ole tarkoitus muokata käsin, ja se onkin yleensä asetettu [[tiedoston oikeudet|vain luku -tilaan]]! Se generoidaan automaattisesti <tt>grupb-mkconfig</tt> -komennolla esimerkiksi uuden [[ydin|ytimen]] asentamisen jälkeen.


Käyttäjän muokattavaksi tarkoitettu asetustiedosto on <tt>/etc/default/grub</tt>, joka koostuu vanhan <tt>menu.lst</tt>-tiedoston alkua muistuttavista avain-arvopareista. Näillä asetuksilla määritellään mm. valikon toimintaa ja ytimelle annettavia parametrejä. Tiedosto voisi näyttää seuraavalta:
Käyttäjän muokattavaksi tarkoitettu asetustiedosto on <tt>/etc/default/grub</tt>, joka koostuu vanhan <tt>menu.lst</tt>-tiedoston alkua muistuttavista avain-arvopareista. Näillä asetuksilla määritellään mm. valikon toimintaa ja ytimelle annettavia parametrejä. Tiedosto voisi näyttää seuraavalta:
Rivi 37: Rivi 39:
#GRUB_DISABLE_LINUX_RECOVERY="true"
#GRUB_DISABLE_LINUX_RECOVERY="true"
</pre>
</pre>
*<tt>GRUB_DEFAULT</tt>: Oletuksena valittuna oleva ydin (alkuvalikon kohdan). Arvo 0 tarkoittaa listan ensimmäistä ydintä/käyttöjärjestelmää, 1 toista jne. Arvo <tt>saved</tt> viittaa edelliseen käynnistettyyn ytimeen.
*<tt>GRUB_DEFAULT</tt>: Oletuksena valittuna oleva ydin (alkuvalikon kohdan). Arvo 0 tarkoittaa listan ensimmäistä ydintä/käyttöjärjestelmää, 1 toista jne. Vaihtoehtoisesti tähän voi laittaa haluamansa valikkokohdan nimen. Lisäksi on mahdollista laittaa arvoksi <tt>saved</tt>, jolloin Grub valitsee tallennetun järjestelmän. Tämän arvon on oltava <tt>saved</tt>, mikäli halutaan, että <tt>[http://www.gnu.org/software/grub/manual/legacy/Invoking-grub_002dset_002ddefault.html grub-set-default]</tt> ja <tt>[http://wiki.debian.org/GrubReboot grub-reboot]</tt> -komennot toimivat.
*<tt>GRUB_SAVEDEFAULT</tt>: Jos tämä on <tt>true</tt>, Grub tallentaa käynnistettävän järjestelmän muistiin, ja käynnistää sen seuraavallakin kerralla, mikäli <tt>GRUB_DEFAULT</tt>-muuttujan arvo on <tt>saved</tt>.
*<tt>GRUB_TIMEOUT</tt>: Aika sekunteina, jonka jälkeen oletuksena valittu ydin käynnistetään.
*<tt>GRUB_TIMEOUT</tt>: Aika sekunteina, jonka jälkeen oletuksena valittu ydin käynnistetään.
*<tt>GRUB_HIDDEN_TIMEOUT</tt>: Sama kuin <tt>GRUB_TIMEOUT</tt>, mutta valikkoa ei näytetä ennen kuin sift-näppäintä on painettu.
*<tt>GRUB_HIDDEN_TIMEOUT</tt>: Sama kuin <tt>GRUB_TIMEOUT</tt>, mutta valikkoa ei näytetä ennen kuin shift-näppäintä on painettu.
*<tt>GRUB_HIDDEN_TIMEOUT_QUIET</tt>: Näytetäänkö laskuri jäljellä olevasta ajasta ennen oletusvalinnan käynnistämistä valikossa. <tt>true</tt> ei näytä laskuria, <tt>false</tt> näyttää.
*<tt>GRUB_HIDDEN_TIMEOUT_QUIET</tt>: Näytetäänkö laskuri jäljellä olevasta ajasta ennen oletusvalinnan käynnistämistä valikossa. <tt>true</tt> ei näytä laskuria, <tt>false</tt> näyttää.
*<tt>GRUB_DISTRIBUTOR</tt>: Käyttöjärjestelmää kuvaileva teksti valikkoon. Yllä oleva asetus muuttuu Ubuntussa muotoon ''Ubuntu'' jne.
*<tt>GRUB_DISTRIBUTOR</tt>: Käyttöjärjestelmää kuvaileva teksti valikkoon. Yllä oleva asetus muuttuu Ubuntussa muotoon ''Ubuntu'' jne.
Rivi 49: Rivi 52:
*<tt>GRUB_DISABLE_LINUX_RECOVERY="true"</tt>: Valikkoon ei luoda mahdollisuutta käynnistää tietokonetta pelastustilaan.
*<tt>GRUB_DISABLE_LINUX_RECOVERY="true"</tt>: Valikkoon ei luoda mahdollisuutta käynnistää tietokonetta pelastustilaan.


Kun tähän tiedostoon on tehty muutoksia, on ajettava pääkäyttäjän oikeuksilla komento grub2-mkconfig -o /boot/grub2/grub.cfg
Kun tähän tiedostoon on tehty muutoksia, on ajettava pääkäyttäjän oikeuksilla <tt>grub-mkconfig</tt>-komento.
Ubuntu-käyttäjillä on oma komentonsa: tt>update-grub</tt> tai <tt>update-grub2</tt>.
grub-mkconfig -o /boot/grub2/grub.cfg
Ubuntu-käyttäjillä on oma komentonsa: <tt>update-grub</tt> tai <tt>update-grub2</tt>.
sudo update-grub


== Uuden käyttöjärjestelmän lisääminen ==
== Uuden käyttöjärjestelmän lisääminen ==
Kun <tt>update-grub</tt> tai <tt>update-grub2</tt>-komento ajetaan, käydään läpi hakemistossa <tt>/etc/grub.d</tt> olevia tiedostoja. Tiedostosta <tt>/etc/grub.d/10_linux</tt> haetaan tiedot käytettävistä Linux-ytimistä ja <tt>/etc/grub.d/30_os-prober</tt>-tiedostosta tiedot muista käyttöjärjestelmistä. Yleensä [[paketinhallintajärjestelmä]] huolehtii <tt>10_linux</tt>-tiedostosta ja <tt>30_os-prober</tt> luodaan asennuksen aikana. Tämän lisäksi tiedosto <tt>/etc/grub.d/40_custom</tt> on tarkoitettu käyttäjän käsin lisäämiä käynnistysvalintoja varten.
Kun päivityskomento ajetaan, käydään läpi hakemistossa <tt>/etc/grub.d</tt> olevia tiedostoja. Tiedostosta <tt>/etc/grub.d/10_linux</tt> haetaan tiedot käytettävistä Linux-ytimistä ja <tt>/etc/grub.d/30_os-prober</tt>-tiedostosta tiedot muista käyttöjärjestelmistä. Yleensä [[paketinhallintajärjestelmä]] huolehtii <tt>10_linux</tt>-tiedostosta ja <tt>30_os-prober</tt> luodaan asennuksen aikana. Samasta kansiosta löytyvä tiedosto <tt>/etc/grub.d/40_custom</tt> on tarkoitettu käyttäjän käsin lisäämiä käynnistysvalintoja varten.


Uusi ydin voidaan lisätä käsin lisäämällä tiedostoon <tt>40_custom</tt> seuraavan esimerkin kaltainen kohta: Oletetaan, että [[osio]]lle <tt>sda10</tt> on asennettu [[SystemRescueCD]]-jakelu. Tällöin tiedostoon lisättäisiin rivit
Uusi ydin voidaan lisätä käsin lisäämällä tiedostoon <tt>40_custom</tt> seuraavan esimerkin kaltainen kohta: Oletetaan, että [[osio]]lle <tt>sda10</tt> on asennettu [[SystemRescueCD]]-jakelu. Tällöin tiedostoon lisättäisiin rivit
<pre>
<pre>
echo "Adding SystemRescueCD" >&2
menuentry "System Rescue CD" {
menuentry "System Rescue CD" {
  set root=(hd0,10)
  set root=(hd0,10)
Rivi 64: Rivi 68:
}  
}  
</pre>
</pre>
Tässä ensimmäinen <tt>[[echo]]</tt>-rivi ei vaikuta Grubin toimintaan mutta tällä tavoin tehtynä päivityskommennon ajon yhteydessä nähdään, että yllä tehty määrittely käydään läpi. Esimerkki valaisee eri kenttien merkityksen, <tt>menuentry</tt> määrittelee näkyvän tekstin, ja <tt>root</tt> osion, josta ydin haetaan. Osioihin viitataan eri tavalla kuin vanhassa Grubissa! Laitteiden numerointi alkaa nollasta, esimerkiksi [[laitetiedosto]]a <tt>sda</tt> vastaa laite 0, <tt>sdb</tt>:tä laite 1 jne. Sen sijaan osionumerot menevät kuten Linuxissa, esimerkiksi (hd0,1) vastaa osiota <tt>sda1</tt> ja (hd0,10) osiota <tt>sda10</tt>.
Käydään esimerkki lyhyesti läpi: <tt>menuentry</tt> määrittelee näkyvän tekstin, ja <tt>root</tt> osion, josta ydin haetaan. Osioihin viitataan eri tavalla kuin vanhassa Grubissa! Laitteiden numerointi alkaa nollasta, esimerkiksi [[laitetiedosto]]a <tt>sda</tt> vastaa laite 0, <tt>sdb</tt>:tä laite 1 jne. Sen sijaan osionumerot menevät kuten Linuxissa, esimerkiksi (hd0,1) vastaa osiota <tt>sda1</tt> ja (hd0,10) osiota <tt>sda10</tt>.


<tt>linux</tt>- ja <tt>initrd</tt>-rivit kertovat, mistä hakemistosta suhteessa asetettuun juuriosioon ydin ja [[initrd]]-tiedosto löytyvät.  
<tt>linux</tt>- ja <tt>initrd</tt>-rivit kertovat, mistä hakemistosta suhteessa asetettuun juuriosioon ydin ja [[initrd]]-tiedosto löytyvät.  


Tiedostoon <tt>40_custom</tt> lisätyt ytimet ilmestyvät Grubin valikon loppuun, sillä listan järjestyksen määrää tiedostojen järjestys. Siispä jos listan alkuun halutaan lisätä omia käynnistysvalintoja, on ne laitettava tiedostoon, joka on aakkosjärjestyksessä ennen tiedostoa <tt>10_linux</tt>, esimerkiksi <tt>07_custom</tt>.
Tiedostoon <tt>40_custom</tt> lisätyt ytimet ilmestyvät Grubin valikon loppuun, sillä listan järjestyksen määrää tiedostojen järjestys. Siispä jos listan alkuun halutaan lisätä omia käynnistysvalintoja, on ne laitettava tiedostoon, joka on aakkosjärjestyksessä ennen tiedostoa <tt>10_linux</tt>, esimerkiksi <tt>07_custom</tt>.
== Edistyneemmät muokkaukset ==
Suurin osa käyttäjistä tulee varmasti toimeen ylläolevalla automaattisella skriptillä, mutta monimutkaisemmat muutokset (kuten järjestyksen muuttaminen tai järjestelmien nimien muokkaaminen) kehotetaan toistaiseksi tekemään suoraan konfiguraatiotiedostoon <tt>/boot/grub/grub.conf</tt>. Muista, että tällöin kaikki automaattiset päivitysmekanismit tulee kytkeä pois käytöstä, koska muuten järjestelmä ajaa kernelipäivityksen yhteydessä <tt>grub-mkconfig</tt> -skriptin, ja <tt>grub.conf</tt>-tiedostoon tehdyt muokkaukset katoavat.


== Aiheesta muualla ==
== Aiheesta muualla ==
*[http://www.gnu.org/software/grub/manual/grub.html Gnu-projektin virallinen GRUB2-käyttöohje]
*[http://ubuntuforums.org/showthread.php?t=1195275 Grub 2 Basics] -ohje [[Ubuntu]]n keskustelualueilla
*[http://ubuntuforums.org/showthread.php?t=1195275 Grub 2 Basics] -ohje [[Ubuntu]]n keskustelualueilla
*[http://www.sysresccd.org/Sysresccd-Partitioning-EN-Grub-boot-stages How Grub Boots] -ohje [http://www.sysresccd.org/Main_Page System Rescue CD] -sivuston wikissä
*[http://www.sysresccd.org/Sysresccd-Partitioning-EN-Grub-boot-stages How Grub Boots] -ohje [http://www.sysresccd.org/Main_Page System Rescue CD] -sivuston wikissä

Navigointivalikko