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

Grub wiederherstellen scheitert

pospiech

Hacker
Ich hatte Win7 + Opensuse 11.2 inklusive Grub Bootmanager installiert. Dann habe ich eine unbenutze Partition /dev/sdb2 gelöscht und /dev/sdb1 mit dem freiwerdenden Platz vergrößert. Was in diesem Fall die Win7 Partition war.

Den Bootmanager von win7 habe ich über die Rettungsfunktion von Windows 7 wiederhergestellt und dabei natürlich Grub überschrieben. Sonst hätte aber Win7 nicht mehr gestartet.

Wenn ich nun die Opensuse CD und dort den Rettungsmodus wähle, dann kann ich auch Grub installieren. Das erkennt zwar leider überhaupt keinen alten Bootmanager und damit keine alte Liste mehr, aber die Windows Partitionen kann ich auch manuell hinzufügen. Soweit alles ok. Wenn ich nun aber den Bottmanager installieren will bricht das Programm ab mit:
Während der Installation des Bootloaders trat ein fehler auf.

Was mache ich nun ?
Welche weiteren Informationen wären interessant?
 
OP
P

pospiech

Hacker
Ich habe inzwischen mal alle Paritionen überprüfen lassen und mit der RettungsCD in die installierte Linux Partition gebootet.
Wenn ich dann mit yast2 den Bootloader neu installiere, bekomme ich überhaupt keine Fehlermeldung - aber grub wird nicht wirklich installiert.

Hier die Ausgaben die ich auf der Kommandozeile erhalte:

fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000bdc6e

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26110 209728543 7 HPFS/NTFS
/dev/sda2 26111 60799 278639392+ 5 Extended
/dev/sda5 26111 26372 2104483+ 82 Linux swap / Solaris
/dev/sda6 26373 34205 62918541 83 Linux
/dev/sda7 34206 42038 62918541 83 Linux
/dev/sda8 42039 60799 150697701 83 Linux

Disk /dev/sdb: 400.1 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0fdf0fde

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 10198 81915403+ 7 HPFS/NTFS
/dev/sdb2 10199 48641 308793397+ f W95 Ext'd (LBA)
/dev/sdb5 10199 10721 4200966 82 Linux swap / Solaris
/dev/sdb6 10722 14638 31463271 83 Linux
/dev/sdb7 14639 18555 31463271 83 Linux
/dev/sdb8 18556 26388 62918541 83 Linux
/dev/sdb9 26389 48641 178747191 83 Linux

grub-install /dev/sda
WARNING! You are trying to invoke the unsupported grub-install script
with a parameter. To really do this, call grub-install.unsupported.
You should rather call "yast2 bootloader" or create configuration files
appropriate for the intended target.

"yast2 bootloader" liefert dann allerdings als Fehlermeldung
Because of the paritioning the boot loader can not be installed properly

grub-install
GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,2) (hd0,5)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0,2)"... failed (this is not fatal)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,5)"... failed (this is not fatal)
Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,2) /boot/grub/stage2 p /boot/grub/menu.lst "... failed

Error 22: No such partition
grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,5)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0,1)"... failed (this is not fatal)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,5)"... failed (this is not fatal)
Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,1) /boot/grub/stage2 p /boot/grub/menu.lst "... succeeded
Done.
grub> quit

Hier noch device.map
linux:/boot/grub # cat device.map
(hd0) /dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755
(hd2) /dev/disk/by-id/ata-SAMSUNG_HD103SI_S1VSJ90SB05729
(hd1) /dev/disk/by-id/ata-SAMSUNG_HD401LJ_S0HVJ1GP403880
wobei derzeit die hd2 nicht eingebaut ist

menu.lst
linux:/boot/grub # cat menu.lst
# Modified by YaST2. Last modification on So Feb 21 09:56:51 CET 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,5)/boot/message
##YaST - activate

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

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX
root (hd0,5)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6 noresume splash=silent quiet showopts vga=0x31b
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX
root (hd0,5)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: other###
title Windows XP
rootnoverify (hd1,0)
chainloader +1
 
Die Konfigurationsdateien dürften nach wie vor passen. Jedenfalls sehe ich keine Fehler.

Du kannst das mit einer Start-CD überprüfen, die Grub enthält, z.B. http://www.ultimatebootcd.com/.

Damit booten, Grub-Shell öffnen und eingeben:

root (hd0,5)
kernel /boot/vmlinuz
initrd /boot/initrd
root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6
boot

