Skip to Content

Handledning ::: Multiboot med GRUB

NÅGOT OM GRUB

Eftersom alla "extondistar" har GRUB (GRand Unified Bootloader) som standard starthanterare (istället för LILO-Linux Loader) kan det kanske vara lämpligt att jag skriver lite om hur du kan konfigurera GRUB.

När du installerar t. ex. SverEX till hårddisk så får du möjlighet att välja GRUB som starthanterare. Om du gör det så skapas filen /boot/grub/menu.lst. Vanligen känner också GRUB av att du har andra installerade OS på datorn och lägger till "startdata" för dessa, t. ex. Windows Vista. För Windows Vista ska dessa "startdata" se ut så här:

title Windows Vista (sda1)
root (hd0,0)
makeactive
chainloader +1

Om du inte är nöjd med hur GRUB autokonfigurerat starten av dina OS så kan du själv redigera filen /boot/grub/menu.lst.

På en av mina datorer har jag 14 olika OS installerat. Datorn har tre hårddiskar, varav två är externa USB-diskar. Så här ser min GRUB-konfigurationsfil (menu.lst) ut. Filen finns i SverEX i mappen /boot/grub.

############################################
# /boot/grub/menu.lst
# extons fantastiska Boot-Meny - GRUB konfigurering

## default num
# Numbering starts from 0, and
# the entry number 0 is the default

# Eftersom Windows Vista står först är det alltså "standard OS"

default 0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default
# entry
# (normally the first entry defined).

timeout 20

# Ganska lagom...

# Pretty colours - kan du experimentera med

color cyan/blue white/blue

## End Default Options ##

title Windows Vista (hda2)
rootnoverify (hd0,1)
chainloader +1

title Pardus 2009 International (hda11)
root (hd0,10)
kernel (hd0,10)/boot/kernel-2.6.30.1-123 root=LABEL=PARDUS_ROOT splash=silent quiet vga=0x317
initrd (hd0,10)/boot/initramfs-2.6.30.1-123

title SverEX Xorg 7.2 v6 GRUB (hda6)
root (hd0,5)
kernel /boot/vmlinuz-2.6.30.3-exton root=/dev/disk/by-uuid/4cc1f89c-8a73-414c-99e8-5c855a2aa081 quiet resume=/dev/sda5 lang=sv_SE.UTF-8
initrd /boot/initramfs-2.6.30.3-exton
boot

title        DebEX-Kubuntu 9.04 (MyPassport-sdb2)
root        (hd1,1)
# kernel  /boot/vmlinuz-2.6.28-15-generic root=UUID=b2498b37-09d9-4898-a1d3-4fb76b69dc8a ro quiet splash
kernel            /boot/vmlinuz-2.6.31-10-generic root=UUID=b2498b37-09d9-4898-a1d3-4fb76b69dc8a ro quiet splash
# initrd   /boot/initrd.img-2.6.28-15-generic
initrd     /boot/initrd.img-2.6.31-10-generic
quiet

title   Ubuntu 9.10 (MyPassport-sdb3)
root    (hd1,2)
kernel  /boot/vmlinuz-2.6.31-10-generic root=UUID=dd6d9b9c-8cf8-4946-8fc3-8833bed28c8e ro  quiet splash
initrd  /boot/initrd.img-2.6.31-10-generic

title openSUSE 11.2 remaster (hda3)
root (hd0,2)
kernel /boot/vmlinuz-2.6.31-rc9-7-default root=/dev/disk/by-id/ata-TOSHIBA_MK1234GAX_X6MDT5N3T-part3 resume=/dev/disk/by-id/ata-TOSHIBA_MK1234GAX_X6MDT5N3T-part5 splash=silent quiet showopts vga=0x317
initrd /boot/initrd-2.6.31-rc9-7-default

title EXTON-MAN Maxi 2009 :: GRUB :: (hda9)
kernel (hd0,8)/boot/vmlinuz BOOT_IMAGE=EXTON-MAN_Maxi_2009_::_GRUB_::_ root=UUID=33a3af3e-b00b-4065-89d2-e7b1de5a66fd resume=UUID=34e660cb-a160-49de-bb53-d3c2aed8090e splash=silent vga=788
initrd (hd0,8)/boot/initrd.img

title   Slackware 13.0 (hda7)
root    (hd0,6)
kernel /boot/vmlinuz-2.6.27.7 root=/dev/hda7 resume=/dev/hda5
#  kernel /boot/vmlinuz-2.6.29 root=/dev/hda7 resume=/dev/hda5
boot

title EXTON-CR 2.5 2009 (hda10)
root (hd0,9)
kernel /boot/vmlinuz-2.6.30.3-exton root=/dev/sda10
# kernel /boot/vmlinuz-2.6.27.7 root=/dev/hda10 max_loop=255
initrd /boot/initramfs-2.6.30.3-exton
boot

