[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grub2-UID Fehler



Hallo Martin,
Am Mittwoch, 15. Juni 2011 schrieb Martin Steigerwald:
> Am Mittwoch, 15. Juni 2011 schrieb Siegfrid Brandstätter:
> > Hallo Debianer,
> 
> Hallo Siegfried,
> 
> > da ich feststellen mußte das in meiner grub.cfg mit welcher
> > gebootet wird mehrere grobe Fehler sind, wollte ich diese
> > ausbessern. Da dies ja nicht direkt geht wie früher "in den guten
> > alten Zeiten", habe ich also zuvor die /etc/grub.d/40_custom
> > editiert ohne die ersten Zeilen zu ändern oder zu löschen. Danach
> > ein "chmod -x /etc/grub.d/30_os-prober" mit einem nachfolgendem
> > "update-grub"
> 
> Welche Fehler denn? Wenn es denn gebootet hat, war der Zustand vorher
> offenbar besser als nach deinen Änderungen.
> 

Booten tut es jetzt auch aber verkehrt, es wird die falsche Partition 
mit diesem Kernel geladen.

Auf /dev/sdb13 ist Wheezy mit Kernel 2.6.38-2-686
und in
/dev/sdb17 ist Squeeze mit Kernel  2.6.32-5-486

von dem gibt es aber auch eins mit 2.6.32-5-686

nur dieses letzte erhielt mal die UID von Wheezy, frage nicht warum. Da 
ich aber dies reparieren wollte, weil es immer am Ende kein X bekam wie 
Wheezy, aus bekannten Gründen (Nvidia) habe ich mich gewundert und nun 
mal genau nachgesehen warum und finde dabei das die UID von Wheezy auf 
dieses Squeeze läuft. Daher auch der Wheezy Fehler in Squeeze bei dieser 
Installation, wobei hier ja der Nvidia Effekt gar nicht vorhanden sein 
dürfte. Anscheinend wurde wegen dem "-686" am Ende was vertauscht.  
Darum möchte ich dies auch reparieren. 



> Bei 40_custom sind die Zeilen am Anfang sehr wichtig:
> 
> merkaba:/etc/grub.d> cat 40_custom
> #!/bin/sh
> exec tail -n +3 $0
> # This file provides an easy way to add custom menu entries.  Simply
> type the
> # menu entries you want to add after this comment.  Be careful not to
> change
> # the 'exec tail' line above.
>

Das ist alles auch bei mir da.


> Also das exec tail ist ziemlich wichtig. Denn es sorgt dafür, dass
> alles was nach den drei Kommentarzeilen kommt, dann unverändert in
> der grub.cfg landet. D.h. nach den Kommentaren ist nichts mehr mit
> Shell-Programmieren, sondern nur die Konfigurationseinträge, wie sie
> auch in der grub.cfg dann stehen.
> 
> > Leider wird erstens nie die grub.cfg so geändert wie man es vorher
> > wollte, zweitens erhielt ich von update-grub folgende Meldung:
> > 
> > 
> > # update grub
> > Generating grub.cfg,  Found linux image:/boot/vmlinuz-2.6.38-2-686
> > Found initrd image:/boot/vmlinuz-2.6.38-2-686
> > Found linux image:/boot/vmlinuz-2.6.32-5-686
> > Found initrd image:/boot/vmlinuz-2.6.32-5-686
> > Found memtest86: /boot/memtest86.bin
> > Found memtest86 multiboot image: /boot/memtest86+_multiboot.bin
> > error: out of memory
> > error: syntax error
> > error: Incorect command
> > error: syntax error
> > error: line no:243
> > Syntax error are detected in generated GRUB config file. Ensure
> > that there are no errors in /etc/default/grub and /etc/grub.d/*
> > files or please file a bug report with /boot/grub/grub.cfg.new
> > file attached. done
> 
> Also hier müsstest Du wohl am Anfang der Skripte ein set -x einfügen
> und evtl. noch ein echo "Ich bin Skript: $0" >&2 , um den
> Skriptnamen auszugeben.
> 

Versteh ich nicht ganz wo und warum ich das eingeben soll. 


> Allerdings würd ich mir den Aufwand sparen, es sei denn, Du willst
> verstehen, was da wie kaputt ist... Eine etwas riskante Möglichkeit
> wäre:
> 

Dann lasse ich es lieber.


> - apt-get purge grub-pc
> - rm -r /boot/grub
> - rm -r /etc/grub.d
> - apt-get install grub-pc
> 
> und zwar ohne dazwischen das System neuzustarten ;).
> 

Glück wie ich habe kommt ein Stromausfall ;-)


> Ein Umstieg auf GRUB 0.9x ist natürlich auch möglich, aber GRUB 2
> läuft nun schon seit langem out of the box. Daher frage ich mich,
> wie du deinen GRUB 2 so kaputt bekommen hast, dass er nicht mehr
> geht.
>

Das er nicht mehr geht stimmt ja nicht, aber ich möchte gerne einen 
Fehler beheben, auch wenn er nicht von Grub gemacht wurde, ich weiß 
nicht warum ich den Fehler habe.


> Ich würd da nur dran rumfummeln, wenn es einen konkreten Grund für
> gibt. Gerade, wenn ich den Eindruck hab, es ist kompliziert.
>

Ich habe am Anfang der Grub Liste mehrere Einträge die alle nicht 
starten bis X. Daher ist es mühsam immer von Hand auszuwählen zu müssen 
um die richtige Installation zu booten zu können.

 
> Und ja, GRUB 2 wirkt auch auf mich deutlich komplizierter als GRUB
> 0.9x. Zudem ist die Dokumentation zu GRUB 2 auch reichlich
> rudimentär.
> 
> > Warum ein "error: out of memory"?
> > 
> > 
> > Auch den Fehler finde ich nirgends:
> > error: line no:243
> > 
> > im ganzen /etc/default/grub and /etc/grub.d/* gibt es nur zwei
> > files mit so vielen Zeilen.
> > 
> > in dem "00_header"
> > in den Zeilen steht:
> > 242  EOF
> > 243  make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}"
> > "${GRUB_TIMEOUT_BUTTON}"
> > 244 echo else
> > 
> > 
> > und dem 00_header.dpkg-dist
> > 
> > 241 }
> > 242
> > 243 if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
> > 244    cat <<EOF
> 
> Das wird Dir so wahrscheinlich niemand beantworten können, wenn er
> nicht den Inhalt von /etc/grub.d vorliegen hat. Und ganz ehrlich:
> Ich hätte nicht die Lust, mir das genau anzuschauen.
> 
> > Habe es auch schon mit einem "grub-install" versucht. Aber Grub
> > bleibt dabei mir immer die Partitionen durcheinander zu würfeln,
> > es werden die UID's von der ersten Partition die in der Liste
> > stehen auch auf die andern Partitionen vergeben, nicht auf alle,
> > aber auf viele. So startet dann ein Squeeze als Wheezy und kann
> > natürlich nicht damit fertig werden.
> 
> Hier fängt es jetzt an, vollkommen *wirr* zu werden.
> 

Ja leider ist es aber so.


> Siegfried, ein gut gemeinter Rat: Wenn Du ein Debian frisch
> installierst, lasse doch einfach die Komponenten in Ruhe, die
> einwandfrei funktionieren. Oder willst Du andeuten, dass der GRUB 2
> direkt nach der Installation nicht richtig funktionierte? Dann hast
> Du aber ein sehr spezielles Setup.


Ich hatte das Problem das mir /usr voll lief beim upgrade von lenny auf 
squeeze und so nicht alles installiert wurde, unter anderem Grub. Daher 
ist das alles aufgetreten. Grub2 hat diesen Fehler nicht ganz alleine 
fabriziert.




> Denn ich habe Squeeze
> mittlerweile desöfteren installiert oder von Lenny auf Squeeze
> aktualisiert und das funktionierte einfach.
> 

Ich habe das nun auch auf zwei weiteren gemacht ohne Probleme.


> Wenn dir jemand damit helfen soll, wirst Du aber mit mehr
> Informationen antanzen müssen.
> 

Die dann aber keiner lesen möchte, wie du ja selber oben schreibst ;-)
Versteh ich ja auch. Aber was sollte es sein?



> > Wie kann man das wirklich beheben. Ich möchte die Fehler ändern und
> > das dies dann auch von Grub so übernommen wird.
> 
> *Welche* Fehler?
> 

OK schau dir mal die UID's an und den Kernel dazu.
Die boot/grub/grub.cfg

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.38-2-686' --class debian --
class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos13)'
	search --no-floppy --fs-uuid --set=root ca68ee6b-4019-49cf-
b2dd-0c686b6dfca2
	echo	'Loading Linux 2.6.38-2-686 ...'
	linux	/boot/vmlinuz-2.6.38-2-686 root=UUID=ca68ee6b-4019-49cf-
b2dd-0c686b6dfca2 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.38-2-686
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686' --class debian --
class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos13)'
	search --no-floppy --fs-uuid --set=root ca68ee6b-4019-49cf-
b2dd-0c686b6dfca2
	echo	'Loading Linux 2.6.32-5-686 ...'
	linux	/boot/vmlinuz-2.6.32-5-686 root=UUID=ca68ee6b-4019-49cf-
b2dd-0c686b6dfca2 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.32-5-686

Hier unten ist es richtig!

menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-486' (Squeeze-
Stable_sdb17)-class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos17)'
	search --no-floppy --fs-uuid --set 9bf4de71-
a37f-41fe-8b21-64a171688537
	echo	'Loading Linux 2.6.32-5-486 ...'
	linux	/boot/vmlinuz-2.6.32-5-486 root=UUID=9bf4de71-
a37f-41fe-8b21-64a171688537 ro


Und ich wunderte mich ewig warum der "Linux 2.6.32-5-686" nicht will.


> *Was* war denn überhaupt kaputt. Ich hab Deine Mail bis hierher
> gelesen und kapiere es nicht. Bitte bemühe dich um klare und sehr
> genaue Fehlerbeschreibungen.
> 
> Du änderst was an der GRUB-Konfiguration, weil Du denkst, da sind
> Fehler drin. Und danach ists kaputt. Nuja, vielleicht waren keine
> Fehler drin und du hast ein funktionierendes GRUB-Setup zerstört?
> 

Siehe oben.


> > Kann man im Notfall Grub2 loswerden und durch den alten Grub
> > ersetzen, dort geht es ja ganz locker die grub.menu.list zu
> > editieren. Dies musste ich leider unter dem alten Grub auch schon
> > immer per Hand machen, den diesen Fehler, die Partitionen zu
> > vertauschen hatte dieser ja  auch schon.
> 
> Bei mir hat GRUB noch nie Partitionen vertauscht.
> 

Das hatte ich früher schon unter Suse, da fing das auf einmal an. Bei 
jedem Nvidia update wurden die Partitionen von der ersten Partition auf 
alle anderen verteilt. Hört sich wie "Verschwörung" an aber leider ist 
es wahr. Auch bei einer neuen Installation kam dieser Effekt immer, 
sobald mehr als eine Installation vorhanden war.
War auch öfters Thema in deren ML. 
Dies zog sich eigenartigerweise dann bei Etch und Lenny auch so weiter. 
Bis in den letzten Monaten in Lenny ein Kernel update keinen manuellen 
Eingriff mehr benötigt. Hatte auch in Wheezy und Squeeze funktioniert.



> Wichtig ist, dass /boot/grub/device.map stimmt.

Da steht ja nun wirklich nicht viel drinnen, aber das dürfte stimmen, 
zumindest sind diese beiden Festplatten richtig zugeordnet. Hat aber 
nichts mit falchen Partitionen zu tun. Die liegen alle auf der (hd1)

(hd0)	/dev/disk/by-id/ata-ST340014A_5JX0D218
(hd1)	/dev/disk/by-id/ata-ST3160021A_5JS178X3


> 
> > Aber möglicherweise weiß ja wer wie ich es einfacher und besser
> > machen könnte, muß ja wohl gehen.
> 
> GRUB einfach so lassen, wie der Debian Installer ihn auf die Platte
> hievte, und es gut sein lassen?
> 

Würde ich gerne so machen, aber allein schon das ich oben in der Liste 
scheintote Installationen stehen habe, macht es nötig da was zu ändern.


> Und wenn damit dann wirklich ein Fehler ist, was ja sein kann, dann
> erstmal *verstehen*, wo der Fehler liegt, und *dann* handeln.
> 

Verstehen tu ich ja wo der Fehler ist, aber nicht wie ich ihn behebe :-)
Aber danke das du dir die Zeit genommen hast dafür!




-- 
 
Einen Schönen Gruß,

Sigi


Reply to: