Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Grub2 och två hårddiskar

Har en XP med två hårddiskar, windowsXP och Linux Mint 9 på den ena och Fedora plus Ubuntu 10 på den andra. I Grub 1,? såg menu.lst ut så här:

 

timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu

title Fedora (2.6.27.41-170.2.117.fc10.i686)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.27.41-170.2.117.fc10.i686 ro 
root=UUID=6921cc58-47a8-49ad-b1cd-94f8a5a9d708 rhgb quiet
    initrd /boot/initrd-2.6.27.41-170.2.117.fc10.i686.img

title        Linux Mint Universal Edition, kernel 2.6.27-7-generic
root        (hd0,2)
kernel        /boot/vmlinuz-2.6.27-7-generic root=/dev/sda3 ro quiet 
splash locale=sv_SE
initrd        /boot/initrd.img-2.6.27-7-generic
quiet

title        Microsoft Windows XP Home Edition
root        (hd1,0)
savedefault
makeactive
map        (hd0) (hd1)
map        (hd1) (hd0)
chainloader    +1

# This en
try automatically added by the Debian installer for an existing
# linux installation on /dev/sda4.
title        Mandriva2009linux (on /dev/sda4)
root        (hd0,3)
kernel        /boot/vmlinuz BOOT_IMAGE=Mandriva2009linux 
root=UUID=2301c4f3-0139-4561-adf7-67096dc4b043 
resume=/dev/VolGroup00/LogVol01 splash=silent vga=788
initrd        (hd0,3)/boot/initrd.img
savedefault
boot

Jag behöver komma åt en ändring för XP-partitionen, eftersom den inte drar igång. Det övriga är OK. Misstänker att det är map (hd0) (hd1) som spökar. Som det är nu är det Mint9 som "äger"grub-installationen

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

amadeuss bild

Den nya cfg

 