title openSUSE 11.1 (sdb6)
root (hd1,5)
kernel /boot/vmlinuz-2.6.27.29-0.1-default root=UUID=cabdf233-d9ee-4555-ab24-dada22441db5 resume=UUID=ae793db5-ded4-4b01-82b4-ea802d120b04 splash=silent showopts vga=0x317
initrd /boot/initrd-2.6.27.29-0.1-default

title      Ubuntu 9.10 (sdb7)
root      (hd1,6)
kernel   /boot/vmlinuz-2.6.31-13-generic root=/dev/sdb7 ro quiet splash
initrd    /boot/initrd.img-2.6.31-13-generic
quiet

title Exton-Me - Mepis 8.0 (sdb8)
root (hd1,7)
kernel /boot/vmlinuz root=/dev/sdb8 nomce quiet splash vga=791 resume=/dev/sdb5
initrd /boot/initrd.img
boot

title        Lenny-Exton (sdb9)
root        (hd1,8)
kernel     /boot/vmlinuz-2.6.26-2-686 root=/dev/sda9 ro keyb=se
initrd      /boot/initrd.img-2.6.26-2-686

title  SliTaz 2.0 GNU/Linux (hda8)
root   (hd0,7)
kernel /boot/vmlinuz-2.6.25.5-slitaz root=/dev/hda8
# kernel /boot/vmlinuz-2.6.25.5-exton root=/dev/hda8
boot

# THE END
###########################################

Se en alternativ menu.lst för en dator med elva (11) linuxsystem och Windows Vista installerade HÄR.

Om du vill ha GRUB installerat på någon annan linuxdist än t. ex. SverEX så startar du upp det systemet och kör kommandot: grub-install /dev/sda. GRUB installeras då i MBR. Du kan utan vidare byta ut filen /boot/grub/menu.lst mot motsvarande fil i SverEX.

Hur du gör om du vill installera ett nytt linuxsystem och redan har installerat GRUB i samband med installationen av ett annat linuxsystem
När fråga om starthanteraren GRUB uppkommer under slutat av installationen så väljer du att installera GRUB på din installationspartition (/) istället för i MBR. När installationen är klar så väntar du med att starta om systemet tills du har redigerat din befintliga grubinstallation. D v s du monterar den partition på vilken du installerat det nya linuxsystem och den partition på vilken ditt "gamla" linuxsystem ligger. Kopiera sedan "startdata" från /boot/grub/menu.lst på det nya linuxsystemet till /boot/grub/menu.lst på ditt gamla linuxsystem. (D v s din fungerande GRUB-installation i MBR). Det nyssnämnda kan bara göras om du installerar det nya linuxsystemet under körning från en liveskiva. Läs dock nedan om hur du kan använda en liveskiva för att "chroota". Observera: Du kan givetvis alternativt bara starta om datorn sedan installationen är klar och sedan starta upp ditt gamla linuxsystem. Därefter lägger du bara till startdata för det nya linuxsystemet i filen /boot/grub/menu.lst. Det nyssnämnda är ett användbart förfaringssätt om du installerat det nya linuxsystemet från en s k installationsskiva. (D v s inte en liveskiva).

Hur du gör om kommandot grub-install fallerar i ett installerat linuxsystem
Du kör kommndot grub-install /dev/sda och får felmeddelandet "Could not find device for /boot: Not found or not a block device" eller får inte grubinstallationen att fungera av andra skäl. Gör då så här:

1. Öppna en terminal och kör kommandot grub. (Prompten "grub" visas då)

2. Kör kommandot find /boot/grub/stage1
Då visas värden som
(hdX,Y)

där X och Y är siffror. Kom ihåg dessa värden.

3. Kör kommandot root (hdX,Y) - i.e. root (hd1,2) - t. ex.
där X och Y alltså är de värden som gavs av "find-kommandot". Nu får alltså GRUB reda på var din bootpartition finns. Viktigt: GRUB räknar alltså från 0. Om du har t .ex. SverEX på /dev/sda6 så blir alltså nyssnämnt "grubkommando" root (hd0,5)

4. Kör kommandot setup (hd0) < "0" är siffran noll.
GRUB skriver nu till MBR.

5. Avsluta med kommandot quit och starta sedan om datorn. Om du gjort rätt ska det bara fungera. Det finns inget större utrymme för misstag.

Det jag redogjort för ovan går också att utföra under körning av ett live linuxsystem. (Det kan ju vara så att du inte kan starta ditt installerade linuxsystem). Starta alltså då upp datorn från t. ex. EXTON OpSuS LiveDVD. Logga in som root. Öppna upp en terminal och kör följande kommandon:
1. mount /dev/sdb6 /mnt/sdb6 < d v s montera installationspartitionen
2. chroot /mnt/sdb6 /bin/bash < d v s "chroota" in i installationspartitionen
3. Kör kommandona 1 - 5 ovan.
4. Gå ur chroot med kommandot exit och starta om datorn.
Det ovanstående förutsätter givetvis att du har en korrekt konfigurationsfil för GRUB. D v s filen /boot/grub/menu.lst måste ha rätt innehåll.

