# [gelöst] Grub will mein Gentoo nicht starten.

## Klaus Meier

Außer meinem Normalgentoo habe ich ein Testgentoo auf /dev/sda6. Ohne eigene Bootpartition. Hab da etwas umgebaut und bekomme es einfach nicht mehr gestartet. Die entsprechende Zeile in der grub.conf lautet:

```
title=KDE

root (hd0,5)

kernel /boot/vmlinuz root=/dev/sda6 vga=0x31B video=vesafb:mtrr:3,ywrap
```

Die fstab sieht so aus:

```
#/dev/BOOT              /boot           ext2            noauto,noatime  1 2

/dev/sda6               /               ext3            noatime         0 1

#/dev/SWAP              none            swap            sw              0 0

/dev/cdrom              /mnt/cdrom      audo            noauto,ro       0 0

#/dev/fd0               /mnt/floppy     auto            noauto          0 0
```

und ich bekomme beim booten folgende Meldung:

```
error 2. Bad file or directory type. 
```

Mache ich ein chroot in dieses gentoo und führe grub-install --no-floppy /dev/sda aus, was ja eigentlich gar nicht nötig ist, da ja grub schon im mbr ist, bekomme ich folgende Fehlermeldung

```
The file /boot/grub/stage1 not read correctly.
```

Bin ich da jetzt zu blind, den Fehler zu finden? Und warum kann grub-install stage1 nicht lesen? Hab jetzt emerge grub und make install beim Kernel öfters wiederholt.Last edited by Klaus Meier on Tue Feb 26, 2008 12:35 pm; edited 1 time in total

----------

## schachti

Wie sieht denn /boot auf /dev/sda6 aus?

----------

## Klaus Meier

Hab es mit mkdir /boot erzeugt. Und hab es dann mit emerge grub und make install in /usr/src/linux gefüllt wie immer. Hab auch schon den Inhalt von /boot von der Hauptinstallation rüberkopiert. Es will dieses stage1 nicht. Kann es sein, dass eventuell meine Partitionstabelle ne Macke hat. Hab da auch noch Vista drauf und war da mal mit Acronis irgendwas dran. Und das scheint mit Vista und/oder meiner Platte (ist ne 400er von Samsung) nicht zu wollen.

----------

## firefly

 *Klaus Meier wrote:*   

> Hab es mit mkdir /boot erzeugt. Und hab es dann mit emerge grub und make install in /usr/src/linux gefüllt wie immer. Hab auch schon den Inhalt von /boot von der Hauptinstallation rüberkopiert. Es will dieses stage1 nicht. Kann es sein, dass eventuell meine Partitionstabelle ne Macke hat. Hab da auch noch Vista drauf und war da mal mit Acronis irgendwas dran. Und das scheint mit Vista und/oder meiner Platte (ist ne 400er von Samsung) nicht zu wollen.

 

gib mal die Ausgabe von 

```
fdisk -l /dev/sda
```

----------

## Klaus Meier

```
Platte /dev/sda: 400.0 GByte, 400087375360 Byte

255 Köpfe, 63 Sektoren/Spuren, 48641 Zylinder

Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Disk identifier: 0x000113cf

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System

/dev/sda1               1           4       32098+  83  Linux

/dev/sda2               5        9730    78124095   83  Linux

/dev/sda3   *        9731       16201    51978307+   7  HPFS/NTFS

/dev/sda4           16202       48641   260574300    5  Erweiterte

/dev/sda5           16203       20915    37857172+  83  Linux

/dev/sda6           20916       25778    39062016   83  Linux

/dev/sda7           25779       48641   183647016    7  HPFS/NTFS

```

----------

## Max Steel

Warum mountest du nicht direkt deinen eigentliche boot-Partition in dein Testsystem?

Dann liegen alle kernel-images auf einer Partition, also zentral.

----------

## Klaus Meier

 *Max Steel wrote:*   

