dölj finstilt
OBS! Sidan har ny adress:
[http://e-dog.info/t/63/doc/Ubuntu_installation_forts.php]
Var vänlig uppdatera ert bokmärke.
Senast uppdaterad:
den tredje april, 2011
[TA BORT MEDDELANDET]
[index]
[Tillbaka till: Ubuntu/Linux - Grunder]
[Till: GRUB2 - Reparera GRUB/GRUB2/MBR]

Ubuntu, installation, fortsättning.

Reparera GRUB/MBR

Den här sidan behandlar hur man installerar Windows i ett system som redan använder Ubuntu. Det problem som uppstår är att installationen av Windows kommer att skriva över Ubuntus starthanterare (bootloader) - GRUB. Den del av GRUB som förstörs/förändras ligger i det s.k. MBR (se nedan). Denna sida behandlar alltså hur man kan reparera GRUB/MBR.

GRUB är alltså ett program av typen starthanterare (bootloader). Starthanteraren är oftast lokaliserad till början av datorns hårdisk. Starthanterarens funktion är att "sätta igång" något av de "systemprogram" (s.k. operativsystem - t.ex. Ubuntu eller Windows) som utgör grunden för datorns funktion.

GRUB (Ubuntus starthanterare) befinner sig i det s.k. MBR (Master Boot Record = startposten) vilket vanligen ligger i början av hårddisken. Andra filer som hör till GRUB ligger på disken i katalogen /boot/grub. När man installerar Windows kommer Windows starthantering att skriva över de data som ligger i MBR. Den här sidan handlar alltså om hur man återställer GRUB i MBR så att GRUB kan starta antingen Ubuntu eller Windows.

Om man ämnar använda både Ubuntu och Windows i datorn är det enklast att först installera Windows och sedan Ubuntu. Önskar man dock lägga till Windows till en dator som redan kör Ubuntu kan man göra som beskrivs nedan.

Denna metod (steg 2-7) kan även användas för att reparera MBR (återställa GRUBs filer i MBR) om MBR/GRUB blivit förstörd/förändrad av andra orsaker än installation av Windows.

GRUB2
I och med Ubuntu version 9.10 ("Karmic Koala") har GRUB2 börjat användas. (Den tidigare GRUB - ofta version 0.97 - kallas numera GRUB Legacy.)
Om ditt system använder GRUB2, och du har en Ubuntu Live-CD med version 9.10 eller senare, var vänlig gå vidare till denna sida.
Om ditt system använder GRUB Legacy och du har en Ubuntu Live-CD med version 9.04 eller tidigare kan du använda den metod som beskrivs på denna sida (som du just nu tittar på) för att reparera GRUB.
Lite mer om vilken metod som bör användas för att reparera vilket system står på index-sidan. (Klicka "metod" längst ner.)
Är man osäker om vilken version av GRUB man använder kan man ge kommandot
grub-install -v
Får man svaret v. 0.98 använder man GRUB1 (Legacy).
Får man svaret v. 1.98 använder man GRUB2.
Man kan även undersöka vilka filer som ligger i GRUBs katalog på disken:
GRUB1 (Legacy) använder: /boot/grub/menu.lst
GRUB2 använder: /boot/grub/grub.cfg, /etc/default/grub

Om man enbart har Ubuntu i datorn och vill lägga till Windows, hur gör man?

1. Skapa en partition och installera Windows där.

Ad. 1. Antingen låter man Windows installationsdisk skapa partitionen eller också skapar man själv partitionen innan installationen. Ämnar man installera en tidigare version av Windows så bör man skapa en partition av typen "primär" (ej "logisk/extended").

Windows tar nu över starthanteringen och efter Windowsinstallationen kan man bara starta Windows, inte Ubuntu. (Men Ubuntu ligger kvar på disken.) Man måste därför sedan aktivera Ubuntus starthantering. Det sker på följande sätt.

2. Boota Ubuntu Live-CD (d.v.s. lägg i CDn och starta om datorn). Starta terminalen (finns under program > tillbehör) och utför följande kommandon:

3. Kör starthanteraren (GRUB):
sudo grub

4. Ta reda på var de filer som GRUB kan använda ligger:
grub> find /boot/grub/stage1
(hd0,1)

Ad. 4. Observera att GRUBs numrering av diskar/partitioner skiljer sig från Ubuntus. GRUB börjar räkna från 0: (hd0,0) svarar mot hda1 eller sda1 d.v.s den första diskens första partition. I exemplet betyder alltså (hd0,1) att Ubuntus starthanterares (GRUBs) filer ligger på den första diskens andra partition (sda2). Har man både IDE- och SATA-diskar i systemet kan man notera att GRUB alltid räknar IDE-diskarna först.

Den som vill kan också kontrollera detta resultat. Kommandot "sudo fdisk" i terminalen ger en överblick av diskar och partitioner. Man får hjälp att identifiera resp. partition genom att kommandot listar varje partitions filsystem. (Linux filsystem rubriceras helt enkelt som Linux och Windows filsystem är ju oftast NTFS, numera.) Man kan alltså på detta sätt "räkna sig fram" till numret på disk och partition där Linux-roten (och /boot/grub) ligger.

Den som lagt katalogen /boot på en egen partition får naturligtvis ta hänsyn till detta om man genom kommandot fdisk försöker avgöra var filerna ligger. Den som har fler Linux-system på sin(a) disk(ar) får naturligtvis flera diskar/partitioner som svar på kommandot "find". Man väljer då något av Linuxsystemen att vara det system från vilket GRUB skall hämta sin information.

Filen [/boot/grub/device.map] kan användas för att ange vilka beteckningar för diskar/partitioner som motsvarar varandra i BIOS resp. Ubuntu. Här är ett exempel hur filen kan se ut:
(hd0) /dev/sda
(hd0,1) /dev/sda1

Oberoende om man har ett eller fler Linuxsystem på sin disk så kan man inte radera det Linuxsystem från vilket GRUB hämtar sin information. (Då startar inte datorn.) Vill man avinstallera GRUB och Ubuntu från ett system som samtidigt använder Windows ("dual boot") måste man använda Windows-CDn. (Har man raderat Ubuntu och datorn inte startar går det också lätt att återställa datorns start med Windows-CDn.) En guide hur man använder Windows-CDn finns här.

5. Använd systemets svar på kommandot under punkt 4, i detta fall (hd0,1), för att ange varifrån GRUB skall hämta sin information (var GRUBs filer ligger):
grub> root (hd0,1)

6. Ange på vilken disk GRUB skall ligga. (GRUB ligger i MBR. MBR = Master Boot Record) Vanligen ligger GRUB på den disk som startas först ("primär disk i BIOS").
grub> setup (hd0)

Ad. 6. Den som låter en annan starthanterare starta GRUB (s.k. chainloading) kan lägga GRUB på partitionen (och inte på diskens MBR). Då skriver man istället t.ex. setup (hd0,5) Siffrorna motsvarar alltså den disk och den partition på vilka man önskar lägga GRUB. Samma gäller om man ställt boot-flaggan direkt till partitionen.

7. Avsluta GRUB:
grub> quit

8. Starta om datorn (ta ur CD-skivan), nu kommer bara Ubuntu att synas bland startalternativen.

Ad. 8. Om man om-installerat Windows på samma partition så finns Windows redan registrerat i Ubuntus starthantering. I detta fall kommer båda systemen att kunna startas nu och man behöver inte gå vidare med punkterna 9-11.

9. Säkerhetskopiera GRUBs inställningsfil.
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_bu_00
OBS! Från och med version 9.10 görs GRUBs inställningar i filen /etc/default/grub.

10. Lägg till Windowspartitionen i GRUBs meny.

10 a. Starta textredigeraren.
sudo gedit /boot/grub/menu.lst

10 b. Gå ner till slutet av filen. Skriv där in Windows på samma sätt som Ubuntu redan är inskrivet.
title Windows Vista/Longhorn (loader)
root (hd0,0)
savedefault
makeactive
chainloader +1
Vad det står på raden som börjar med "title" har inte med systemfunktionen att göra. Där anges bara vad som kommer att stå i startmenyn. (Raden måste dock börja med "title".)
Man kan också använda kommandot "sudo grub-update" för att låta GRUB automatiskt skapa en ny fil "menu.lst".

Ad. 10 b. I exemplet startas alltså Windows-partitionen från (hd0,0), i de flesta fall även kallad sda1. Om Windows ligger på en "icke primär" ("sekundär") disk (d.v.s. där MBR inte ligger) måste man lägga till mappningskommandon mellan denna disk och den disk där MBR ligger. (Windows är från början konstruerat att bara kunna ligga på primär disk.) I filen [/boot/grub/menu.lst] kan då Windows post se ut t.ex. så här:
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1

11. Starta om datorn. Nu skall både Ubuntu och Windows finnas bland startalternativen.


Ett annat sätt att inkludera Windows i Ubuntus starthantering är att, efter installationen av Windows, installera om Ubuntu utan att formatera några partitioner eller utan att formatera en eventuell, separat home-partition. Ytterigare en möjlighet är att om-installera GRUB. ("sudo grub-install hd0").

Här finns mer information om hur man återställer GRUB: [1, 2, 3]. Ytterligare ett bra hjälmedel är "Super Grub". Fråga också gärna här.

GRUB är den starthanterare som används för att starta Ubuntu. Man kan dock även använda GRUB från terminalen (som beskrivits ovan). Här kan man läsa om GRUB: [4, 5, 6, 7]. Numera används "GRUB 2". En del av dokumentationen hänför sig till en äldre version, men kan användas for att få en överblick över kommandon etc.


GRUB2 - Reparera GRUB2/MBR.
Wiki (Ubuntu-se.org)
Ubuntu - Installation, partitionering. Grunder.
Installera Windows efter Ubuntu (Ubuntu - Installation, partitionering. Grunder.)

Är det oklart hur man gör, fråga gärna vidare här.







[CSS: Webcredible]

debug
Sidan underhålls av ycc, en av Ubuntu Sveriges medlemmar. Innehåll och design avspeglar nödvändigtvis inte Ubuntu Sveriges uppfattning.

["; echo get_browser_ycc_php($ver); echo " $ver,"; // $next_ver = $ver + 1; // echo "next ver = $next_ver "; echo "  " . get_os_ycc_php($ver); // echo "
" . $_SERVER['HTTP_USER_AGENT']; $tmp = $_SERVER['HTTP_USER_AGENT']; ?> , us_ag]