Hur du gör om MBR skrivs över av Windows (t. ex. vid uppgradering från Windows XP till Vista)
Om du vill få tillbaka din GRUB-installation för att kunna starta ditt/dina linuxsystem ska du göra så här:
1. Starta upp datorn från en Linux live CD (t. ex. EXTON-USB).
2. Öppna upp en terminal och "gå in" i det linuxsystem, i vilket du tidigare installerat GRUB med kommandot chroot /mnt/sda6 /bin/bash. (Ändra givetvis sda6 mot vad som gäller på din dator. Du måste också ev. först montera aktuell partition).
3. Installera om GRUB i MBR med kommandot grub-install /dev/sda.
4. Lämna chroot med kommandot exit.
Klart! (Du kan givetvis redigera din menu.lst och t. ex. ändra namn från Window XP till Windows Vista). När du sedan startar om datorn så har du din vanliga GRUB-meny igen.

Läs HÄR om hur du skapar en GRUB-bootdiskett. En sådan är mycket bra att ha till hands om din GRUB-installation fallerar eller om en ny installation av ett OS skulle resultera i att inget OS kan startas. Du kan också skapa en GRUB-bootCD. (Om du t. ex. skulle sakna diskettenhet på din dator). Läs HÄR om hur du gör.

Om du av någon anledning vill ta bort GRUB så startar du bara upp din dator från en DOS-diskett och kör detta kommando vid A:> fdisk /mbr. Om du har Windows XP/Vista installerat så måste du starta upp från din installationsskiva och välja Rescue (Räddningsläge). Sedan kör du kommandot fixmbr. Efter det du kört något av dessa kommandon kan du starta upp ditt MS Windows-system utan problem. Däremot kan du inte starta ditt Linux-system, försåvitt du inte varit förutseende nog att ha skapat en GRUB-bootdiskett i ett tidigare skede enligt instruktion ovan. Om du har en bootdiskett kan du på nytt installera GRUB (om du skulle önska det). Starta i så fall upp ditt linuxsystem med bootdisketten och kör sedan kommandot grub-install /dev/sda.

Läs en synnerligen utförlig beskrivning av GRUB HÄR.

Nya Grub 2
Ovanstående handledning om GRUB riskerar att snart bli obsolet. Observera nämligen följande om GRUB: Fr o m version 9.10 av Ubuntu används starthanteraren Grub 2. Det fungerar annorlunda än "gamla" GRUB. Nya GRUB (Grub 2 - the next generation of GRUB) behandlas bl a i Ubuntus Wiki och HÄRLinuxwiki.se (instruktivt). Läs också gärna mitt blogginlägg på Linuxportalen.se (med kommentarer) om GRUB. Det är troligt att Grub 2 kommer att ta över helt inom kort i de flesta linuxdistar.

Du kan också läsa min handledning Multiboot med LILO.

C A Exton

Senast uppdaterad 2010-03-26

 

GRUB montera inte sda7

Hej Arne
här kommer min menu.lst och mina partitioner som du bad mig lägga upp här efter mitt mail MVH Tore

<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->

timeout 15

color black/cyan yellow/cyan

gfxmenu (hd0,0)/boot/gfxmenu

default 0

 

title Mandriva

kernel (hd0,0)/boot/vmlinuz
BOOT_IMAGE=Mandriva root=UUID=0fa052ac-e07b-4321-b03e-147f53bbe810
resume=UUID=a983e677-55cd-46b7-b2e0-5b584282775a splash=silent
vga=791

initrd (hd0,0)/boot/initrd.img

 

title ExTiX - The Ultimate Linux System

root (hd0,4)

kernel /boot/vmlinuz-2.6.25.15
root=/dev/sda7 resume=/dev/sda2 vga=0x317

initrd /boot/initramfs-2.6.25.15

 

 

sda1 = grub och Mandriva /root

sda2 = swap

sda6 = Mandriva /home

sda7 = ExTix

sda8 = ännu tom

Fel på en rad

Tore!

Så här ska det se ut:

################
title ExTiX - The Ultimate Linux System
root (hd0,6)
kernel /boot/vmlinuz-2.6.25.15 root=/dev/sda7 resume=/dev/sda2 vga=0x317
initrd /boot/initramfs-2.6.25.15
#################

Det var alltså fel på den feta raden. Ändra det så ska du kunna boota upp ExTiX utan problem. (Observera att det är fyra rader. Raderna får inte delas upp. Då fungerar det inte).

LINUX.EXTON.NET

Tack så mycket. När jag ser

Tack så mycket. När jag ser svaret så känns det som att jag borde ha sett det själv, jag skäms lite grand. Tore