# GRUB und mbr

## Christian99

Hallo, hab ein kleines Problem auf meinen Rechner. Beim booten passiert nix:

Einschalten ganz normal, da  kommen die BIOS-Meldungen und dann wenn "GRUB loading..." kommen sollte, passiert nix.

Was ich bisher probiert habe:

Über kubuntu-livecd booten -> chroot -> install-grub. Sagt es ist alles ok, aber keine änderung beim booten.

über super-grub-disk boot-menü in grub-Kommandozeile gewechselt, kernel auf der platte per hand ausgewählt-> booted ohne probleme, system läuft. von da aus nochmal install-grub gemacht-> keine fehlermeldungen, aber auch kein Effekt, ich komme nicht an den Grub ran, der im MBR der Platte liegt ( liegen sollte )

bei

```
dd if=/dev/sda bs=446 count=1 
```

steht zwar was von einem error, aber der ist auch auf anderen Systemen, die normal funktionieren zu sehen.

Wie es dazu kam: Ich wollte eine Partition mit gparted "von links" verkleinern, schien auch soweit zu funktionieren, nur nachdem er fertig war und das letzte mal e2fsck lief, kam ein Fehler, dass das dateisystem noch die größe vor der Verkleinerung hat, obwohl gparted als allererstes das Dateisystem verkleinert hat. Daraufhin hab ich mithilfe von testdisk die partition wieder in der alten größe hergestellt. was laut testdisk auch funktioniert hat. allerdings wollte er einen rechnerneustart, (da er die partitionstabelle geändert hat, nehm ich an) und seitdem sind diese Probleme.

hab mir mit fdisk auch die partitionstabelle mal angeschaut, und die sieht auf den ersten Blick ok aus.

Würde mich über Hilfe sehr freuen.

Christian

----------

## py-ro

 *Christian99 wrote:*   

> 
> 
> ```
> dd if=/dev/sda bs=446 count=1 
> ```
> ...

 

Was möchtest du mit diesem Befehl erreichen? Er gibt dir die ersten 446 Bytes auf der Konsole aus.

Hast du schonmal versucht den Grub neu in den MBR zu schreiben? Was ist die Ausgabe, wenn du das tust.

Py

----------

## Christian99

die ersten 446 bytes einer Platte enthalten den MasterBootRecord. Viel kann man da zwar nicht lesen, aber es steht ziemlich am Schluss in Klartext "GRUB GeomHard DiskRead Error" drin. aber wie gesagt. das ist auch auf systemen die funktionieren so.

Ja, ich hab auch schon versucht grub in den mbr zu schreiben. hat nix gebracht, er sagt aber, das alles funktioniert hat:

```

grub-install /dev/sda

Installation finished. No error reported.

This is the contents of the device map /boot/grub/device.map.

Check if this is correct or not. If any of the lines is incorrect,

fix it and re-run the script `grub-install'.

(fd0)   /dev/fd0

(hd0)   /dev/sda
```

----------

## py-ro

Mache es bitte mal von Hand.

```
grub

root (hd0,?)

setup(hd0)

```

Py

----------

## Christian99

```

    GNU GRUB  version 0.97  (640K lower / 7168K 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)

Error 27: Unrecognized command

grub> root (hd0,0)

 Filesystem type is ext2fs, partition type 0x83

grub> setup (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)"...  18 sectors are embedded.

succeeded

 Running "install /boot/grub/stage1 (hd0) (hd0)1+18 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded

Done.

grub>

```

scheint zu passen,  werde gleich mal rebooten um zu schauen was passiert.

----------

## py-ro

Dann bleibt eigentlich nur noch die Bootreihenfolge, evtl. versucht er von was ganz anderem zu starten als der HDD (CD-Rom z.B.) oder die Hardware hat einen Hau weg.

Py

----------

## mv

Lass nochmal ein fsck (von einer Rettungsdisk aus) über alle Dateisysteme laufen, insbesondere auf das, was den /boot/grub-Ordner enthalten soll (ich vermute, das ist sda1?).

Und warte lange auf grub - auf meinem Laptop kann das, wenn das Filesystem nicht "sauber" geschlossen wurde, schon mal 5 Minuten dauern; warum weiss ich nicht, ist aber so. Bei repariertem Filesystem geht es dann aber schneller.

Ach ja: Du hast grub doch hoffentlich auch nach dem Rück-Verschieben des Filesystems nochmal installiert?

Die "Fehlermeldung" bei dd ist keine: Die kommt, weil Du den Bootsektor auf den Bildschirm schreibst, und dieser enthält im Klartext eine Fehlermeldung; hänge ein >/dev/null hinter das Kommando - wenn dann noch eine Fehlermeldung kommt, handelt es sich wirklich um eine.

Was noch falsch gelaufen sein kann: Deine Daten in /boot/grub könnten nicht mit denen des Installierten grub übereinstimmen. Zum zuverlässigen Installieren von Grub machst Du am besten folgendes: Boote mit einer Rescue-CD und kopiere händisch alles Files aus ${ROOT}/lib/grub/i386-pc und ${ROOT}/usr/share/grub nach ${ROOT}/boot/grub (mit ${ROOT} meine ich natürlich das Directory, in das Du Deine Original-Partition gemounted hast - und ich gehe davon aus, dass /boot keine Extra-Partition hat). Danach: 

```
mount --bind /dev ${ROOT}/dev

