• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

update-grub

mrehm

Hacker
update-grub gibt mir folgendes

Code:
linux-0b17:/home/martin # update-grub
If 'update-grub' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf update-grub
linux-0b17:/home/martin # cnf update-grub
update-grub: Kommando nicht gefunden.

Ein bisschen ggogeln ergab, dass dies ein Debian-Kommando und in opensuse nicht enthalten ist.
Allerdings habe ich hier schon Threads gesehen, in denen das Kommando verwendet/empfohlen wurde
Ich meine auch, es unter suse schon mal eingesetzt zu haben, bin mir aber nicht sicher... :???:

Danke fuer nen Tip!

Martin
 

zerum

Member
Bei openSUSE heisst der Befehl
Code:
grub2-mkconfig --output=/boot/grub2/grub.cfg

Kannst natürlich einen alias auf update-grub setzen.
 
OP
M

mrehm

Hacker
Fuer Grub-Legacy?
Grub2 funktioniert nicht besonders gut, besser gesagt immer nur einen Tag, danach gibt er mir einen black screen mit blinkendem Kursor und der Ausgabe "GRUB" und ich muss den Rechner (Suse12.3) per Super-Grub-CD starten,
Ich starte jetzt mit Suse12.2 und Grub-Legacy, im Grub eingebunden sein sollen Suse12.3 und Bodhilinux; Yast bekommt das aber nicht hin, entweder fehlt Bodhi oder OS12.3.

Gruss

Martin
 
OP
M

mrehm

Hacker
Das stand nicht im 1 Post, weil ich eine generelle Auskunft haben wollte
Die - praezisierte - Frage ist, ob es einen Konsolenbefehl vergleichbar update-grub gibt fuer Grub-Legacy, sei es fuer 12.2, sei es fuer 12.3

Danke

Martin
 

josef-wien

Ultimate Guru
Und was ist jetzt Dein Problem (ich weiß nicht, was dieses Debian-Programm macht)?

Eine Möglichkeit, GRUB zu installieren, steht in der Linupedia. Das Menü und dessen Aktionen sind in /boot/grub/menu.lst enthalten.
 
OP
M

mrehm

Hacker
ZB., spoensche schrieb am 28-02-23

Mit update-grub aktualisierst z.B. die Bootmenüeinträge.

Das ist es, was ich will, die Bootmenueintraege aktualisieren, in der vorsichtigen Meinung, das sei eine einfache Angelegenheit mit diesem Kommando.
Ich kann das gerne auch haendisch machen, allerdings ist mir das Zusammenspiel von Grub und Grub2 noch etwas zweifelhaft...
Die aktuelle Situation:
Rechner ibm/lenovoT60, bodhilinux auf /sda2, OS12.2 auf /sda3 als ProduktivSystem, zum testen OS12.3 auf /sda5 /home - fuer /OS12.2/sda3 - auf /sda6
Bei der Installation von OS12.3 zu Testzwecken wurde Grub neu eingerichtet, geschrieben auf die Partition /sda5. Nix dagegen, nur dass Grub2 nicht laenger als einen Tag - mit reboots - haelt, danach gibt es beim booten eine Fehlermeldung, black screen, zeigt "GRUB" als Konsolenausgabe und blinkenden Kursor, keine Eingabemoeglichkeit moeglich.
Darauf habe ich per YaST2 Grub2 ausgeschlossen und auf Grub umgestellt,, dort fehlt dann der Eintrag "bodhilinux", dafuer habe ich fuer OS12.3 einige Eintraege zur kernel-Auswahl
Ich habe dann per sfdisk das bootflag wieder auf /sda3 mit OS12.2 mit grub-legacy gesetzt, dort fehlt mit dann als Boot-eintrag aber OS12.3 - logisch, weil erst danach installiert.
Ich habe ein wenig mit YaST2 gespielt, Bootloader-Konfigurationen vorschlagen lassen etc, entweder kann ich die alten Einstellungen uebernehmen mit OS12.2 und bodhilinux oder aber OS12.2 und 12.3, aber nicht OS12.2/OS12.3/Bodhilinux zusammen. :schockiert:
Der Rechner bootet aktuell wie folgt:
Grub von OS12.2
Fehlermeldung "kein System gefunden"
beliebige Taste druecken
booten ohne GUI von Eintrag OS12.3
es startet der Grub2-Bildschirm von OS12.3
OS12.2/OS12.3/bodhilinux sind waehlbar und bootable

