openSUSE / Mandriva / GRUB virker ikke etter partisjonering

openSUSE / Mandriva / GRUB virker ikke etter partisjonering

Innleggav sw » man 03.03.2008 22:49

Har en PC med multiboot (GRUB) med foreløbig 3 linux-distroer Mandriva One 2008, openSUSE 10.3 og Fedora 8. Brukte denne linken som kokebok
http://justlinux.com/forum/showthread.p ... did=147959
og laget /boot/grub/menu.lst på partisjon hda1 slik:

Kode: Merk alt
#Grub for alle distroer (partisjon hda1)

color white/green black/light-gray

#hda1 er data-partisjon (FAT16) med Grub som velger hvilken distro som skal starte opp

#hda4 er utvidet partisjon

#hda5 er felles swap-partisjon for alle Linux-distroer

#hda6 er felles data-partisjon (FAT32) for alle Linux-distroer


title        distro 1          (partisjon hda7)
root         (hd0,6)
chainloader  +1

title        distro 2          (partisjon hda8)
root         (hd0,7)
chainloader  +1

title        Mandriva One 2008 (partisjon hda9)
root         (hd0,8)
chainloader  +1

title        openSUSE 10.3     (partisjon hda10)
root         (hd0,9)
chainloader  +1

title        Fedora 8          (partisjon hda11)
root         (hd0,10)
chainloader  +1

title        distro 6          (partisjon hda12)
root         (hd0,11)
chainloader  +1

title        distro 7          (partisjon hda13)
root         (hd0,12)
chainloader  +1


I terminalvindu under Fedora gir kommandoen fdisk -l dette:

Kode: Merk alt
[root@localhost ~]# fdisk -l

Disk /dev/sda: 20.0 GB, 20003880960 bytes
255 heads, 63 sectors/track, 2432 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xdf0d0da2

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          12       96358+   6  FAT16
/dev/sda2              13        2432    19438650    5  Extended
/dev/sda5              13         109      779121   82  Linux swap / Solaris
/dev/sda6             110         173      514048+   b  W95 FAT32
/dev/sda7             174         488     2530206   83  Linux
/dev/sda8             489         812     2602498+  83  Linux
/dev/sda9             813        1146     2682823+  83  Linux
/dev/sda10           1147        1464     2554303+  83  Linux
/dev/sda11           1465        1820     2859538+  83  Linux
/dev/sda12           1821        2127     2465946   83  Linux
/dev/sda13           2128        2432     2449881   83  Linux


Hvorfor kommer det opp sda i stedet for hda?

De 3 linux-distroene Mandriva, openSUSE og Fedora kunne opprinnelig alle bootes fra bootloader på partisjon hda1, men dette var før jeg begynte å tukle med partisjonering. Problem oppsto når jeg ved hjelp av Parted Magic 1.9 krympet alle partisjonene, flyttet de til venstre og presset inn 2 nye partisjoner (hda12 og hda13) på slutten av disken. Da kunne jeg etterpå bare starte opp Fedora. Når jeg prøver å velge Mandriva og openSUSE i den første GRUB-listen som kommer opp så får jeg bare teksten

    Starting up...
    GRUB
noen sekunder før jeg kommer tilbake den samme første GRUB-listen.

Siden bare Fedora virker etterpå, så må det være noen innstillinger på de to andre distroene som må kunne repareres. Kan ikke umiddelbart se hva som er problemet i de distroene sine individuelle /boot/grub/menu.lst og /etc/fstab, men her følger de:

Partisjon hda9 (Mandriva One 2008)
/boot/grub/menu.lst
Kode: Merk alt
#Distro 3 - Mandriva (partisjon hda9)

timeout 10
color black/cyan yellow/cyan
default 0

title linux
kernel (hd0,8)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/hda9  resume=/dev/hda5
initrd (hd0,8)/boot/initrd.img

title failsafe
kernel (hd0,8)/boot/vmlinuz BOOT_IMAGE=failsafe root=/dev/hda9  failsafe
initrd (hd0,8)/boot/initrd.img


