Am 20.07.2011 16:47, schrieb Klaus Schneider-Grosch:
Am Dienstag, 19. Juli 2011, 12:44:57 schrieb Tao te Puh:
Mir ist noch etwas eingefallen: LBA
Normalerweise erkennt grub automatisch ob das System (BIOS) LBA unterstützt und setzt entsprechende Parameter - manchmal geht die Erkennung aber auch schief (buggy BIOS).
Man kann das Verhalten nun aber forcieren, deshalb ändere mal, bei der manuellen grub-Installation, den setup-Befehl in:
setup --force-lba (hd0)
führt leider auch zu grub-error 5
Das hätte ich nicht erwartet, weil nämlich das "--force-lba" eigentlich der einzige Unterschied zu dem war, was Yast macht (siehe weiter unten).
- die ersten 446 Bytes der Platte genullt. Danach mit yast eine "root- Partition-Installation" durchgeführt und dabei dem Tip von David folgend den Haken bei "Generischen Bootcode in MBR schreiben" gesetzt. Damit gelange ich wieder bis zur Grub-Shell.
Nach wie vor komisch ist, dass Du nur bis zur grub-Shell kommst. Kannst Du denn die menu.lst mal manuell im laufenden System laden? grub configfile (hd0,0)/boot/grub/menu.lst Der Befehl zeigt die menu.lst lediglich an, dass angezeigte Menü hat ansonsten keine Funktionalität - einfach mit Return beenden. Habe allerdings gerade bemerkt, dass der Befehl auf meinen neueren Systemen mit einem Fehler abbricht (Segmentation fault) - auch komisch ... früher war das alles mal besser ...
- "root (hd0,0)" und "setup --force-lba (hd0)" -> grub error 5. Ausgabe grub dabei: 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> root (hd0,0) Filesystem type is ext2fs, partition type 0x83
grub> setup --force-lba (hd0) 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)"... 17 sectors are embedded. succeeded Running "install --force-lba /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done.
Das sieht alles sehr richtig aus. Alles wird gefunden - e2fs_stage1_5 hat 8608 Bytes, was umgerechnet (geteilt durch 512) 17 Sektoren verbraucht.
/etc/grub.conf: setup --stage2=/boot/grub/stage2 --force-lba (hd0,0) (hd0,0) quit
In grub.conf stehen doch die Befehle, die yast beim Erstellen der Bootkonfiguration durchführt. Das unterscheidet sich etwas von Deinem Vorschlag. Man könnte natürlich genau diesen Befehl eingeben und sehen was passiert, das erspare ich mir jetzt zunächst.
In der Tat kann man die "manuelle" Installation auch via grub < /etc/grub.conf durchführen, aber das wäre ja total uncool ... Ansonsten unterscheidet sich das was da drin steht eigentlich nicht von dem was wir gemacht haben. Es fehlt der "root (hd0,0)" Befehl und deshalb muss die Position von stage2 explizit angegeben werden. Die erste Klammer mit (hd0,0) entspricht unserem "setup (hd0)" und ist die Position wo grub (stage1) installiert wird. Das da bei uns das ",0" fehlt liegt daran, dass Du grub mit Yast im Partition-Boot-Record der root-Partition installiert hast, die liegt bei Dir in sda1, also hd0,0. Wenn Du mal mit Yast im MBR der Platte installierst, dann steht da garantiert auch "nur" hd0 was sda entspricht. Die zweite Klammer (hd0,0) ist das so genannte image_device. In diesem Device wird nach den Images (bei Dir ist das e2fs_stage1_5) gesucht. Diese Angabe brauchen wir bei unserer "manuellen" Installation nicht, weil wir das image_device bereits mit dem root-Kommando angegeben haben. Du kannst an der obigen Ausgabe der manuellen Installation sehen, dass e2fs_stage1_5 gefunden und installiert wird.
Ganz unten hänge ich die Ausgabe von boot_info_script.sh an.
Das hast Du sicherlich gemacht als die Yast-Installation mit der Installation in der root-Partition "aktiv" war. Mich hätte mal die Ausgabe der "manuellen" Installation interessiert. Sehr eigenartig finde ich folgende Ausgabe: ========= Devices which don't seem to have a corresponding hard drive: ========= sdb sdc sdd sde =============================== StdErr Messages: =============================== /dev/sdb: open failed: Kein Medium gefunden /dev/sdc: open failed: Kein Medium gefunden /dev/sdd: open failed: Kein Medium gefunden /dev/sde: open failed: Kein Medium gefunden Das habe ich so bisher noch nicht gesehen. Bei meinen Rechnern gibt es diese Abschnitte überhaupt nicht. Irgendwie bietet Dein BIOS da was an, was dann aber doch nichts beinhaltet ... sehr merkwürdig.
Eine Bootpartition hatte ich mit früheren Susen auch, nur wurde das irgendwann beim Einrichten des Systems nicht mehr vorgeschlagen, und dann hatte ich es auch nicht mehr gemacht. Ich vermute allerdings, daß in meinem speziellen Fall eine Boot-Partition nicht helfen würde. Ich denke inzwischen auch, daß das BIOS irgendwie an der Sache entscheidend beteiligt ist.
Heutzutage braucht man das eigentlich auch nur noch, wenn man mit LVM arbeitet. Es hätte mich halt, rein sportlich, interessiert, ob das auf Deinem System was ausmacht - ich kann allerdings auch verstehen, wenn Du genug hast ... -- Herzliche Grüße Tao -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org