• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Bootloader im Dualbootsystem

pimpff

Newbie
Hallo Leute,

ich habe folgendes Problem: Nach der Neu-Istallation von ubuntu 8.10 mit Gnome und suse 11.0 mit KDE 4.1 kann ich keins der beiden Systeme booten. Meine Partitionierung ist wie folgt:
sda1 (4,8GB, ntfs) windows xp
sda2 (9,3GB, ext3) home ubuntu
sda3 (9,3GB, ext3) home suse
sda4 extended
sda5 (5,5GB, ext3) ubuntu
sda6 (5,5GB, ext3) suse
sda7 (1,2GB, swap) swap

Beide Home-Partitionen habe ich mit alten Daten eingebunden und nur die Root-Partitionen neu installiert, zuerst Ubuntu, dann Suse. Ubuntu lief direkt nach der Installation problemlos, ich konnte online-updaten und neue Benutzer hinzufgen, genauso auch bei Suse.
Wenn ich nun aber von Suse aus ein anderes Betriebssystem starten will findet das BIOS keine bootbare Partition. Ich habe im Yast-Bootloader-Editor das Kreuz vor MBR (=MasterBootRecord?) wie in der Hilfe bei Dualbootsystem weggemacht. Leider kenne ich mich in der Thematik Bootloader nicht aus und die Krzel im Yast-GRUB-Editor sagen mir nichts. Habe dann mehrfach die Einstellungen im Suse-Bootloader geaendert, jedoch ohne wirkliches System.

Die Einstellungen kann ich hier nicht posten, da ich ja in das System nicht mehr reinkomme. Habe inzwischen sowohl ubuntu als auch suse mehrfach neu installiert, um den Bootloader zu ueberschreiben, aber langsam geht mir die Puste aus. Ich instaliere jetzt wohl noch einmal Ubuntu, damit ich zumindest ein funktionierendes System habe.

Vielen Dank fuer Eure Hilfe
Jan
 

spoensche

Moderator
Teammitglied
Warte mal noch mit der Neuinstallation.

Gibt dir Grub eine Fehlermeldung aus? Wenn ja welche?
Wurde der Bootloader bei der Installation von SuSE in den MBR geschrieben?


Du könntest versuchen den Grub wieder zu reparieren, in dem du das SuSE Installations- DVD bootest und dort den Punkt reparieren auswählst.

PS:

Wenn das Bootmenü vom Grub angezeigt wird, hat das BIOS nichts mehr mit dem Systemstart zu tun. Es lädt den Grub, der dann das eigentliche System bootet.
 
OP
P

pimpff

Newbie
GRUB wird gar nicht geladen, daher gibt er auch keine Fehlermeldung aus. Ich bleibe in BIOS hängen und muss mir F8 ins Boot-Mnü einsteigen, um jeweils die Ubuntu- die Suse-oder die KDE 4.1-Live-CD zu laden.

Ja, mit der Suse-CD habe ich das Bootloader-Reparatur-Tool gefunden, MBR war angekreuzt.

Gruß
Jan
 

spoensche

Moderator
Teammitglied
Wenn Grub nicht geladen wird, dann ist er auch nicht mehr im MBR.

Es reicht nicht, wenn MBR angekreutzt ist. Du musst den Bootloader bei der Reperatur komplett neu in den MBR schreiben.
 
OP
P

pimpff

Newbie
Habe nun ubuntu doch neu installiert. Der ubuntu-Bootloader war default-mässig auf hda0 eingestellt, weiter Details nicht einsehbar. Habe es so belassen.
Jetzige Situation: nach dm Start bootet ubuntu.
Da ich die root-partition für suse vergrössert habe, werde ich suse sowieso neu installieren.
Welches Vorgehen ist nun während der Installation angeraten? Standardmässig ist das Kreuz der Bootloader-Position auf MBR gesetzt, also würde er durch die Installation auch dahin geschrieben werden, oder?
Sollte ich während der Suse-Installation (von der KDE 4.1-live-CD aus) vielleicht noch weitere GRUB-Einstellungen verändern? Wenn ja, welche (für einen GUI-verwöhnten Linux-Newbee)?

Vielen Dank
Jan
 

josef-wien

Ultimate Guru
Zuerst mußt Du Dich entscheiden, von welchem Linux die Boot-Information in den MBR gestellt werden soll.

Falls das Ubuntu sein soll, dann installiere bei openSUSE den Bootloader in die root-Partition (also sda6). Dann mußt Du Ubuntu beibringen, daß es openSUSE ebenfalls ins Boot-Menü aufnehmen soll (bzw. Du änderst menu.lst manuell).

Falls das openSUSE sein soll, dann installiere bei openSUSE den Bootloader in den MBR. Ubuntu sollte von YaST erkannt und eingebunden werden.

Wenn Du dann trotzdem nur eines der beiden Linux starten kannst, dann bitte keine weiteren Panik-Reaktionen, sondern teile uns den Inhalt von /boot/grub/menu.lst von beiden Linux mit.