Partisjon hda9 (Mandriva One 2008)
/etc/fstab
Kode: Merk alt
/dev/hda9 / ext3 defaults 1 1
none /proc proc defaults 0 0
/dev/hda5 swap swap defaults 0 0
/dev/hda1 /media/hd vfat umask=0022,users,iocharset=utf8,sync,noauto,exec 0 0
/dev/hda6 /media/hd2 vfat umask=0022,users,iocharset=utf8,sync,noauto,exec 0 0
/dev/hda7 /media/hd3 ext3 sync,noatime 0 0
/dev/hda8 /media/hd4 ext3 sync,noatime 0 0
/dev/hda10 /media/hd5 ext3 sync,noatime 0 0
/dev/hda11 /media/hd6 ext3 sync,noatime 0 0


Partisjon hda10 (openSUSE 10.3)
/boot/grub/menu.lst
Kode: Merk alt
#Distro 4 - openSUSE (partisjon hda10)

# Modified by YaST2. Last modification on Fri Feb  1 22:36:59 CET 2008
default 0
timeout 8
gfxmenu (hd0,9)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE
    root (hd0,9)
    kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK2016G80L40749T-part10 vga=0x317 resume=/dev/sda5

splash=silent showopts
    initrd /boot/initrd-2.6.22.5-31-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE
    root (hd0,9)
    kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK2016G80L40749T-part10 vga=normal showopts ide=nodma

apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.22.5-31-default


Partisjon hda10 (openSUSE 10.3)
/etc/fstab
Kode: Merk alt
/dev/disk/by-id/scsi-SATA_TOSHIBA_MK2016G80L40749T-part5 swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0


Partisjon hda11 (Fedora 8)
/boot/grub/menu.lst er en snarvei (spesielt for Red Hat distroer) som peker til
/boot/grub/grub.conf
Kode: Merk alt
#Distro 5 - Fedora (partisjon hda11)

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,10)
#          kernel /boot/vmlinuz-version ro root=/dev/sda11
#          initrd /boot/initrd-version.img
#boot=/dev/sda11
default=0
timeout=5
splashimage=(hd0,10)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
   root (hd0,10)
   kernel /boot/vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/1 rhgb quiet
   initrd /boot/initrd-2.6.23.1-42.fc8.img


Partisjon hda11 (Fedora 8)
/etc/fstab
Kode: Merk alt
LABEL=/1                /                       ext3    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda5               swap                    swap    defaults        0 0


Et langt innlegg. Hvis det fortsatt er lesere igjen helt ned hit hva må gjøres for å få Mandriva og openSUSE operativ igjen?

Tips mottas med takk.
medlem i 208 måneder
 

Re: openSUSE / Mandriva / GRUB virker ikke etter partisjonering

Innleggav terjejh » ons 05.03.2008 2:16

Jeg har også tildels hatt forskjellige distroer i multiboot, til og med et par Windows attåt. Nå har tiden begrenset det til Suse baserte distroer og 'en enkel Windows.

Og jeg har brukt min egen erfaringsmetode og oppsett.
Men alltid har jeg partisjonert, krympet, lagt til og slettet partisjoner og reparert/fixet grub og filsystemer med Suse YaST verktøyene på installasjons CD/DVD, også når andre distroinstallasjoner skapte krøll.
'En felles grub meta menu.lst på hda1 som du nevner, kan godt være er mer riktig og fungerer vel så bra.

Hvorfor kommer det opp sda i stedet for hda?

Tror SATA (Serial ATA) disker blir seende slik ut, dvs. /dev/sda (istedenfor /dev/hda for ATA), tilsvarende slik også SCSI disker gjør, da de behandles likt. Men (hd0,x) i menu.lst er likevel riktig.

For å sammenligne med "mitt eget system", har jeg 'en komplett, felles menu.lst (ikke på hda1), som jeg manuelt editerer og kompletterer for hver distro, etter hvert som jeg installerer nye og endrer, noe som også kan måtte gjøres ved nye kjerneoppdateringer.

