Sie sind nicht angemeldet.

[gelöst] Probleme mit Grub

1

06.09.2012, 00:14

Probleme mit Grub

Hallo liebes Gentooforum,

Ich weiß Grub Problem Threads gibt es bestimmt einige aber so richtig helfen tun sie mir nicht. Ich stehe momentan vor der Vollendung meiner ersten Gentoo Installation (Schönen Dank auch an Thorus der hierzu einige schöne Tutorials auf Youtube hochgeladen hat und wie ich sehe auch hier im Forum rumschwirrt). Nach dem ersten Reboot erhalte ich jedoch den Grub Error 17. Ich schließe daraus das ich vermutlich die grub.conf nicht richtig angepasst habe. Vorab solltet ihr wissen das ich 3 Festplatten habe. dev/sda (Nur für das Windows Betriebssystem) dev/sdb mit Gentoo (sdb1=boot, sdb2=swap,sdb3=root,sdb4=home) und sdc (Für Windows Daten). Meine menu.lst sieht wie folgt aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
default 0
timeout30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux
root (hd1,2)
kernel /boot/kernel-genkernel-x86_64-3.4.9-gentoo root=/dev/ram0 real_root=/dev/sdb3
initrd /boot/initramfs-genkernel-x86_64-3.4.9-gentoo

title Windows 7
rootnoverify (hd0,0)
makeactive
chainloader +1


Vielleicht könntet ihr ja ml einen Blick draufwerfen und mir sagen was ich falsch gemacht habe.
Vielen Dank schonmal im Voraus.

PS: Vielleicht hab ich auch etwas in der fstab Datei falsch gemacht:

/dev/sdb1 /boot ext2 noauto,noatime 1 2
/dev/sdb3 / ext4 noatime 0 1
/dev/sdb2 none swap sw 0 0
/dev/sdb4 /home ext4 noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Rotschnabelpinguin« (06.09.2012, 19:13)


2

06.09.2012, 08:13

Willkommen im Forum!

Ein Grub 17 also? Ok: http://www.gnu.org/software/grub/manual/…l#Stage2-errors sagt dazu

Zitat

17 : Cannot mount selected partition
This error is returned if the partition requested exists, but the filesystem type cannot be recognized by GRUB.


Du hast da ein ext4 am Brummen. Nun weis ich nicht ab welcher Version der Grub Legacy ext4 da eigentlich unterstützt. Kann sein, dass du da vlt. auf ein ext3 zurückweichen müsstest oder einen neueren Grub nimmst.

Gib mal die Grub-Version durch.

Quellcode

1
# eix -e grub
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

06.09.2012, 10:19

Hallo dyle,

Ein eix -e grub gibt folgendes aus:

Installed versions: 0.97-r12 (00:04:34 09/06/12) (ncurses -custom-cflags -netboot -static)
Homepage: http://www.gnu.org/software/grub/
Description: GNU GRub boot loader


Denkst du mit meiner Konfiguration stimmt sonst alles? Speziell bei dem Punkt bin ich mir nicht sicher: root (hd1,2). Ich geb Grub ja theoretisch mit dem Parameter real_root=/dev/sdb3 nochmal das gleiche an ist das so gewollt?

4

06.09.2012, 10:34

Mit dem Parameter "root hd()" ist eingentlich die /boot Partition gemeint.
Du musst also

Quellcode

1
root hd(1,0) eintragen.


Ich geb Grub ja theoretisch mit dem Parameter real_root=/dev/sdb3 nochmal das gleiche an ist das so gewollt?