Deswegen die Frage: wie kann ich unter OS12.2 die BootEintraege aktualisieren, oder aber Grub2 in OS12.3 zum stabilen Arbeiten ueberreden? :???:
update-grub geht ja anscheinend nicht...

Gruss

Martin
 

josef-wien

Ultimate Guru
mrehm schrieb:
dass Grub2 nicht laenger als einen Tag - mit reboots - haelt
Dieses Mysterium harret noch seiner Aufklärung.

mrehm schrieb:
per sfdisk das bootflag wieder auf /sda3
Das heißt, du hast einen generischen MBR, der die erste "aktive" Partition sucht und den Boot-Code in deren Boot-Sektor ausführt. Das geht aber nur bei einer primären bzw. der erweiterten Partition, nicht jedoch bei einer logischen Partition. Den Boot-Code im Boot-Sektor von hd0,4 (Linux sagt /dev/sda5) kannst Du daher nicht über einen generischen MBR starten, sondern nur über einen bereits aktiven Boot-Manager. Das "eintägige" Mysterium wird immer mysteriöser.

mrehm schrieb:
Zusammenspiel von Grub und Grub2
So etwas gibt es nicht zwischen zwei verschiedenen Boot-Managern, gleichgültig, um welche zwei es sich handelt. Um aus GRUB ein Linux zu starten, mußt Du (der Bequemlichkeit halber über die menu.lst) die Befehle root, kernel, (gegebenenfalls) initrd und boot (wird über die menu.lst automatisch erledigt) ausführen. Um aus GRUB einen anderen Boot-Manager (genauer gesagt den Boot-Code im Boot-Sektor einer bestimmten Partition) zu starten, mußt Du die Befehle root, chainloader +1 und boot auf die Reise schicken. (Die Möglichkeit, ohne den Befehl root auszukommen, lasse ich der Übersichtlichkeit halber weg.)

Wenn es YaST nicht schafft, alle Deine Systeme in die jeweilige Menü-Datei zu schreiben, mußt Du eben selbst Hand anlegen. (Zu den diesbezüglichen Fähigkeiten von YaST, den ich ansonsten sehr schätze, kann ich nichts sagen, da ich ihm schon seit vielen Jahren jegliche Aktivität in Sachen Boot-Manager verboten habe.)
 
OP
M

mrehm

Hacker
josef-wien hat geschrieben

mrehm hat geschrieben:
dass Grub2 nicht laenger als einen Tag - mit reboots - haelt
Dieses Mysterium harret noch seiner Aufklärung.

Ich bin nicht ganz alleine mit diesem mysterium, siehe

https://forums.opensuse.org/english...ll-boot-login/484661-grub-breaking-daily.html

fdisk -l gibt aus

Code:
linux-0b17:/home/martin # fdisk -l

Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 Köpfe, 63 Sektoren/Spur, 7296 Zylinder, zusammen 117210240 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ef2a0

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1        56287232    60420095     2066432   82  Linux Swap / Solaris
/dev/sda2            2048    20678655    10338304   83  Linux
/dev/sda3   *    20678656    56287231    17804288   83  Linux
/dev/sda4        60420465   117210239    28394887+   f  W95 Erw. (LBA)
/dev/sda5        60422144    83507199    11542528   83  Linux
/dev/sda6        83509248   117209087    16849920   83  Linux

Grub2 mit OS12.3 ist installiert in /dev/sda4, also der erweiterten Partition, OS12.3 liegt auf /dev/sda5, warum swap auf sda1 liegt, weiss ich auch nicht, aktueller bootflag ist auf /dev/sda3 mit OS12.2, /dev/sda2 ist bodhilinux, /dev/sda6 ist /home von /dev/sda3 und untouchable!

Wenn ich das richtig sehe, startet Grub mit Aufruf von OS12.3 aus Grub-Legacy aus dem OS12.2-boot-menu mit chainloader +1

Ich finde die Diskussion ein wenig am Thema vorbei, auch wenn sie mich interessiert; nach wie vor, die Frage ist, gibt es einen Konsolenbefehl, der opensuse dazu bringt, ein aktuelles boot-menu unter Einbeziehung aller Eintraege der div. Partitionen zu erstellen? Klar kann ich mir das manuell einrichten mit root-Rechten, kwrite und Copy/Paste der jeweiligen menu.lst- resp grub.conf-Eintraegen, das habe ich schon oefter gemacht.

Gruss

Martin
 

SUSEDJAlex

Advanced Hacker
gehen wir daran um das aufzuschlüsseln wie wer was mit grub legacy bzw. grub2 bootet:

