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!

[LÖST] Lägga till Linux dist i Grub2

 Hej. Jag har nu tagit ett stort steg för mig men ett litet för världen...

Provkörde nya Linux Mint Debian Edition från Liveskivan & gillade vad jag såg. Har redan Linux Mint 9 X86 & Windows 7 på hårddisken så nu ville jag prova att köra en dist från extern hårddisk.

Installationen såg lovande ut & mot slutet valde jag att kryssa av "installera grub" har ju redan Grub2 på datorns hårddisk & hittills har den skött sig bra själv.

När jag startar datorn hittas inte min nya dist. Har provat med sudo update-grub i terminalen som ser ut så här:

sudo update-grub

[sudo] password for linux: 

Generating grub.cfg ...

Found Debian background: linuxmint.png

Found linux image: /boot/vmlinuz-2.6.32-21-generic

Found initrd image: /boot/initrd.img-2.6.32-21-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Windows 7 (loader) on /dev/sda1

Found Linux Mint Debian Edition (1) on /dev/sdb2

done

När jag startar om syns ändå inte Linux Mint Debian utan jag sitter med min vanliga meny.

 

Vad har jag glömt? Vad skall jag göra för att kunna köra nya systemet?

1Newbe

 

Alternativ för kommentarvisning

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

FoHs bild

Hmm, den hittar ju tydligen distributionen. Är du helt säker på att du har Grub2 installerat då, dvs att det är dess bootmeny du ser när du startar. Eller kan det ligga någon gammal Grub1 kvar? Du kan köra kommandot

cat /boot/grub/grub.cfg | grep menuentry

för att se att Debian Edition faktiskt får ett menyalternativ i Grub2, samt kolla så de andra stämmer överrens med det du ser när du startar datorn.

1Newbes bild

Jag har haft Linux Mint 7, 8 & nu 9 amd64 installerat på denna dator som dualboot med Windows 7 som är förstaval.

Får fram följande om grub:

grub-install -v
grub-install (GNU GRUB 1.98-1ubuntu5-1mint2)
 

Provade följande igen men får samma reultat:

sudo update-grub2

[sudo] password for linux:

Generating grub.cfg ...

Found Debian background: linuxmint.png

Found linux image: /boot/vmlinuz-2.6.32-21-generic

Found initrd image: /boot/initrd.img-2.6.32-21-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Windows 7 (loader) on /dev/sda1

Found Linux Mint Debian Edition (1) on /dev/sdb2

done


cat /boot/grub/grub.cfg | grep menuentry

menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2)" --class linuxmint --class gnu-linux --class gnu --class os {

menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2) -- recovery mode" --class linuxmint --class gnu-linux --class gnu --class os {