> Warum mountest du nicht direkt deinen eigentliche boot-Partition in dein Testsystem?
> 
> Dann liegen alle kernel-images auf einer Partition, also zentral.

 

Hatte ich auch schon, hat den Nachteil, dass man dann für beide Systeme den gleichen Kernel benutzen muss (also ich hab den Kernel bislang immer einfach mit make install installiert, ok, wenn ich ihn umbenenne, dann gehen auch andere). Und es ging ja bis letzte Woche noch, nur dass es da /dev/sda5 war und nicht /dev/sda6.

----------

## Max Steel

gut mit make install,

Ich mach des immer per cp, dadurch hab ich da keine Probleme deshalb aber, du brauchst nur den grub von deiner richtigen bootpartition installieren.

Jedenfalls, das ist komisch,

----------

## schachti

 *Klaus Meier wrote:*   

> Hab es mit mkdir /boot erzeugt. Und hab es dann mit emerge grub und make install in /usr/src/linux gefüllt wie immer.

 

Wir hatten hier vor kurzem einen Thread, in der ein Symlink in /boot gefehlt hat. Hast Du den Symlink in /boot auf /dev/sda6?

----------

## Klaus Meier

 *schachti wrote:*   

>  *Klaus Meier wrote:*   Hab es mit mkdir /boot erzeugt. Und hab es dann mit emerge grub und make install in /usr/src/linux gefüllt wie immer. 
> 
> Wir hatten hier vor kurzem einen Thread, in der ein Symlink in /boot gefehlt hat. Hast Du den Symlink in /boot auf /dev/sda6?

 

Ist kein Link, ist ein realer Ordner. Hab ja keine separate Bootpartition. Deshalb habe ich ja auch kein /boot in der fstag.

----------

## schachti

Nein, was ich meine: In meinem /boot ist ein Symlink namens boot, der auf . zeigt:

```

segfault ~ # ls -la /boot/

[...]

lrwxrwxrwx  1 root    root       1 28. Feb 2007  boot -> .

[...]

```

----------

## firefly

 *schachti wrote:*   