opensuse 12.2 : Standard Grub 2 / noch als auswahl Grub Legacy
opensuse 12.3 : Standard Grub 2
bodhilinux : Standard Grub 2 ( bin mir nicht 100%ig sicher )

also wäre die beste Möglichkeit die 3 BS alle auf Grub 2 aufbauend zu installieren....

Ich hoffe mal dass diese Variante doch mehr in Betracht gezogen werden kann
Noch etwas: sinnvoll wäre den ersten Bootloader ins MBR zu installieren und die anderen in den root-Partitionen....

LG SUSEDJAlex
 
OP
M

mrehm

Hacker
Grub2 startet jetzt vom MBR, eingerichtet aus OS12.2, OS12.3 und bodhilinux starten ebenfalls von dort ohne Probleme

1 Verstaendnisfrage: ich habe Grub bisher immer in der root-Partition anlegen lassen, was sich insbesondere auf meinem 2.Rechner bewaehrt hat, auf dem ich des oefteren Mal div. Linuxe ausprobiere und nebeneinander bestehen lasse auf verschiedenen Partitionen.
Die jeweils neueste Installation schreibt ihren jeweiligen Grub in ihr /-Verzeichnis, von dem aus dann gebootet wird, die anderen Systeme werden erkannt. Wie verhaelt sich das in dem Fall bei Grub-Eintrag im MBR? :???:

Fuer meine Eingangsfrage - gibt es ein Equivalent zu "update-grub" - habe ich noch keine Antwort gefunden

Gruss

Martin
 

Rainer Juhser

Moderator
Teammitglied
Für deinen Anwendungsfall (mehrere Linuxe auf einem Rechner ohne UEFI) empfehle ich dir einen Bootmanager wie z.B. GAG als "Master" und die Installation der diversen Grubs in die jeweilige Distributions-Rootpartition. Dann hast du eine saubere Trennung.

Wie sich das verhält, wenn zusätzlich ein natives Windows ins Spiel kommt, kann ich nicht sagen. Bei mir (@home) gibt es Fenster nur noch virtuell. ;)
 
OP
M

mrehm

Hacker
Das ist fuer OS11.2, lieber tommfa, das wird doch schon lange nicht mehr unterstuetzt!

Windows laeuft hier schon lange (2,5 Jahre ?) nicht mehr, nachdem das reine Win7-System ohne "Eigene Dateien", die es nicht gab, ca 20GB der HD belegte...

Martin
 

tomm.fa

Administrator
Teammitglied
mrehm schrieb:
Das ist fuer OS11.2,
Wer sagt das? Nur weil im Titel der Manpage was von openSUSE 11.2 steht?
Alternativ zum Befehl/Script für debianbasierte Systeme: http://software.opensuse.org/package/updategrub
 
OP
M

mrehm

Hacker
Besten Dank, das sieht doch mal gut aus!
Leider kann ich das im Moment nicht verifizieren, lade gerade manjaro-e17 von sourceforge runter, und das dauert... :D

Gruss

Martin
 

SUSEDJAlex

Advanced Hacker
okay um deine Frage zu klären:

der Befehl "update-grub" findest du in Ubuntu bzw. deren Ableger...
der Befehl hier in opensuse heisst : grub2-mkconfig

LG SUSEDJAlex
 

tomm.fa

Administrator
Teammitglied
SUSEDJAlex schrieb:
okay um deine Frage zu klären:

der Befehl "update-grub" findest du in Ubuntu bzw. deren Ableger...
der Befehl hier in opensuse heisst : grub2-mkconfig

LG SUSEDJAlex
Dazu bitte auch den vorherigen Verlauf beachten, sozusagen zur Erinnerung:
zerum schrieb:
Bei openSUSE heisst der Befehl
Code:
grub2-mkconfig --output=/boot/grub2/grub.cfg

Kannst natürlich einen alias auf update-grub setzen.
mrehm schrieb:
Fuer Grub-Legacy?
 
OP
M

mrehm

Hacker
Danke fuer die vielen Tips & Tricks.
Jetzt bin ich doch bei Grub2 gelandet in OS12.2, widerwillens, aber es laeuft ja rund, wenn auch nur im Text-Modus
Ich will tommfa's Empfehlungen noch checken, bitte Zeit geben bis zum naechsten Wochenende ( falls ich das bis dahin nicht vergessen habe, Alzheimer etc im fortgeschrittenen Alter :D )
und ein Danke an tommfa fuer den letzten post, denn darum ging es ja eigentlich, ich habe ja auch immer insistiert

Bleibt die Baustelle OS12.3, die bleibt fuer spaeter

Gruss

Martin
 
Oben