Som et forsøk ville jeg her først ta backup kopi av din menu.lst på hda1, og gi den et nytt navn eks. menu.lst_org

Så ville jeg byttet ut (slettet) følgende tekstfelter for Mandriva og openSUSE i menu.lst
Kode: Merk alt
title        Mandriva One 2008 (partisjon hda9)
root         (hd0,8)
chainloader  +1

title        openSUSE 10.3     (partisjon hda10)
root         (hd0,9)
chainloader  +1

og erstattet dette med den fulle syntaksen (her kun informativt editert i title linja) fra de to distroenes respektive menu.lst slik:
Kode: Merk alt
title Mandriva (/dev/sda9)
kernel (hd0,8)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/hda9  resume=/dev/hda5
initrd (hd0,8)/boot/initrd.img

title Mandriva failsafe (/dev/sda9)
kernel (hd0,8)/boot/vmlinuz BOOT_IMAGE=failsafe root=/dev/hda9  failsafe
initrd (hd0,8)/boot/initrd.img

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE (/dev/sda10)
    root (hd0,9)
    kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK2016G80L40749T-part10 vga=0x317 resume=/dev/sda5

splash=silent showopts
    initrd /boot/initrd-2.6.22.5-31-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE (/dev/sda10)
    root (hd0,9)
    kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK2016G80L40749T-part10 vga=normal showopts ide=nodma

apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.22.5-31-default


Om dette ikke fungerer, er ikke Fedora seksjonen endret og skal kunne startes som før. (Jeg tror det faktisk bare er i ett enkelttilfelle jeg har måttet boote Repair fra installasjons CDen og manuelt montere filsystmer på disken for å editere menu.lst, og det skjedde i forrige måned)

Du kan også sjekke om vmlinuz-2.6.22.5-31-default stemmer med den versjonen du har på Suse partisjonen under /boot, eller om kan ha skjedd en kjerneoppgradering som ligger der, og som ikke er oppdatert i menu.lst. I såfall må du legge den inn manuelt i kernel og initrd linjene for Suse ovenfor, eventuelt også i menu.lst på Suse partisjonen /boot/grub.

Erfaren
Brukerens avatar
medlem i 216 måneder
 

Re: openSUSE / Mandriva / GRUB virker ikke etter partisjonering

Innleggav moma » ons 05.03.2008 14:26

Argg. EDIT ! Jeg skulle har finlest Terjejh's innlegg ovenfor. Han forteller det samme (med bedre ord) en det jeg skrev nedenfor. Alreit, la det gå ;-)
-----------------

> Hvorfor kommer det opp sda i stedet for hda?

Jeg tror at
det hele er avhengig av hvilket chipset (harddiskkontroller) ditt hovedkort har. Linux kan finne ut at noen IDE (sk. ATA eller PATA) harddisker kan håndteres via den generelle libATA driveren. Derfor fremstår disse som /dev/sdXX devicer selv om de koples til vha gammeldags flat IDE/ATA kabel. Se: http://en.wikipedia.org/wiki/Integrated ... lectronics

LibATA-driveren (er det ikke det det heter i Linux) hånterer også moderne Serielle ATA (SATA) disker. Typisk SATA-kabel ser slik ut : http://en.wikipedia.org/wiki/Serial_ATA , som benyttes av alle nyere PCer.

Husk på at det er ikk' så stor forskjell mellom protokollene (interne kommando-ordene) til IDE, S/P/ATA og SCSI. De er mer like enn ulike. Utviklet fra èn stamme. Fortell meg hvis dette er feil.
---------------------

> Et langt innlegg. Hvis det fortsatt er lesere igjen helt ned hit hva må gjøres for å
> få Mandriva og openSUSE operativ igjen?


Ser at du benytter "chainloader +1" for å laste inn /boot/grub/menu.lst til både Mandriva og OpenSUSE.

1) Kan du editere den første /boot/grub/menu.lst (den aktive som du booter opp med) og legg til fullstendig menyvalg for Mandriva. Altså dropp chainloader +1 og skriv inn hele menyvalget istedet. Ta kopi av linjene fra Mandrivas menu.lst. La oss starte først med Mandriva. Menyen til OpenSUSE kan du mekke senere.