Wenn Dein System dann startet, kannst Du Grub per Grub-Shell in den MBR installieren mit root (hd0,5) und setup (hd0).
 
OP
P

pospiech

Hacker
altashveede schrieb:
Die Konfigurationsdateien dürften nach wie vor passen. Jedenfalls sehe ich keine Fehler.

Du kannst das mit einer Start-CD überprüfen, die Grub enthält, z.B. http://www.ultimatebootcd.com/.

Damit booten, Grub-Shell öffnen und eingeben:

root (hd0,5)
kernel /boot/vmlinuz
initrd /boot/initrd
bis hier hin kommen sinnvolle Rückmeldungen.

altashveede schrieb:
root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6
Das liefert mir nur noch ein "unrecognised device string", was bei grub laut docu bedeutet "This error is returned if a device string was expected, and the string encountered didn't fit the syntax/rules listed in the Filesystem. "

Auch ein simples /dev/sda6 liefert denselben Fehler - ich verstehe abe nicht annähernd warum dieser Fehler kommt.

Was nun?
 
Du könntest es so versuchen:

root=(hd0,5)/dev/sda6 (oder die Langform)

Und wenn das klappt, vor der Installation auch die menu.lst entsprechend ändern.
 
OP
P

pospiech

Hacker
altashveede schrieb:
Du könntest es so versuchen:

root=(hd0,5)/dev/sda6
Aber warum sollte es nur so gehen?
Das würde ja auch bedeuten, dass die Einträge die opensuse gemacht hat jetzt nicht mehr funktionieren würden.
Und ich würde gerne mit einem System arbeiten das ich aus opensuse heraus zuverlässig konfigurieren kann.
 

tlu

Member
pospiech schrieb:
tlu schrieb:
Versuch's mal mit der Super Grub Disk - vielleicht kommst du damit weiter.
damit habe ich doch die Sachen ausprobiert.

Naja, es war nur von der openSUSE CD und der Ultimatbootcd die Rede - aber ich sehe gerade, dass Letztere SGD enthält ...

Was genau sollte mir die Super Grub Disk darüberhinaus helfen?

Vielleicht hilft das: http://www.supergrubdisk.org/wiki/Boot_Problems
 
pospiech schrieb:
Und ich würde gerne mit einem System arbeiten das ich aus opensuse heraus zuverlässig konfigurieren kann.

Kannst Du ja. Nur eben nicht unbedingt mit Yast. Das Bootloader-Modul von Yast hat halt seine Grenzen. Ich hatte damit auch schon manches Problem und bevorzuge inzwischen ganz entschieden die Grub-Shell.
 
OP
P

pospiech

Hacker
tlu schrieb:
Vielleicht hilft das: http://www.supergrubdisk.org/wiki/Boot_Problems
Ich finde da keinen Punkt der mich konkret anspricht.

Die wesentliche Frage bleibt warum grub vom installierten System aus gestartet sich _nicht_ installiert, und warum der zuletzt genannte Fehler auftritt.
 

josef-wien

Ultimate Guru
pospiech schrieb:
setup --stage2=/boot/grub/stage2 --force-lba (hd0,2) (hd0,5)
... failed
Das kann nicht funktionieren, denn (hd0,2) gibt es nicht.
pospiech schrieb:
setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,5)
... succeeded
GRUB wurde hier in den Bootsektor der erweiterten Partition installiert. Bei Dir ist aber die erste primäre Partition aktiv, daher wird diese vom BIOS ausgewählt. Du mußt die erweiterte Partition aktivieren, z. B. mit dem Befehl:
Code:
sfdisk -A2 /dev/sda
Alternativ kannst Du GRUB in den MBR installieren (dann mußt Du (hd0) und nicht (hd0,1) angeben).

Noch ein Hinweis:
altashveede schrieb:
root (hd0,5)
kernel /boot/vmlinuz
initrd /boot/initrd
root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6
boot
Das kann nicht funktionieren, "root=/dev/..." ist kein eigenständigen Befehl, die Angabe gehört zum Befehl "kernel".
 
OP
P

pospiech

Hacker
josef-wien schrieb:
GRUB wurde hier in den Bootsektor der erweiterten Partition installiert. Bei Dir ist aber die erste primäre Partition aktiv, daher wird diese vom BIOS ausgewählt. Du mußt die erweiterte Partition aktivieren, z. B. mit dem Befehl:
Code:
sfdisk -A2 /dev/sda
Das wars. Danke.
 
Oben