Das "zweite" Linux kannst Du entweder direkt aus dem Boot-Menü des "ersten" Linux starten und/oder Du rufst daraus das Boot-Menü des "zweiten" Linux auf (beides hat Vor- und Nachteile).
 
OP
P

pimpff

Newbie
Vielen Dank für Eure Hilfe.
Habe nun openSuse zusätzlich installiert, dessen GRUB in den MBR geschrieben wurde. Ich kann Ubuntu nun problemlos starten.
Werde es aber noch ein paarmal testen.

Gruß
Jan
 

spoensche

Moderator
Teammitglied
Wenn das Problem für dich gelöst ist, dann erledige bitte noch die Formalitäten http://www.linux-club.de/viewtopic.php?f=4&t=81378
 
OP
P

pimpff

Newbie
Hallo,
eigentlich dachte ich, das Problem wäre gelöst. Habe aber wohl die Bootfähigkein meiner Ubuntu-Partition nicht ausgiebig getestet.

Ich kann Ubuntu nun doch nicht vom Suse-Grub aus starten (werde später noch die Fehlermeldung posten, die der Ubuntu-Bootloader ausgibt)

Hier die Inhalte der /boot/grub/menu.lst
-----------------------------------------------------------------------------------------------------------------------------
SUSE:

# Modified by YaST2. Last modification on So Nov 16 19:55:54 CET 2008
default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0
root (hd0,5)
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_WDC_WD400BB-00CWD-WMAAN1499510-part6 resume=/dev/sda7 splash=silent showopts vga=0x31a
initrd /boot/initrd-2.6.25.18-0.2-default

###Don't change this comment - YaST2 identifier: Original name: Ubuntu 8.10, kernel 2.6.27-7-generic (/dev/sda5)###
title Ubuntu 8.10, kernel 2.6.27-7-generic (/dev/sda5)
root (hd0,4)
configfile /boot/grub/menu.lst

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,5)
chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Floppy
rootnoverify (hd0,5)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0
root (hd0,5)
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_WDC_WD400BB-00CWD-WMAAN1499510-part6 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x31a
initrd /boot/initrd-2.6.25.18-0.2-default


----------------------------------------------------------------------------------------------------------------------
UBUNTU:


# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0

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

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=d372f4c1-d5c3-4940-9ae7-0712f6102960 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=d372f4c1-d5c3-4940-9ae7-0712f6102960

## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid d372f4c1-d5c3-4940-9ae7-0712f6102960
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=d372f4c1-d5c3-4940-9ae7-0712f6102960 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet

title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid d372f4c1-d5c3-4940-9ae7-0712f6102960
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=d372f4c1-d5c3-4940-9ae7-0712f6102960 ro single
initrd /boot/initrd.img-2.6.27-7-generic

title Ubuntu 8.10, memtest86+
uuid d372f4c1-d5c3-4940-9ae7-0712f6102960
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1

-------------------------------------------------------------------------------------------------------------------------------------
Die Fehlerausgabe des Ubuntu-Grub poste ich nach erneutem Systemstart.

Bis gleich
Jan
 
OP
P

pimpff

Newbie
so, da bin ich wieder.

Die restart-Prozedur mir Ihrer Fehlermeldung:

1. SUSE booten funktioniert.
2. Als nächstes wähle ich im suse-Kickstart-Menü den Neustart von: "Ubuntu 8.10, kernel 2.6.27-7-generic (/dev/sda5)"
3. Der Rechner fährt runter, startet neu im SUSE-Grub, zum Booten vorgemerkt ist Ubuntu.
4. Dann habe ich den Bootloader von Ubuntu auf dem Schirm, vorgemerkt ist dasselbe "Ubuntu 8.10, kernel 2.6.27-7-generic".
5. Als nächstes folgende Fehlermeldung:
kernel /boot/vmlinuz-1.6.27-7-generic root=UUID=#hier folgt die Zahlenkombi# ro quiet splash
Error 15: File not found

Seht Ihr den Knackpunkt?

(Ich habe mal von einem gehört, der hat sich über seinen Laptop so geärgert, dass er drafgeschlagen hat. Mitte auf das Display. Die Faust war stärker...)

Grüße
Jan
 

josef-wien

Ultimate Guru
Mit dem Thema UUID habe ich mich nicht beschäftigt, weil diese Verknüpfungen für den Menschen völlig aussagelose Begriffe sind.

Schreibe in der Ubuntu-menu.lst nach "## ## End Default Options ##" folgendes dazu:

Code:
title Ubuntu 8.10 (sda5)
kernel /boot/vmlinuz-2.6.27-7-generic root=/dev/sda5 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet

title Ubuntu 8.10 (hda5)
kernel /boot/vmlinuz-2.6.27-7-generic root=/dev/hda5 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
Schau sicherheitshalber auch nach, ob die beiden Dateien tatsächlich so heißen. Die Zeile, die nicht geht, kannst Du dann wieder entfernen. Wenn Ubuntu hochkommt, kannst Du im Verzeichnis /dev/disk/by-uuid schauen, welche UUID bei Dir verwendet werden. Entweder trägst Du die dann ein oder Du bleibst bei /dev/... oder Du verwendest analog openSUSE die Eintragungen unter /dev/disk/by-id.
 