Mandriva-linjene i menu.lst på /dev/hda1 (eller /dev/sda1) vil vel se slik ut.

Kode: Merk alt
title Mandriva one 2008
kernel (hd0,8)/boot/vmlinuz  BOOT_IMAGE=linux root=/dev/hda9  resume=/dev/hda5
initrd (hd0,8)/boot/initrd.img

Boot opp og test om det fungerer.
-----
2) Hvis du fremdeles har feil.
Boot opp og stopp der du ser grub boot-menyen like etter omstart.

Trykk bokstaven 'e' for å editere grub-menyen.
Bla til Mandrivas menyvalg.

Bla til "kernel..." linjen og trykk på 'e' for å edieter den.
Flytt kursoren på "/boot/...." teksten.
Se her under.
kernel (hd0,8)/boot/ [press TAB-tast]
BOOT_IMAGE=linux root=/dev/hda9 resume=/dev/hda5

Trykk på TAB-tast og grub vil automatisk foreslå mulige verdier. Slik:
kernel (hd0,8)/boot/[press TAB-tast]
Mulige verdier er: "vmlinuz".

Du kan sikkert bruke TAB-tasten på mange deler av linjen.
Hvis du finner ut en syntaks som booter og starter Mandriva, skriv de verdiene permanent i /boot/grub/menu.lst.
-------------
EDIT: Jeg har også en grub-utfordring. Ubuntus grub versjon 0.97 (i Gutsy og Hardy flere varianter) nekter å gjenkjenne Mandriva 2008s partisjon. Fedora 9 og Mandriva selv gjenkjenner partisjonen når jeg starter grub og skriver root(...) og setup (...). osv. Holder på å undersøke saken.

Erfaren
Brukerens avatar
medlem i 234 måneder
 

Re: openSUSE / Mandriva / GRUB virker ikke etter partisjonering

Innleggav sw » ons 12.03.2008 1:22

Litt sent svar her.

Lekingen med Linux i denne læreprosessen her skjer kun med diverse live-CD'er der distroene blir lagt inn på egne partisjoner på en gammel lap-top uten internett-tilknytning. Det vil si at det ikke er noen kjerneoppgradering inne i bildet slik at man må etterkorrigere menu.lst.

Partisjon 1 er en "boot-partisjon" som bare skal presentere en liste med alle de andre partisjonene med sine linux-distroer som skal "chainloades" for å si det på godt norsk. Partisjon hda5 er felles SWAP-partisjon for alle distroer. Fordelen her skulle være at alle fremtidige oppdateringer av de forskjellige linux-distroene med kjerneoppgraderinger og lignende gjøres lokalt på linux-distroen sin egen partisjon. I teorien skulle det da ikke være nødvendig å gjøre noen manuelle oppdateringer i filer som menu.lst osv. rundt om kring på hard-disken da distroene blir uavhengige av hverandre. Det er i alle fall ønskebildet.

For å få bedre oversikt ga jeg alle partisjoner en volume label slik det skulle bli lettere å holde oversikt på alle filene /boot/grub/menu.lst og /etc/fstab og samtidig unngå "UUID-kaos" som omtalt tidligere på dette glimrende forumet:
Kode: Merk alt
linux:~ # ls -l /dev/disk/by-label
total 0
lrwxrwxrwx 1 root root 10 Mar 11  2008 HDA1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Mar 11  2008 HDA6 -> ../../sda6
lrwxrwxrwx 1 root root 11 Mar 11  2008 hda10 -> ../../sda10
lrwxrwxrwx 1 root root 11 Mar 11  2008 hda11 -> ../../sda11
lrwxrwxrwx 1 root root 11 Mar 11  2008 hda12 -> ../../sda12
lrwxrwxrwx 1 root root 11 Mar 11  2008 hda13 -> ../../sda13
lrwxrwxrwx 1 root root 10 Mar 11  2008 hda5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Mar 11  2008 hda7 -> ../../sda7
lrwxrwxrwx 1 root root 10 Mar 11  2008 hda8 -> ../../sda8
lrwxrwxrwx 1 root root 10 Mar 11  2008 hda9 -> ../../sda9
Med konsekvent å referere til volume label så slipper jeg mulig forvirring med at det kommer opp /dev/sda i stedet for /dev/hda i noen distroer.