> Nein, was ich meine: In meinem /boot ist ein Symlink namens boot, der auf . zeigt:
> 
> ```
> 
> segfault ~ # ls -la /boot/
> ...

 

dieser Link ist nur notwendig, wenn /boot eine separate partition ist, und du in der grub.conf "/boot" verwendest.

----------

## schachti

ok, danke für die Aufklärung! Warum ist in dem Fall denn der Symlink nötig?

----------

## Klaus Meier

Also ich hatte den Link nicht, hab ihn gesetzt, hat aber nichts gebracht. Also, habe jetzt durch, fsck, kernel installiert, grub installiert und konfiguriert, das stage1 vom funktionierenden /boot kopiert. Jedesmal kann er angeblich diese stage1 nicht lesen.

Kann es sein, dass es daran liegt, dass es mal eine Partition war, die ich unter Vista mit NTFS verwendet habe? Habe sie dann auf ext3 formatiert und den Typ auf Linux umgestellt, aber bei Vista weiß man ja nie. Eventuell auch mit der Partitionstabelle.

----------

## firefly

 *schachti wrote:*   

> ok, danke für die Aufklärung! Warum ist in dem Fall denn der Symlink nötig?

 

? Im welchen Fall meinst du?

der boot -> . Symlink ist in den stage*-archiven enthalten. Dadurch wird sichergestellt, das egal ob /boot eine separate partition ist oder nicht, die Verwendung von /boot/* in der grub.conf funktioniert.

----------

## schachti

ah ok, da hatte ich wohl Tomaten auf den Augen - wenn /boot auf einer separaten Partition liegt und nicht gemountet ist, ist es mittels /boot natürlich nur über den Symlink auf sich selbst erreichbar.

----------

## STiGMaTa_ch

 *Quote:*   

> root (hd0,5) 
> 
> [...]ist ein realer Ordner. Hab ja keine separate Bootpartition.[...]

 

Absoluter Schuss ins blaue ohne zu wissen ob das wirklich geht...

Verwende in grub.conf einmal folgenden root Befehl:

```
root (hd0,5)/boot
```

Zeig uns mal ein 

```
ls -lR /boot/
```

Achja... Hast du mehr als eine HD drinn (ev. seit neustem?)?

Lieber Gruss

STiGMaTa

----------

## Klaus Meier

Habe zur Zeit nur eine HD drin, die andere hängt für Backups draußen manchmal am SATA. Werde erst mal alles auf diese Platte sichern und mir dann die Platte komplett neu aufbauen. Da ist irgendwas mehr murks als Grub nicht richtig eingerichtet.

Dieser Fehler bei grub-install mit dem stage1 sagt mir das.

----------

## STiGMaTa_ch

 *Klaus Meier wrote:*   

> Dieser Fehler bei grub-install mit dem stage1 sagt mir das.

 

Nun, das wäre ein wenig mit Kanonen auf Spatzen geschossen.

Die Meldung besagt nur, dass er das Stage 1 nicht findet. Wenn du uns einfach ein 

```
ls -lR /boot/
```

 einstellen würdest, dann könnten wir dir vielleicht mehr sagen. Ist ja nicht Windows, wo nur das Neuinstallieren bleibt um ein Problem zu lösen...

Lieber Gruss

STiGMaTa

----------

## Anarcho

Wie genau läuft denn das booten bei dir jetzt ab?

Du willst ja jetzt plötzlich 2x grub installieren wenn ich das richtig verstehe. Hast du die 2. Installation von grub auch in den bootsektor von sda6 installiert? Sonst überschreibst du natürlich den alten grub im mbr.

Ich würde es so versuchen:

1. grub normal für die richtige /boot installieren und testen

2. grub für gentoo2 in den bootsektor von (hd0,5) installieren

3. im normalen grub mittels chainloader den 2. grub laden

Aber ganz im ernst:

Ich würde einfach für beide systeme die gleiche /boot partition nehmen und fertig. Das bisschen cp xxx /boot/yyy ist doch kein Ding. Ich habe noch nie make install verwendet.

----------

## AmonAmarth

 *Klaus Meier wrote:*   

> 
> 
> ```
> Platte /dev/sda: 400.0 GByte, 400087375360 Byte
> 
> ...

 

seh ich das richtig das du sda6 als erweiterte partition angelegt hast? aus erweiterten partition kann man nicht booten, das sollte schon eine primäre sein. kopier den kernel doch einfach in das boot verzeichnes deines hauptgentoos und ändere den grub eintrag passend um

----------

## Klaus Meier

 *Anarcho wrote:*   

> Wie genau läuft denn das booten bei dir jetzt ab?
> 
> Du willst ja jetzt plötzlich 2x grub installieren wenn ich das richtig verstehe. Hast du die 2. Installation von grub auch in den bootsektor von sda6 installiert? Sonst überschreibst du natürlich den alten grub im mbr.

 Ich wollte nur einmal grub im mbr. Aber da er mein zweites Gentoo nicht starten wollte, hab ich versucht, grub von der zweiten Installation zu installieren. Und habe dabei auch diese Fehlermeldung bekommen. Dass ich mir damit meinen ersten entsorge, dass ist mir klar, aber ich wollte halt nur sehen, was passiert und habe dabei auch etwas gefunden, was hakt.

----------

## Klaus Meier

 *AmonAmarth wrote:*   

> seh ich das richtig das du sda6 als erweiterte partition angelegt hast? aus erweiterten partition kann man nicht booten, das sollte schon eine primäre sein. kopier den kernel doch einfach in das boot verzeichnes deines hauptgentoos und ändere den grub eintrag passend um

 Komisch, letzte Woche ging das noch und zwar mit sda5. Aber gab es da nicht mal sowas, dass grub/kernel auf den ersten 1024 Zylindern liegen muss? Kann es sein, dass das Problem daher rührt, dass ich die Partitonsgrößen auf der Platte geändert habe?