towo

Moderator
Teammitglied
Also

1. ist es immer besser, mit UUID zu arbeiten
2. würde ich mit meinem bescheidenen Wissen behaupten, das die menu.lst von Ubuntu Müll ist, weil da

root (hdx,y) fehlt.
 

josef-wien

Ultimate Guru
Mit der letzten Zeile hat towo recht (da in meiner menu.lst die hd-Angaben in der kernel- und in der initrd-Zeile stehen, ist mir das nicht aufgefallen).

Und zum Thema UUID hast Du jetzt 2 konträre Ansichten.
 
OP
P

pimpff

Newbie
Prinzipiell würde ich mich auch eher der der UUID-Fraktion anschließen. Aber eigentlich geht es mir hier weniger um ein Glaubensbekenntnis, sondern um ein einfaches und zufriedenstellendes Betriebssystem.

Habe die beiden geposteten Abschnitte in die menu.lst eingebaut, sie erscheinen zwar in der Ubuntu-Boot-Anzeige, sind jedoch mit der gleichen Fehlermeldung gekrönt.

Ich habe mir zwar im ubuntuusers-Wiki den Artikel zur menu.lst durchgelesen, verstehe aber nur einen Teil richtig.

An welcher Stelle fehlt die Angabe root (x,y) und was sollte sie aussagen?

Viele ubuntulose Grüße
Jan
 

hue

Member
Hallo

Zwischen der Zeile title und kernel eine Zeile
Code:
 root (hd0,4)
einfügen.

Du gibst damit GRUB an, wo er das zu startende Betriebssystem suchen soll.
hd0, weil in der Datei device.map wird wohl folgender Eintrag stehen: (hd0) /dev/sda
4, weil dein UBUNTU auf sda5 liegt und GRUB bei Null mit zählen anfängt.

Aber warum machst du das in zwei Stufen? Vom Suse-Grub das Menü des UBUNTU-Grub aufrufen und erst von dort das Betriebssystem.

Ich mache das direkt vom "Suse-Grub aus":
###Don't change this comment - YaST2 identifier: Original name: SUSE Linux 10.2###
title UBUNTU 64 Bit (/dev/sda7 )
root (hd0,6)
kernel /vmlinuz root=/dev/sda7 showopts ro splash
initrd /initrd.img

Damit startet direkt ab dem ersten Grub-Menü UBUNTU, das in meinem Fall auf sda7 liegt.

Gruss
hue
 

josef-wien

Ultimate Guru
josef-wien schrieb:
Das "zweite" Linux kannst Du entweder direkt aus dem Boot-Menü des "ersten" Linux starten und/oder Du rufst daraus das Boot-Menü des "zweiten" Linux auf (beides hat Vor- und Nachteile).
Die Variante von hue hat den Vorteil, daß Du Dir den Umweg über ein zweites Boot-Menü ersparst. Sie hat aber den Nachteil, daß Du immer dann die menu.lst von openSUSE manuell ändern mußt, wenn sich diesbezüglich irgendetwas am 2. Linux ändert.

Die andere Variante erspart Dir letzteres (und zwar unabhängig davon, welches Betriebssystem Du gerade auf sda5 hast), hat aber den Nachteil, daß Du ein 2. Boot-Menü erhältst.

Selbstverständlich kannst Du beide Varianten einbauen.
 
OP
P

pimpff

Newbie
Habe den vorgeschlagenen Eintrag in der menu.lst von Suse ergänzt, nun kann ich Ubuntu strarten.

Jedoch führt Ubuntu standardmässig während des Bootens einen Festplattencheck durch, während dessen immer eine Fehlermeldung kommt, die auf einen Eintrag in /var/log/fsck/checkfs verweist.

Hier ist deren Inhalt:
Log of fsck -C3 -R -A -a
Thu Nov 27 19:41:11 2008

fsck 1.41.3 (12-Oct-2008)
/dev/sda2: clean, 5720/612000 files, 301696/2441880 blocks (check in 3 mounts)
/dev/sda3: clean, 54816/1221600 files, 1140728/2441880 blocks
fsck.ext3: Unable to resolve 'UUID=16d430ac-58ae-4cbd-a323-8adf2ff41f53'

fsck died with exit status 8

Thu Nov 27 19:41:12 2008
----------------

Ich überspringe diese Fehlermeldung mit Strg+D (wird in der Fehlermeldung als Option genannt = exit), worauf der Anmeldeschirm von Ubuntu erscheint und ich mich anmelden kann.

Ich vermute, diese Fehlermeldung hat nichts mehr mit Dualboot oder mit der menu.lst zu tun, vielleicht sollte ich es eher in einer anderen Rubrik posten.

Vielleicht weiß aber doch jemand von Euch Hilfe?

Vielen Dank
Jan
 

towo

Moderator
Teammitglied
Steht doch alles da!
Du hast in der fstab eine UUID verwendet, die es nicht mehr gibt!
Also in der fstab die richtige UUID eintragen und gut is.
 
Oben