For å undersøke hvorfor openSUSE på partisjon hda10 ikke klarte å starte opp lenger så innstallerte jeg denne distroen på nytt igjen på partisjon hda13 for å sammenligne. Etter litt finpussing så ble /boot/grub/menu.lst seende slik ut for både partisjon hda10 og hda13:
Kode: Merk alt
default 0
timeout 8
gfxmenu (hd0,9)/boot/message

title openSUSE
    root (hd0,9)
    kernel /boot/vmlinuz-2.6.22.5-31-default root=LABEL=hda10 vga=0x317 resume=LABEL=hda5 splash=silent showopts
    initrd /boot/initrd-2.6.22.5-31-defaul
Eneste forskjell er at partisjon hda13 har LABEL=hda13.

Tilsvarende finpussing ble gjort på /etc/fstab for både partisjon hda10 og hda13:
Kode: Merk alt
LABEL=hda10     /                    ext3       acl,user_xattr        1 1
LABEL=hda5      swap                 swap       defaults              0 0
proc            /proc                proc       defaults              0 0
sysfs           /sys                 sysfs      noauto                0 0
debugfs         /sys/kernel/debug    debugfs    noauto                0 0
devpts          /dev/pts             devpts     mode=0620,gid=5       0 0

LABEL=HDA1      /media/hda1          vfat       defaults              0 0
LABEL=HDA6      /media/hda6          vfat       defaults              0 0

LABEL=hda7      /media/hda7          ext3       sync,noatime          0 0
LABEL=hda8      /media/hda8          ext3       sync,noatime          0 0
LABEL=hda9      /media/hda9          ext3       sync,noatime          0 0
LABEL=hda10     /media/hda10         ext3       sync,noatime          0 0
LABEL=hda11     /media/hda11         ext3       sync,noatime          0 0
LABEL=hda12     /media/hda12         ext3       sync,noatime          0 0
LABEL=hda13     /media/hda13         ext3       sync,noatime          0 0
Eneste forskjell er at partisjon hda13 har LABEL=hda13 i første linjen.

I boot-partisjon hda1 sin menu.lst ble da de viktige linjene i denne sammenhengen:
Kode: Merk alt
#Grub for alle distroer (partisjon hda1)

color white/green black/light-gray

title        openSUSE 10.3     (partisjon hda10)
root         (hd0,9)
chainloader  +1

title        openSUSE 10.3     (partisjon hda13)
root         (hd0,12)
chainloader  +1

title openSUSE                 (partisjon hda10)
    root (hd0,9)
    kernel /boot/vmlinuz-2.6.22.5-31-default root=LABEL=hda10 vga=0x317 resume=LABEL=hda5 splash=silent showopts
    initrd /boot/initrd-2.6.22.5-31-default

Og så endelig til konklusjonen. Av de to første menyvalgene over som "chainloader" partisjon hda10 og hda13 så virker bare den siste! Velger jeg nederste menyvalg i listen over (den med full bane for kernel) så starter derimot partisjon hda10 opp uten problemer! Hvorfor denne forskjellsbehandlingen med chainloader når de repspektive menu.lst og fstab er så og si identiske?

Samme opplegget er det med Mandriva som jeg opprinnelig hadde på på partisjon hda9 og i tillegg la inn på hda12 for sammenligning.

Er det noen viktige filer i tillegg til menu.lst og fstab på en linux-distro som er essensiell for at en distro skal la seg starte opp med "chainloading" som jeg ikke er klar over?
medlem i 208 måneder
 


Returner til OpenSUSE



Hvem er i Forumene

Registrerte brukere: Google [Bot]