PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [GRUB]Probleme mit der menu.lst



Atsutane
27.01.2008, 13:14
Hallo,
da mein Problem eher mit GRUB als mit arch an sich zu tun hat, tut es mir leid, wenn ich den falschen Forenbereich gewählt habe.

Also ich habe seit November07 arch in Verbindung mit GRUB installiert und bisher arbeiteten beide gut zusammen. Nunja, jetzt habe ich vor 3 Tagen eine dritte Festplatte eingebaut und auf jener Windows XP installiert, damit fingen die Probleme dann an. Windows selbst lässt sich, wenn man direkt von dieser Festplatte bootet problemlos starten, allerdings will arch bei angeschlossener Windows Festplatte nicht starten("Kernel Panic: Couldn't mount /dev/sda3 /" nicht wörtlich, aber das ist, was sinngemäß dort steht).

Übersicht über meine Festplatten und Partitionen:

oberster SATA Anschluß - archlinux - 4 Partitionen (sda1 /boot, sda2 swap, sda3 /, sda4 /home) -1. in der Bootreihenfolge
zweiter SATA Anschluß - unbelegt
dritter- Windows XP - 2. in der Bootreihenfolge
vierter - ext3 Archiv Festplatte - 3. in der Bootreihenfolge

Meine /boot/grub/menu.lst:

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/hda (hd0)
# /dev/hdb2 (hd1,1)
# /dev/hda3 (hd0,2)
#

# FRAMEBUFFER RESOLUTION SETTINGS
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+

# general configuration:
timeout 5
default 0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26.img

# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26-fallback.img

# (1) Windows
title Windows1
rootnoverify (hd1,0)
#makeactive
chainloader +1
# (2) Windows
title Windows2
rootnotverify(hd2,0)
#makeactive
chainloader +1
# (3) Windows
title Windows3
rootnotverify(hd3,0)
#makeactive
chainloader +1
# (3) Windows
title Windows4
rootnotverify(hd4,0)
#makeactive
chainloader +1



Zu erwähnen sei, dass der Kernel Panic ebenfalls beim Fallback Eintrag auftritt und kein einziger der Windows Einträge funktioniert.

Atsutane

schwedenmann
27.01.2008, 14:03
Hallo


Du mußt in grub die Festplatten Arch + XP tauschen, es gibt da eine Befehl unter grub um die Festplatten zu tauschen (XP benötigt zwingnd ein C= also eine primäre Partition auf der 1. Platte (deshalb muß die Platte per Menü getauscht werden um windoof ein C vorzugaukeln).

Google mal nach grubmanual und dann sih dir den Abschnitt hide und map an

map (sd0) (sd2)
map (sd2) (sd0)

in deinem Fall

mfg
schwedenmann

TeaAge
27.01.2008, 14:15
Windows scheint doch problemlos zu booten.
Ich hatte überlegt, ob sich für GRUB die Plattenreihenfolge verändert hatte.
Warum kann er sda3 nicht mounten?
Eventuell gibt die Grub-Konsole Aufschluss.
in der Grub konsole mal
[code]
find (hd0,
[code] eingeben und mit TAB die Autovervollständigung starten.
Hier zeigt ja Grub die Platte mit Dateisystem an ... vielleicht hilfts ja :)

Gruß
TeaAge

Atsutane
28.01.2008, 14:41
Also das mit map hat nicht so ganz hingehauen, dafür weiß ich jetzt dank find, die Verteilung der Festplatten wenn diese angeschlossen sind:



hd0: die arch Festplatte
Partition 0; Filesystem ext2fs; Partition Type 0x83 <- /boot
Partition 1; Filesystem unknown; Partition Type 0x82 <- swap
Partition 2; Filesystem ext2fs; Partition Type 0x83 <- /
Partition 3; Filesystem ext2fs; Partition Type 0x83 <- /home

hd1: Die Windows Platte
Partition 0; Filesystem unknown; Partition Type 0x7
Partition 4; Filesystem unknown; Partition Type 0x7

hd2: Das Archiv
Partition 0; andere Daten werden nicht angezeigt, aber genau wie hd0,0 formatiert.


Was müsste ich jetzt an der menu.lst ändern um selbst mit angeschlossener Windows Platte wieder arch booten zu können, denn um Win zu booten brauch ich kein Grub, das lässt sich sehr leicht über das Bootmenu regeln.

schwedenmann
28.01.2008, 16:13
Hallo


Für arch sollte es so funktionieren, da du ja eine separate /boot hast.


title arch
root (hd0,0)
kernel (hd0,0)/vmlinuz-2.6.21.4 root=/dev/hda3 ro

vmlinuxxy durch dinekernlenamen ersetzen!

XP sollte aber so funktonieen

title XP auf hdb
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1


mfg
schwedenmann

TeaAge
28.01.2008, 16:24
Hallo


Für arch sollte es so funktionieren, da du ja eine separate /boot hast.

...

vmlinuxxy durch dinekernlenamen ersetzen!

XP sollte aber so funktonieen

...

mfg
schwedenmann

Darum geht es doch gerade.

Windows startet ohne Probleme (da muss also scheinbar nichts gemappt werden) aber ARCH startet nicht ... obwohl es sollte.

Also ich finde keinen Fehler.
Ich würde einfach mal probieren bei der Bootreihenfolge rum zu spielen.

Oder mal statt mit 'root=/dev/sda3 ro' mal 'root=/dev/sdb3 ro' bzw. 'root=/dev/sdc3 ro' probieren.
Das steckt jetzt aber keine Logik mehr hinter ...

Gruß
TeaAge

Atsutane
28.01.2008, 19:18
Also der Windows Eintrag funktioniert, und der arch Eintrag wird. Mit /dev/sdb3 mountet er /, hat dann aber beim Filesystemcheck Probleme mit /dev/sda3, ich denke, das wird die /etc/fstab wohl richten :)