chroot ${ROOT} /bin/sh

grub
```

 Jetzt bist Du in "Deinem" Grub (wozu die vorher kopierten Dateien passen). Jetzt gibt Du ein: 

```
root (hd0,0)

setup (hd0)
```

 Dies besagt, dass Boot im Rootsektor von hd0 für Booten von der  0-ten (=sda1) Partition vorbereitet wird. Ob hd0 oder hd1 oder hd2 bei Dir richtig sind, hängt von Einstellungen im BIOS und Deiner Rescue-CD ab - da musst Du ggf. probieren. Wenn Du nur eine Festplatte hast, kannst Du ja kaum auf die falsche schreiben.

----------

## Christian99

 *mv wrote:*   

> Lass nochmal ein fsck (von einer Rettungsdisk aus) über alle Dateisysteme laufen, insbesondere auf das, was den /boot/grub-Ordner enthalten soll (ich vermute, das ist sda1?).
> 
> 

 

ich habe bereits  e2fsck über /dev/sda1 (=/boot) und über /dev/sda5 (=/) laufen lassen. Kleinere Fehler wurden gefunden die behoben worden sind. Auf /dev/sda6 ( die Partition, die ich ursprünglich verkleinern wollte) läuft es schon seit mehreren stunden, hat massenweise Fehler gefunden und Momentan ist es soweit, das es 3,5GB speicher belegt hat einen Prozessorkern voll ausllastet und nix mehr anzeigt.

 *Quote:*   

> 
> 
> Und warte lange auf grub - auf meinem Laptop kann das, wenn das Filesystem nicht "sauber" geschlossen wurde, schon mal 5 Minuten dauern; warum weiss ich nicht, ist aber so. Bei repariertem Filesystem geht es dann aber schneller.
> 
> 

 

ich hab lange gewartet. über nacht  :Smile: 

 *Quote:*   

> 
> 
> Ach ja: Du hast grub doch hoffentlich auch nach dem Rück-Verschieben des Filesystems nochmal installiert?
> 
> 

 

Meinst du über emerge grub oder grub-install?

mit grub-install nicht direkt danach, aber inzwischen mehrmals. emerge grub noch gar net.

 *Quote:*   

> 
> 
> Die "Fehlermeldung" bei dd ist keine: Die kommt, weil Du den Bootsektor auf den Bildschirm schreibst, und dieser enthält im Klartext eine Fehlermeldung; hänge ein >/dev/null hinter das Kommando - wenn dann noch eine Fehlermeldung kommt, handelt es sich wirklich um eine.
> 
> 

 

Schon klar, dass das keine Fehlermeldung von dd ist, sondern das so auf der Festplatte steht. ist mir halt nur aufgefallen, aber da es sich auch auf anderen systemen gefunden hat, war ja ziemlich klar dass es nicht weiterhilft.

 *Quote:*   

> 
> 
> Was noch falsch gelaufen sein kann: Deine Daten in /boot/grub könnten nicht mit denen des Installierten grub übereinstimmen. Zum zuverlässigen Installieren von Grub machst Du am besten folgendes: Boote mit einer Rescue-CD und kopiere händisch alles Files aus ${ROOT}/lib/grub/i386-pc und ${ROOT}/usr/share/grub nach ${ROOT}/boot/grub (mit ${ROOT} meine ich natürlich das Directory, in das Du Deine Original-Partition gemounted hast - und ich gehe davon aus, dass /boot keine Extra-Partition hat). 
> 
> 

 

Doch, siehe oben

 *Quote:*   

> 
> 
> Danach: 
> 
> ```
> ...

 

Werd ich machen, sobald e2fsck fertig ist. Lohnt sich das überhaupt noch zu warten? er schreibt ja nichts mehr in die Konsole und auf der Festplatte macht er auch kaum was...

[/quote]

----------

## mv

 *Christian99 wrote:*   

> ich habe bereits  e2fsck über /dev/sda1 (=/boot) und über /dev/sda5 (=/) laufen lassen. Kleinere Fehler wurden gefunden die behoben worden sind. Auf /dev/sda6 ( die Partition, die ich ursprünglich verkleinern wollte) läuft es schon seit mehreren stunden, hat massenweise Fehler gefunden

 

Das klingt natürlich gar nicht gut. Möglicherweise hat Deine Festplatte einfach einen Schuss bekommen; also, dass sie von bestimmten abgesetzten Kommandos nicht zurückkommt. Zeigt Dein Kernel-log bzw. dmesg irgdenwelche Nachrichten mit "{ .... }" an?

----------

## Christian99

ich glaube nicht, das die festplatte beschädigt  ist. es scheint tatsächlich nur seehr lange zu dauern, denn ich hab vorhin mal abgebrochen und neu gestartet, und das was er beim ersten mal repariert hat wird jetzt nicht mehr gefunden. Er macht im großen und ganzen da weiter wo er war.

momentan ist er bei 

```

(Inode #11, mod time Fri Jul 10 07:31:50 2009)                                                                                       

  hat 194285 doppelte Block(s), geteilt mit 70 Datei(en):
```

und danach noch die liste der dateien/inodes

ich werd tatsächlich mal abwarten, weil er tatsächlich irgendwas sinnvolles zu machen scheint. ich meld mich mal, wenn ich weiter bin. 

Danke soweit an alle.

----------