----------

## Klaus Meier

 *Anarcho wrote:*   

> Aber ganz im ernst:
> 
> Ich würde einfach für beide systeme die gleiche /boot partition nehmen und fertig. Das bisschen cp xxx /boot/yyy ist doch kein Ding. Ich habe noch nie make install verwendet.

 Hatte ich auch schon versucht, hat mir beim booten eine Fehlermeldung gegeben, dass ich da ein falsches Filesystem hätte oder sowas. Habs nicht mehr genau im Kopf. Geht mir auch darum, dass ich eigentlich weiß, wie es geht und was man machen kann, ich mich aber frage, warum etwas, was bislang immer ging, auf einmal nicht mehr will.

----------

## firefly

 *Klaus Meier wrote:*   

>  *Anarcho wrote:*   Aber ganz im ernst:
> 
> Ich würde einfach für beide systeme die gleiche /boot partition nehmen und fertig. Das bisschen cp xxx /boot/yyy ist doch kein Ding. Ich habe noch nie make install verwendet. Hatte ich auch schon versucht, hat mir beim booten eine Fehlermeldung gegeben, dass ich da ein falsches Filesystem hätte oder sowas. Habs nicht mehr genau im Kopf. Geht mir auch darum, dass ich eigentlich weiß, wie es geht und was man machen kann, ich mich aber frage, warum etwas, was bislang immer ging, auf einmal nicht mehr will.

 

naja wenn grub sagt falsches dateisystem, dann liegt das entweder an fehlerhaften eintrag in der grub.conf oder die angegebene Partition hatte nicht Linux als ID (wenn ein Linux dateisystem drauf ist)

----------

## AmonAmarth

 *Klaus Meier wrote:*   

>  *AmonAmarth wrote:*   seh ich das richtig das du sda6 als erweiterte partition angelegt hast? aus erweiterten partition kann man nicht booten, das sollte schon eine primäre sein. kopier den kernel doch einfach in das boot verzeichnes deines hauptgentoos und ändere den grub eintrag passend um Komisch, letzte Woche ging das noch und zwar mit sda5. Aber gab es da nicht mal sowas, dass grub/kernel auf den ersten 1024 Zylindern liegen muss? Kann es sein, dass das Problem daher rührt, dass ich die Partitonsgrößen auf der Platte geändert habe?

 

ok das hat mir jetzt auch etwas zu bedenken gegeben und hab etwas rumgegoogled. meines wissens (aus noch vielleicht etwas konservativen zeiten) nach konnte man früher kein betriebsystem aus einem logischen laufwerk booten

jetzt hab ich aber eine (zugegebenermaßen unbestätigte) quelle gefunden das linux das anscheinend DOCH kann:

http://www.informationsarchiv.net/foren/beitrag-54165.html

 *Quote:*   

> Win und FreeBSD brauchen mindestens 1 primäre Partition um zu Booten, Linux kann ohne probleme von log. Partitonen booten.

 

ich weiß nicht wie kompetent die person war die das gepostet hat.

----------

## firefly

 *AmonAmarth wrote:*   