Da ich jetzt aber unter Windows bin und für heute genug vom neustarten habe, kümmere ich mich morgen darum. Wenn ich dann Probleme habe werde ich mich wieder melden, vielen Dank schonmal :)

TeaAge
29.01.2008, 07:15
Ist die neue Platte denn jetzt immer dran?
Wenn du die fstab nicht ändern willst kannst du es ja auch mal mit mappen versuchen, also



title Arch Linux
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26.img


bzw. wenn die Platte nicht immer angeschlossen ist, kannst du einen booteintrag mit und ohne mappen erstellen und dann immer den passenden wählen.

Aber was bei dir nun wirklich schief läuft, würde mich schon interessieren ;)

Gruß
TeaAge

Atsutane
29.01.2008, 14:45
Also mein Ziel ist es, dass die Platte immer dran bleibt, der PC sollte, wegen meinem Hund, geschlossen sein und das dauernde abziehen des SATA Kabels ist, meiner Meinung nach, auch keine gute dauerhafte Lösung.

Leider hatte ich jedoch weder mit einer modifizierten /etc/fstab noch mit dem herumspielen beim mappen Erfolg mit dem starten von arch. Ich werde jetzt ein paar Akkus für meine Digitalkamera aufladen und dann Fotos der Kernel Panics, bei verschiedenen Einträgen in der menu.lst schießen, evtl könnt ihr dort noch hilfreiche Informationen herauslesen, ich selbst kann es leider nicht.