menuentry "Memory test (memtest86+)" {

menuentry "Memory test (memtest86+, serial console 115200)" {

menuentry "Windows 7 (loader) (on /dev/sda1)" {


grep menuentry /boot/grub/grub.cfg

menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2)" --class linuxmint --class gnu-linux --class gnu --class os {

menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2) -- recovery mode" --class linuxmint --class gnu-linux --class gnu --class os {

menuentry "Memory test (memtest86+)" {

menuentry "Memory test (memtest86+, serial console 115200)" {

menuentry "Windows 7 (loader) (on /dev/sda1)" {

 

Finns det några faror med flera Grub (Lilo)? Hade tänkt lägga in Fedora 13 & SlackEX 13.1 vid sidan om Mint Debian på den externa hårddisken för testning.

Med andra ord kan jag fortsätta köra Notebooken utan den externa hårddisken om jag lägger till någon form av MBR på sdb2? I dagsläget ligger boot(GRUB2) med windows på dev/sda1.

Är fortfarande grön i Linux men provar gärna för bättre vetande.

1Newbe

 

Många tack!

1Newbe

FoHs bild

Man kan ha flera Grub installerade, och så kan man göra något som kallas chainloading. Vad det innebär att Grub #2 startas från Grub #1. Det är alltså alltid så att bara en Grub visas (den som ligger på den disk/partition som markerats med boot-flagga), så du skulle ändå behöva lägga till den andra Grub:en manuellt i den första. Det är dock enklare syntax än att lägga till Mint Debian Edition manuellt (se nedan).

Vad jag inte förstår är varför update-grub säger att den hittat Linux Mint Debian Edition men ändå inte lägger till den. Kanske för att det är en extern hårddisk? Ett alternativ är ju att du lägger till informationen själv i /etc/grub.d/40_custom

Du kan läsa om hur det går till här:

https://wiki.ubuntu.com/Grub2#User-defined%20Entries

och här:

https://help.ubuntu.com/community/Grub2#Custom%20Menu%20Entries

Jag antar att du skulle kunna kopiera en del av grub.cfg på den externa hårddisken (för att få UUID och grejer för Debian Edition-installationen), du kan ju alltid montera disken och partitionen i Mint 9 och få tillgång till grub.cfg på den externa den vägen.  ELLER, så installerar du grub till mbr:en på den externa hårddisken och lägger till följande

menuentry "Grub 2 på extern hårddisk" {
set root=(hd1,1)
chainloader +1
}

i 40_custom på den interna hårddisken (och sedan kör update-grub och cat-kommandot för att se så att det gick rätt till). Jag TROR att det blir hd1,1 för mbr:en på /dev/sdb. Det ska väl inte hända något annat än att du får ett felmeddelande om så inte skulle vara fallet dock.

1Newbes bild

Provade att ändra 40_custom men jag är nog för grön för att hänga med i alla engelska manualer av linuxändringar.

Efter ändringen ser det ut så här:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="4"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
set locale_dir=($root)/boot/grub/locale
set lang=sv
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=3
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/06_mint_theme ###
insmod ext2
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
insmod png
if background_image /boot/grub/linuxmint.png ; then
  set color_normal=white/black
  set color_highlight=white/light-gray
else
  set menu_color_normal=white/black
  set menu_color_highlight=white/light-gray
fi
### END /etc/grub.d/06_mint_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2)" --class linuxmint --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=36ed1c11-ebac-4c54-9c98-860d883a191e ro   quiet splash
    initrd    /boot/initrd.img-2.6.32-21-generic
}
menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2) -- recovery mode" --class linuxmint --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
    echo    'Läser in Linux 2.6.32-21-generic ...'
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=36ed1c11-ebac-4c54-9c98-860d883a191e ro single
    echo    'Läser in initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 36ed1c11-ebac-4c54-9c98-860d883a191e
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 6e5c48af5c4873bd
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 menuentry "Linux Mint Debian Edition"


set root=(hd1,2)

vmlinuz-2.6.32-5-686

initrd.img-2.6.32-5-686
### END /etc/grub.d/40_custom ###

Vet ej om slutet stämmer men  sdb2 är platsen för LMDE. Försöker nog installera om det hela men låter Grub installeras denna gång. Hoppas det hamnar på externa disken som LMDE så kan jag prova ditt 2a förslag sen.

Spännande dock att prova.

1Newbe

Många tack!

1Newbe

FoHs bild

Du har glömt "måsvingar" runt menuentryn i 40_custom. Du kanske kopierade från min post och de på något vis föll bort? Tror också att det kanske är säkrast att ta bort alla mellanrum som är också. Se på menuentry som är ovanför.

1Newbes bild

Nu blev slutet i grub.cfg:

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 menuentry "Linux Mint Debian Edition" {
set root=(hd1,2)
vmlinuz-2.6.32-5-686
initrd.img-2.6.32-5-686
}
### END /etc/grub.d/40_custom ###


 

När jag startar om syns nu äntligen Linux Mint Debian Edition sist i Grub menyn men när jag väljer den får jag felmeddelande:

error:unknown command 'vmlinuz-2.6.32-5-686'

error:unknown command 'initrd.img.2.6.32.5-686'

Vet ej om jag hinner mer nu. Sista 2 raderna var en chansning som ej gick hem. Filerna ligger i sdab2 i katalogen boot men jag kanske måste skriva något annat för att få det att fungera?

Provar hel ominstallation med grub på externa framåt lördag.

 

Många tack!

1Newbe

fredentofts bild

Av någon anledning är numreringen av partitioner olika på olika ställen, sdb2 heter på "grubiska" (hd1,1).

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

1Newbes bild

Är det så i GRUB2? Trodde partionen numera började från 1 men hårddisken från 0?

Många tack!

1Newbe

FoHs bild

Du har rätt här, min uppfattning är att det ska vara hd1,2. Från Grub2 så följer den numreringen på partitionen i /dev/sdbX-formatet, vilket den inte gjorde tidigare.

Min rekommendation är att du monterar den externa partitionen inifrån Mint 9 och öppnar /boot/grub/grub.cfg från Debian Edition (/dev/sdb2) och ser vilka kommandon som används där. Men jag skulle tro att du som minst behöver kommandona insmod ext2, linux [sökväg till vmlinux], initrd [sökväg till initrd]. Hur man får fram UUIDet för disken vet jag inte riktigt, men allt det bör du få på köpet om du öppnat grub.cfg på den externa.

fredentofts bild

Ok, kände inte till att de ändrat till 2-an.

Hur är det om man har 5 partitioner då (sda1,2,3,5,6)?
Numreras de nu som hd1,{1,2,3,5,6} och inte som innan hd1,{0,1,2,3,4}?

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

FoHs bild

Nja, sda ska välvara hd0, dvs det är precis som innan. Det är bara partitionsnumreringen man ändrat i Grub2, och det är väl förmodligen att slippa "off by one"-fel. Jag kan väl tycka iofs att man borde ändrat disknumreringen också.

fredentofts bild

my bad, menade hd0.....

Men det viktiga i min fråga var om man bytt helt till partitionsnamn, inte bara ordningsnummer....

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

FoHs bild

Aha, nu ser jag. Nä, det tror jag inte man ändrat. Tror bara man ändrat startsiffran, så att säga. Sen räknar den nog på samma vis som gamla Grub. Anledningen till att numreringen ser ut som den gör i ditt exempel är väl att sda4 är en utökad partition som sda5 och 6 ligger i. Rent teoretiskt kan man väl ha någon ytterligare bootladdare installerad i partitionshuvudet för en utökad partition också, ordningsmässigt kan det väl vara smidigt kanske om man har Windows-partitioner på sda1-3 och sedan dedikerar den utökade partitionen till Linux.

Möjligt att jag har fel och att det kan bli ett hopp i numreringen av sda, men om inte så är det ju önskvärt beteende av grub. Den bör ju inte göra någon tolkning av innehållet på partitionerna så att säga.

Edit: Fast det du skriver indikerar iofs att gamla Grub hoppade över sda4 isf, alternativt att det går att få till ett hopp i numreringen. Ja, jag vet inte...

fredentofts bild

 Ja, gamla grub "hoppade över" utökade partitioner, räknade bara antalet fysiska och logiska partitioner.

Fast undrar hur det sett ut om man haft fysiska partitioner på 1 3 4 och haft logiska ( 5 6 7 ) i 2. Hade grub då räknat 5 som andra partition, för den ligger ju faktiskt rent fysiskt på andra plats av de fysiska/logiska...

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

FoHs bild

Jag vettekatten :) Jag blir lite sugen på att göra ett test i Virtualbox och se hur Grub2 hanterar det hela...

1Newbes bild

Nu har jag haft tid att lösa problemet. Kollade i grub.cfg på den externa disken & den var märkligt kort då jag fegade ur vid installationen & klickade bort installera Grub. Tror iaf att det skapade massa extra problem.

Nu har jag gjort en ominstallation (denna gång på ett USB-minne då externa hårddisken kräver egen ström).

Gick supersmidigt i sann Mint anda. USB minnet syntes automatiskt som alternativ till sda så jag la Grub & LMDE på sdb som stickan kallades. Efter installationen körde jag update-grub i min Mint 9 amd 64 partition där Grub2 ligger & denna gång kom Linux Mint Debian automatiskt in i min vanliga Grub2 på sda utan att jag behövde trixa något själv.

Linux Mint enkelt snyggt & snabbt. Nu skall jag testa & se i lugn & ro & se om jag skall övegre gamla Ubuntu varianten.

Efter ändringarna får jag denna meny i terminalen

 

cat /boot/grub/grub.cfg | grep menuentry
menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2)" --class linuxmint --class gnu-linux --class gnu --class os {
menuentry "Linux Mint 9, 2.6.32-21-generic (/dev/sda2) -- recovery mode" --class linuxmint --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Windows 7 (loader) (on /dev/sda1)" {
menuentry "LinuxMint GNU/Linux, with Linux 2.6.32-5-686 (on /dev/sdb1)" {
menuentry "LinuxMint GNU/Linux, with Linux 2.6.32-5-686 (recovery mode) (on /dev/sdb1)" {


Tack alla för goda tips & tålamod

Många tack!

1Newbe