sudo cat /boot/grub/grub.cfg | grep menuentry
[sudo] password for hilding:
menuentry "Linux Mint 9 Xfce, 2.6.32-21-generic (/dev/sdb7)" --class linuxmint --class gnu-linux --class gnu --class os {
menuentry "Linux Mint 9 Xfce, 2.6.32-21-generic (/dev/sdb7) -- recovery mode" --class linuxmint --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Fedora (2.6.35.4-28.fc14.i686) (on /dev/sda1)" {
menuentry "Ubuntu, with Linux 2.6.35-19-generic (on /dev/sda3)" {
menuentry "Ubuntu, with Linux 2.6.35-19-generic (recovery mode) (on /dev/sda3)" {
menuentry "Microsoft Windows XP Home Edition (on /dev/sdb1)" {
 

amadeuss bild

 I windows XP ligger boot.ini som är

 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
 

 

 

FoHs bild

Windows gillar inte att ligga på en andra hårddisk :) Alltså måste man använda grub för att mappa om diskarna så att Windows tror att den ligger på första hårddisken, antar jag.

Finns ett kommando i Grub2 för det. Läs här: http://www.gnu.org/software/grub/manual/grub.html#drivemap

Jag tror nästan du ska använda det tillsammans med växeln -s. Du behöver nog lägga XP-alternativet i en egen konfigurationsfil i /etc/grub.d, du kan kopiera posten från /boot/grub/grub.cfg till exempelvis 40_custom i /etc/grub.d, och sen lägga till drivemap -s (hd0) (hd1)

Vill du inte ha dubbla XP så får du också låta bli att köra 30_os-prober, men jag är osäker på om även Linuxversionerna försvinner då. I så fall får du flytta över allt utom Mint till 40_custom och underhålla filen själv, ungefär som med Grub1 och menu.lst Smile

amadeuss bild

Menar du att jag ska ta bort raderna om XP i boot/grub/grub.cfg?  Jag såg i texten om XP att det stod set root=(hd1,1)  I den gamla menu.lst hette den hd1,0

Uppdateringen update-grub, hur läser den 40_custom-filen?

 

 

 

FoHs bild

Du ska inte ändra /boot/grub/grub.cfg öht Smile Läs vad det står längst upp i den filen, den genereras automatiskt av update-grub. Så om du ändrar något där kommer det försvinna vid exempelvis en kärnuppdatering (eftersom update-grub körs då).

Angående siffrorna så numreras partitioner annorlunda i Grub2, de numreras från och med 1 istället för 0. Denna ändring är gjord för att det ska matcha /dev/sda1 etc. Alltså:

  • Hårddiskar numreras från och med 0, så hd1 innebär ANDRA hårddisken (den du har XP på)
  • Partitioner numreras från 1

Grub2 har alltså gjort helt rätt som säger att XP ligger på andra hårddiskens första partition (hd1,1). Du kan läsa om hur Grub2 hanterar saker här: http://wiki.linuxportalen.se/index.php/Grub2

Kortfattat är det scripten i /etc/grub.d tillsammans med konfigurationsfilen /etc/default/grub som bestämmer vad och i vilken ordning saker ska synas i /boot/grub/grub.cfg.

Vad du behöver göra är egentligen att kopiera in posterna i /boot/grub/grub.cfg i en egen fil i /etc/grub.d/ och sedan lägga till GRUB_DISABLE_OS_PROBER=true i /etc/default/grub. Sedan kan du hantera den filen du skapat precis som gamla menu.lst.

extons bild

Mycket bra förklaring FoH!

Grub2 kanske inte är så komplicerat trots allt. (Jag har dragit mig för det i det längsta, men nu...).

LINUX.EXTON.NET

FoHs bild

Nä, det är nog inte så komplicerat, bara annorlunda :) Med ovanstående förklaring så kan man ju få precis samma funktionalitet som med /boot/grub/menu.lst, dvs att man styr allt själv. Dessutom bjuder väl Grub2 på lite andra kommandon som kanske kan komma till nytta.

Jag TROR även att man kan få det bästa av båda världar, dvs den automatiska uppdateringen av Grub. Jag saknar en möjlighet att styra vilka operativsystem som ska läggas till av de som 30_os-prober hittar. Men jag tror att om man skapar en separat partition för /boot där man samlar sina Linuxinstallationer så kommer dessa hittas av 10_linux istället (tror jag), och så kan man inaktivera 30_os-prober och lägga till sin eventuella Windows-installation på egen hand. Det kanske rent av går att uppdatera grubben från olika debian-baserade installationer dessutom, när de delar på /boot. Men det är en för mig oprövad teori! :)

extons bild

Jag TROR att det är så bra, att grub (grub2) om man kör kommandot update-grub hittar alla installerade OS och lägger till startdata för dessa. D v s utan att man har en separat boot-partition.

LINUX.EXTON.NET

FoHs bild

Jo, så är det. Dock kan det ju bli problem, som i det här fallet. Om man då vill fixa XP-informationen själv och inte vill ha dubbletter av den, så måste man (så vitt jag vet) ta bort 30_os-prober. Och i det fallet försvinner andra Linuxdistributioner också. Dock tror jag 10_linux hittar andra Linuxdistributioner om de har kärnor i /boot.

amadeuss bild

Tack för en utmärkt förklaring. Wikin skäms inte heller för sig.

FoHs bild

Nä, det får man hoppas, det är ju jag som skrivit den Tongue

amadeuss bild

Misstänker att jag gjort en s.k. tavla när jag installerade Ubuntu 10.10. Tror att booten hastigt hamnade fel i Windows XP loader ist f på det MBR där Ub10 ligger. Sedan dess har jag provat att skriva över med andra distar i st f Ubuntu 10. Noteringarna om XP har stämt. Drivesys-ändringen verkar vara noterad. Nu undrar jag förstås om något skräp har hamnat i XP boot-hörna som blockerar öppnandet. Som sagt, av misstagen lär en sig något i alla fall.

FoHs bild

Jag förstår inte riktigt vad du menar. Verkar konstigt om Ubuntu installerat Grub2 på andra hårddiskens MBR, när det installerades på första hårddisken. Gjorde du någon egen inställning i installationsprogrammet?

amadeuss bild

Det kom upp en rad i en ruta, där partitionerna var uppräknade, också XP, som jag då markerade. När jag senare installerade Ub 10.4 var jag vaksam och då blev det rätt med MBR där Ub 10.4 håller hus, men XP går inte.

Jag har installerat andra distar som funkar, ex Ub 10.4 och Fed14. De startar korrekt med grub i Ub10.4-hörnan. XP inte alls. Det verkar som om två hårddiskar gör det hela mera komplicerat än nödvändigt, fast att plocka bort den ena (den mindre) drar jag mig för.

Finns det någon notering i Windows XP, t.ex. i boot.ini som man behöver kolla?

 

FoHs bild

Nej, boot.ini ändras öht inte av Linuxdistributionerna. Det är någon inställning i din Grub-konfiguration som gör att XP inte startar. När du körde cat /boot/grub/grub.cfg | grep menuentry tidigare så ligger Linux Mint överst, det tyder på att det är Linux Mints Grub2 du hanterar. Är du säker på att de ändringar du gjort har slagit igenom, så att du inte har två olika Grub2 som spökar? Linux Mint kanske rent av installerat ett Grub på MBR på disk 2? Isf får du nog ta bort den för att det ska funka, alternativt chainloada. Du kan ju testa hur den andra disken beter sig genom att låta den vara ensam inkopplad, och se om XP klarar av att starta då (tänk på att partitionen måste vara satt till boot, använd Gparted för det).

Ett alternativ är att installera Grub till MBR på den disken du har XP på, och sätta den disken först i datorn. Då får Windows som det vill, det ligger på första partitionen på första hårddisken och det bör inte vara några problem för Grub att starta den (dock med andra inställningar).

tux-svens bild

Jag har inte hängt med i allt som har skrivits här, men jag kan konstatera följande:

Du måste alltid ha Windows på första hårddisken (/dev/sda)

Du bör alltid installera MBR till första hårddisken (dev/sda)

Grub2 fungerar inte helt som den borde i Mint 9 och 10 Gnome (Däremot i Mint Debian Edition). 

I de fall jag installerat Linux Mint 9 & 10 ihop med Windows har jag varit tvungen att patcha i "grub.cfg". Detta är något som FoH INTE rekommenderar men för mig har det varit det enda chansen att snabbt få systemet att fungera. Wink

(F.ö brukar det inte förekomma kerneluppgraderingar i LM.)

Grub2 pekade inte ut rätt startpartition för Windows. Kolla NOGA vilken startplats som är angiven för Windows, troligen ligger felet där.

Jag själv har PCLOS på första partitionen på första hårddisken, då står det:  root='(hd0,1)

---

Windows are for houses, Linux is for computers!

 

FoHs bild

1. Man måste inte ha Windows på första hårddisken, däremot måste man lura Windows till att tro att det ligger på första hårddisken. Därav kommandot som det pratades om ovan Smile

2. Jag skulle inte rekommendera någon att köra Mint om det inte förekommer kärnuppdateringar, då de kan vara säkerhetsrelaterade. Jag pratar alltså inte om uppgraderingar från säg 2.6.35 till 2.6.36, utan om mindre uppdateringar som brukar betecknas med "-nn" på slutet. Kör de inte med samma förråd som Ubuntu när det gäller de där paketen? Hur som helst, även om kärnan aldrig uppdateras så kanske grub gör det, och då gäller samma sak Smile

3. Det finns fler "chanser" att snabbt få ett fungerande system, lägg in de ändringar du vill göra i 40_custom bara och kör update-grub. Vet man inte om det så blir det så klart en omväg.

4. Grub har pekat ut att XP ligger på andra hårddiskens partition, och det ska vara rätt enligt amadeus.

amadeuss bild

Innan jag började med GRUB2 hade jag ett fungerande Windows, se längst upp här. Jag har nu en linux-dist på samma hårddisk som XP. Linux fungerar. Och på den andra hårddisken har jag två linuxdistar som båda fungerar. Linux Mint är borta f.n.
Enligt en handbok om Ubuntu 10.4 av Richford Grant kan XP bära sig konstigt åt vid bootning. Då kan man ge sig på en fil i Windows, som man då mountar. Filen heter hiberfil.sys. Ska ge mig på den. Rapporterar sedan. Tack för engagemanget så här långt.

FoHs bild

hiberfil.sys låter som den har med hibernation att göra, dvs Viloläge där Windows sparat ner allt till hårddisken och läser in det nästa gång det startas. Om du avslutat Windows på det viset så är det kanske problemet. Annars vettekatten, men man lär sig något nytt så länge man lever.

amadeuss bild

Nu finns inte filen hiberfil.sys på datorn. Varför vet jag inte. Har inte tagit bort den medvetet. Den andra möjligheten enligt handboken var att trycka på F8 så fort man tryckt på XP i grub-listen, men det gick förstås inte.

Möjligen återstår att först återinstallera XP och därefter Ubuntu, men det är nog mera lyx än nödvändigt. Har installerat WINE och kunnat föra över alla filer från XP-partitionen. Vi nöjer oss här. Tack för intresset.

amadeuss bild

 Kan det vara lämpligt att agera efter den här länken..?

http://wiki.linuxportalen.se/index.php/Linux-Windows_dualboot_med_Window...

FoHs bild

hiberfile.sys finns nog bara om du använt dig av hibernation.

Personligen skulle jag inte orka bry mig om att använda Windows bootloader när jag har flera Linuxdistributioner, det känns bakvänt. Skummade igenom länken och min uppfattning är att det inte kommer funka för dig eftersom du inte kommer in i Windows öht (dessutom är den ganska föråldrad då den skriver /dev/hdaX etc).

Vore jag i din sits skulle jag dra ur den första disken som du har Linuxdistributionerna på och se vad datorn säger när den försöker starta från Windows-disken. Kommer du in i Windows då så är åtminstone MBR:en "intakt" där, men kommer du till GRUB eller något annat så får du nog göra lite annan handpåläggning innan det hela kommer fungera.

amadeuss bild

Jag prövar. Tack

fredentofts bild

 MBR är inget som installeras, det är en fysisk plats i början av ALLA hårddiskar. Det m an gör är att man installerar en uppstartshanterare (GRUB) I sin MBR.

-
För övrigt anser jag att trådindenteringen måste lagas
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

amadeuss bild

Jag gjorde ett test i dag. Fixade en partition på samma hårddisk som XP ligger. Valde en dist som inte stoppar in GRUB2 utan GRUB1. Jag ville se om den uppstartshanterare som Mint fixat på den andra hårddisken avvecklades med hjälp av nyinstallationen på XP-hårddisken. Dock- Mintgruben är helt kvar. När jag går in i Mint och kör update-grub så läser den av den nya disten.

FoHs bild

Det här är så rörigt så jag skulle som sagt dra ur en hårddisk i taget och ställa in det så som jag vill ha det. XP-disken bör sitta som förstadisk, för att undvika problem.

amadeuss bild

 XP-disken sitter redan som förstadisk, och på den har jag i dag skapat en partition för att installera en annan Ubuntu-dist som normalt fixar Grub1 och inte 2. Det funkade inte utan Mint som ligger på den andra disken skötte om grubbandet när jag körde update-grub. Ska pröva att plocka bort en hårddisk.

FoHs bild

Och hur är det med boot-flaggan? Om XP-disken sitter som första disk och Mint på disk 2 ändå sköter grubbandet så låter det som att disk 2 bootas ändå. Alternativt att Mint installerade Grub till disk 1... Och det lär du ju märka om du drar ur Mint-disken Smile