kostjaXP
29.01.2008, 15:20
ich wollte hier schon einen Eintrag schreiben, hab den aber wieder gelöscht weil ich das Problem als gelöst verstanden hatte.
Versuchen: Windows-Partition verstecken (flag= hidden).
in der /boot/grub/menu.lst (#)-Zeichen vor dem Eintrag makeactive wegmachen. Probieren.

TeaAge
29.01.2008, 16:19
ich wollte hier schon einen Eintrag schreiben, hab den aber wieder gelöscht weil ich das Problem als gelöst verstanden hatte.
Versuchen: Windows-Partition verstecken (flag= hidden).
in der /boot/grub/menu.lst (#)-Zeichen vor dem Eintrag makeactive wegmachen. Probieren.

Kannst du da mal was zu sagen.
Also hast du eine Ahnung was da zur Zeit überhaupt schief läuft?
Ist, durch das Verstecken der Win-Partition, die Partition im späteren Betrieb auch nicht zu sehen?
Und müsste es durch das mappen nicht auch funktionieren?

Was ich am merkwürdigsten finde ist ja, das er sda1 ja auch als solches erkennt (sonst würde er die kernel ja nicht finden) aber sda3 scheint auf einmal sdb3 zu sein ...

Gruß
TeaAge

kostjaXP
29.01.2008, 16:32
Kannst du da mal was zu sagen.
Also hast du eine Ahnung was da zur Zeit überhaupt schief läuft?


Nein hab ich net aber es müsste möglich sein, die menu.lst so anzupassen, dass er trotzdem von beidem booten kann..dann müssten eben die Einträge so angepasst werden, das es dort wo sda3 gemeint war sdb3 oder sonstwie heißt..letzlich muss nur der Eintrag zum richtigen pfad führen..
probieren könnte man auch


root (hd1,2)
kernel (hd1,0)/boot/vmlinuz ro root=LABEL=$label
initrd (hd1,0)/boot/initrd

so in etwa. Wobei ich net sagen kann wo das eine und wo das andere ist. Normalerweise ist es mit einer boot-partition einfacher zu booten. aber damit spiel ich net rum, weil es bei mir auch so geht.
Also am besten mal durchprobieren.


Ist, durch das Verstecken der Win-Partition, die Partition im späteren Betrieb auch nicht zu sehen?
Und müsste es durch das mappen nicht auch funktionieren?

Das Verstecken führt ja nur dazu, das Betriebssystem daran zu hindern, die versteckte Partition als erste Partition zu erkennen. Wenn das mappen hier zum Erfolg führt, dürfte das Verstecken nicht mehr nützen.


Was ich am merkwürdigsten finde ist ja, das er sda1 ja auch als solches erkennt (sonst würde er die kernel ja nicht finden) aber sda3 scheint auf einmal sdb3 zu sein ...

In dem Fall ist

root (hd1,2)
das device für /

TeaAge
29.01.2008, 17:16
In dem Fall ist

root (hd1,2)
das device für /

An sich ist mir das nicht fremd.
Nur komisch finde ich das Partition auf der gleichen Platten der Zuordnung nach auf unterschiedlichen Platten liegen, also
1. Platte 1. Partition (hd0,0) ist /dev/sda1 ... das passt ja
1. Platte 3. Partition (hd0,2) scheint /dev/sdb3 zu sein ... wieso?

Wenn es beide male sdb wäre, könnte ich damit leben ... aber einmal sda und einmal sdb für die gleiche Platte ... bzw. das (hd0,2) sdb3 sein soll ... da mit hab ich ein Problem.

Gruß
TeaAge

kostjaXP
29.01.2008, 18:11
An sich ist mir das nicht fremd.
Nur komisch finde ich das Partition auf der gleichen Platten der Zuordnung nach auf unterschiedlichen Platten liegen, also
1. Platte 1. Partition (hd0,0) ist /dev/sda1 ... das passt ja
1. Platte 3. Partition (hd0,2) scheint /dev/sdb3 zu sein ... wieso?

Wenn es beide male sdb wäre, könnte ich damit leben ... aber einmal sda und einmal sdb für die gleiche Platte ... bzw. das (hd0,2) sdb3 sein soll ... da mit hab ich ein Problem.


ich leider auch..und das OS dann eben auch ;)

Atsutane
29.01.2008, 19:37
So hier sind die Fotos, sind leider etwas verwackelt, wenn ihr zu wenig erkennen könnt mache ich gerne weitere.

Download: http://blogage.de/files/1662/download?grub.tar.gz

Die verwendete menu.lst:

# +-------------------------------------------------+

# general configuration# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/hda (hd0)
# /dev/hdb2 (hd1,1)
# /dev/hda3 (hd0,2)
#

# FRAMEBUFFER RESOLUTION SETTINGS
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795:
timeout 5
default 0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title Arch Linux mapnhide
map (hd1) (hd0)
map (hd0) (hd1)
hide (hd1,0)
hide (hd1,4)
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26.img

title Arch Linux hide
hide (hd1,0)
hide (hd1,4)
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26.img

title Arch Linux /dev/sdb
root (hd0,0)
kernel /vmlinuz26 root=/dev/sdb3 ro
initrd /kernel26.img


# (0) Arch Linux
title Arch Linux SAVED
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26.img

# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro
initrd /kernel26-fallback.img

# (1) Windows
title Windows1
map (hd0) (hd1)
map (hd1) (hd0)
#rootnoverify (hd2,0)
#makeactive
chainloader (hd1,0)+1

TeaAge
29.01.2008, 22:20
Hattest du es hiermit schon probiert?


title Arch Linux
map (hd0) (hd1)
map (hd1) (hd0)
kernel (hd1,0)/vmlinuz26 root=/dev/sda3 ro
# oder mal das hier
# kernel (hd0,0)/vmlinuz26 root=/dev/sda3 ro
initrd /kernel26.img

Ist bei den Fehlermeldungen auch die dabei, als du die fstab angepasst hast?

Gruß
TeaAge

Atsutane
02.02.2008, 12:32
Tut mir leid, dass ich die letzten Tage nichts hab von mir hören lassen, hatte etwas arg viel um die Ohren.

Die Fehlermeldung ist dann die selbe wie beim Kernel Panic.

Allerdings habe ich mich nun dazu entschlossen einen Wechselrahmen zu kaufen und die Windows Festplatte nur bei Bedarf dort anzuschließen und dann direkt von jener zu booten, was nun die Suche nach dem Fehler mit der menu.lst unnötig macht. Vielen Dank für eure Hilfe.