Du musst unterscheiden:
root hd() ist eine Info für den Grub wo er /boot/grub/*, den Kernel und die Initramfs findet.
"real_root" ist eine Info für ein Skript in der genkernel-generierten Initramfs wo "/" ist. Grub wertet diesen Parameter nicht aus.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

5

06.09.2012, 10:59

Stimmt das erscheint logischer. Ich hab jetzt die grub.conf dementsprechend abgeändert und nochmal grub-install --no-floppy /dev/sda gemacht. Leider bekomme ich immernoch den Error 17. Vorsichtshalber habe ich jetzt auch noch das Splashimage auskommentiert, man kann ja nie wissen. :)

6

06.09.2012, 11:07

Da Du aus der Live-Umgebung / Chroot den Grub installierst, war die /boot Partition auch als /mnt/gentoo/boot gemounted? Und hattest Du im Chroot vor grub-install auch

Quellcode

1
grep -v rootfs /proc/mounts > /etc/mtab
ausgeführt?
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

7

06.09.2012, 11:34

war die /boot Partition auch als /mnt/gentoo/boot



Ich glaub daran liegts möglicherweise habe ich da sogar etwas bei der Installation falsch gemacht:

Quellcode

1
mount: mount point /mnt/gentoo/boot does not exist


Nach dem ich

Quellcode

1
chroot /mnt/gentoo /bin/bash


mache habe ich einen leeren boot Ordner erst wenn ich nach

Quellcode

1
mount /dev/sdb1 /boot
nochmal in den Ordner reinschaue sind da Dateien drin. Gibt es eine Möglichkeit das nachträglich irgendwie anzupassen oder müsste ich nochmal von vorne mit der Installation beginnen?

8

06.09.2012, 11:50

Verstehe zwar nicht wieso ausserhalb von chroot das Mounten nicht gehen soll (sdb3 auf /mnt/gentoo noch nicht gemounted?) aber wenn es innerhalb der chroot klappt sollte es ok sein. Das manuelle Aktualisieren der mtab mit dem fgrep-Befehl hattest Du auch durchgeführt?
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

9

06.09.2012, 12:33

Ja das habe ich auch durchgeführt bin ziemlich ratlos.

10

06.09.2012, 12:40

Bei mir funktioniert diese Grub-Versiom mit ext4 ohne Probleme. Was steht denn in der /boot/grub/device.map?
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

11

06.09.2012, 12:45

Quellcode

1
2
3
          (hd0) /dev/sda
          (hd1) /dev/sdb
          (hd2) /dev/sdc



Wegen dem ext4, ist aber schon in Ordnung das meine /boot ext2 ist oder?

12

06.09.2012, 12:45

Hallo alle zusammen.
Wenn ich mich recht erinnere richtet sich grub selbst nach der BIOS-Reihenfolge, sprich die Platte die im BIOS zum booten ausgewählt ist ist für grub die erste,
und da /boot die erste Partition auf der ersten Platte ist sollte somit
root (hd0,0)
passen.

13

06.09.2012, 12:52

Verschiebe mal den root Parameter aus dem Menüeintrag nach oben zu den globalen Parametern.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

14

06.09.2012, 12:52

Hallo alle zusammen.
Wenn ich mich recht erinnere richtet sich grub selbst nach der BIOS-Reihenfolge, sprich die Platte die im BIOS zum booten ausgewählt ist ist für grub die erste,
und da /boot die erste Partition auf der ersten Platte ist sollte somit
root (hd0,0)
passen.



Hallo Josef,

/boot müsste bei mir aber auf der 2. Platte auf der 1. Partition liegen also müsste hd(1,0) doch eigentlich stimmen oder?


Edit:
Verschiebe mal den root Parameter aus dem Menüeintrag nach oben zu den globalen Parametern.


So?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
default 0
timeout30
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
root(hd1,2)

title Gentoo Linux
kernel /boot/kernel-genkernel-x86_64-3.4.9-gentoo root=/dev/ram0 real_root=/dev/sdb3
initrd /boot/initramfs-genkernel-x86_64-3.4.9-gentoo

title Windows 7
rootnoverify (hd0,0)
makeactive
chainloader +1



Edit Nr.2: Vielleicht hilft das ja weiter wenn ich via cd nach /boot wechsel und mir via ls die Verzeichnisse etc anzeigen lasse, dann gibt es dort ein türkis eingefärbtes boot (Das müsste doch ein Symlink sein der irgendwo hinzeigt) Wenn ich jetzt via ls -l boot mir das anzeigen lasse

Steht da:

Quellcode

1
lrwxrwxrwx 1 root root 1 Sep 5 23:32 boot -> .

Ist das in Ordnung?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Rotschnabelpinguin« (06.09.2012, 13:16)


15

06.09.2012, 13:21

/boot müsste bei mir aber auf der 2. Platte auf der 1. Partition liegen also müsste hd(1,0) doch eigentlich stimmen oder?

Nein, wie gesagt richtet sich grub nach der BIOS Reihenfolge - demnach ist deine Boot-Platte die erste (hd0)

/edit: Versuche es mit

Quellcode

1
2
3
4
5
6
7
8
default 0
timeout30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux
root (hd0,0)
kernel /kernel-genkernel-x86_64-3.4.9-gentoo real_root=/dev/sdb3
initrd /initramfs-genkernel-x86_64-3.4.9-gentoo

Ansonsten überprüfe auch mal die /boot/grub/device.map

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »josef.95« (06.09.2012, 13:28)


16

06.09.2012, 16:12

Funktioniert so auch nicht :( Die device.map sollte auch korrekt sein. Ich überlege gerade ob es eine gute Idee wäre Grub2 zu verwenden. Laut Wiki soll da ein Skript die ganzen Einträge erstellen. Habt ihr damit schon Erfahrungen gemacht?

17

06.09.2012, 16:46

Hm, ohne die device.map zu kennen wird es "schwierig"...

Ein Beispiel:
Falls deine device.map so ausschaut:

Quellcode

1
2
3
4
(fd0)   /dev/fd0
(hd0)   /dev/sda
(hd1)   /dev/sdb
(hd2)   /dev/sdc
Und deine grub.conf so:

Quellcode

1
2
3
4
5
6
7
8
default 0
timeout30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux
root (hd0,0)
kernel /kernel-genkernel-x86_64-3.4.9-gentoo real_root=/dev/sdb3
initrd /initramfs-genkernel-x86_64-3.4.9-gentoo

Dann sollte zb aus der chroot Umgebung das grub Setup so ausschauen:

Quellcode

1
# grub
In der grub Shell dann:

Quellcode

1
2
3
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
chroot Umgebung sauber verlassen, und von der Platte booten - das sollte funktionieren (hier tut es das)

Und nein, sofern es nicht wirklich nötig tut würde ich auf grub2 verzichten - dort wird es vermutlich nicht einfacher.

Viel Erfolg

18

06.09.2012, 16:54

@josef, die device.map hat er weiter oben gepostet. Sieht so aus wie Deine, nur ohne fd0.
Was Du vorschlägst ist dass er Grub in die MBR der sdb installiert.
Ich hatte es verstanden dass Grub in die MBR der sda soll, das Boot-Verzeichnis (mit den grub-Stages) liegt jedoch auf der sdb.
Also wäre richtig

Quellcode

1
2
3
grub> root (hd1,0)
grub> setup (hd0)
grub> quit

Geht es überhaupt so über zwei Disks verteilt?
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

19

06.09.2012, 19:12

So Leute,
habe eure beiden Tipps ausprobiert, leider jedoch ohne Erfolg. Daraufhin hab ich Grub 2 nach Anleitung in der Wiki installiert und siehe da ohne auch nur eine Konfigurationsdatei anfassen zu müssen konnte ich mein Gentoo Linux endlich booten 8) Dank os-prober wurde sogar mein Windows erfolgreich erkannt und ins Bootmenü eingebunden ich danke euch allen vielmals für die Hilfe. Wird bestimmt nicht das Letzte Mal gewesen sein :thumbsup:

20

07.09.2012, 01:50

@josef, die device.map hat er weiter oben gepostet. Sieht so aus wie Deine, nur ohne fd0.
Was Du vorschlägst ist dass er Grub in die MBR der sdb installiert.
Ich hatte es verstanden dass Grub in die MBR der sda soll, das Boot-Verzeichnis (mit den grub-Stages) liegt jedoch auf der sdb.
Also wäre richtig

Quellcode

1
2
3
grub> root (hd1,0)
grub> setup (hd0)
grub> quit

Geht es überhaupt so über zwei Disks verteilt?

@Rotschnabelpinguin: Ich hatte deine schon gepostete device.map übersehen - sorry

@bell
Huh ja, mir ist auch nicht so ganz klar warum man den MBR und /boot Partition (inklusive grub-Stages) auf zwei Platten verteilen möchte. Das wäre meiner Meinung nach idR unnötig und schafft nur zusätzliche mögliche Fehlerquellen (zb wenn die Platte mit dem MBR ausfällt ist auch die Platte mit /boot nicht mehr so ohne weiteres erreichbar)
Nungut, da mich die Frage ob es so überhaupt funktionieren kann auch interessierte habe ich es kurzerhand ausprobiert - und ja, es geht auch mit grub auf zwei Platten verteilt.
Von daher hätte dein Vorschlag eigentlich auch funktionieren sollen.

@Rotschnabelpinguin: Prima das es nun mit grub2 bei dir läuft - ich wünsche noch viel Spass und Erfolg mit dem neuen Gentoo :)