>  *Klaus Meier wrote:*   
> 
> ```
> Platte /dev/sda: 400.0 GByte, 400087375360 Byte
> 
> ...

 

Öhm das stimmt nicht, zumindestens nicht mehr.

Ich habe folgende Partitionslayout:

 *Quote:*   

> Platte /dev/hda: 80.0 GByte, 80026361856 Byte
> 
> 255 Köpfe, 63 Sektoren/Spuren, 9729 Zylinder
> 
> Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
> ...

 

Wie du siehst ist meine /root partition auch in einer logischen Partition. Und ich kann davon ohne Probleme mit grub booten.

----------

## Klaus Meier

 *firefly wrote:*   

> naja wenn grub sagt falsches dateisystem, dann liegt das entweder an fehlerhaften eintrag in der grub.conf oder die angegebene Partition hatte nicht Linux als ID (wenn ein Linux dateisystem drauf ist)

 Siehe weiter oben, Typ 83. Und formatiert als ext3. Genauso wie alles und immer.

----------

## firefly

 *Klaus Meier wrote:*   

>  *firefly wrote:*   naja wenn grub sagt falsches dateisystem, dann liegt das entweder an fehlerhaften eintrag in der grub.conf oder die angegebene Partition hatte nicht Linux als ID (wenn ein Linux dateisystem drauf ist) Siehe weiter oben, Typ 83. Und formatiert als ext3. Genauso wie alles und immer.

 

dann fehlerhafte eintrag in der grub.conf. Auser natürlich grub hat noch probleme, wenn kernel + grub dateien hinter den 1024 Zylindern liegt

----------

## AmonAmarth

 *firefly wrote:*   

> 
> 
> Öhm das stimmt nicht, zumindestens nicht mehr.

 

darf ich fragen wovon das abhängig ist, wenn das früher nicht ging und inzwischen schon? moderner IDE oder SATA controller oder neuere festplatten?

----------

## firefly

 *AmonAmarth wrote:*   

>  *firefly wrote:*   
> 
> Öhm das stimmt nicht, zumindestens nicht mehr. 
> 
> darf ich fragen wovon das abhängig ist, wenn das früher nicht ging und inzwischen schon? moderner IDE oder SATA controller oder neuere festplatten?

 

ich vermute es war der bootloader bzw. das Bios.

----------

## Klaus Meier

Ok, also starten von /dev/sda1 ging jetzt. Hatte mich da an einer Stelle vertippt. Und das andere eventuell doch ein Zylinderproblem?

----------

## firefly

 *Klaus Meier wrote:*   

> Ok, also starten von /dev/sda1 ging jetzt. Hatte mich da an einer Stelle vertippt. Und das andere eventuell doch ein Zylinderproblem?

 

*g* doch konfigurationsproblem  :Wink: 

hmm wegen der 1024 Zylinder grenze sollte eigentlich nicht mehr simmen. Zumindestens mit aktuellen Mainboards + grub.

Denn auf meinem Laptop habe meine Linux /root Partiton hinter den 1024 Zylinder(zumindestens laut fdisk -l):

 *Quote:*   

> Disk /dev/sda: 160.0 GB, 160041885696 bytes
> 
> 255 heads, 63 sectors/track, 19457 cylinders
> 
> Units = cylinders of 16065 * 512 = 8225280 bytes
> ...

 

----------

## AmonAmarth

bei mir liegt grub und der kernel ebenfalls nach dem 1024sten zylinder laut fdisk

 *Quote:*   

> /dev/hda3            5163        7595    19543072+  83  Linux

 

ist nur die frage wie zuverlässig die ausgabe ist und ob das nicht noch umgerechnet werden muss oder ähnliches.

hab noch was anderes gefunden was deinen fehler (das er stage1 nicht findet) auslösen könnte, da du ja ebenfalls ext3 verwendest.

http://wiki.archlinux.org/index.php/Reinstalling_GRUB#Errors

aber hauptsache es funzt jetzt  :Wink: 

----------

## Klaus Meier

So, werde es erst mal auf gelöst setzen. Starten von /dev/sda1 geht ja und werde dann nebenbei mal die zweite Festplatte einrichten und dann die Partitionen rüberkopieren. Dann kann ich ja sehr einfach feststellen, ob es an den Zylindern liegt oder nicht.

So, hab jetzt mal auf der zweiten Platte eine ähnliche Partitionsstruktur erzeugt und KDE rüberkopiert. Bei /dev/sdb3 ging grub-install, bei /dev/sdb5 nicht. Scheint also an den Zylindern zu liegen. Ob jetzt primär und logisch eine Auswirkung haben, werde ich auch noch mal antesten.

----------

