wenn du denn partout eine solche grub.cfg benutzen willst, warum chainloadest du dann nicht auf die Installation? Also in dem Ubuntu grub nach "/" installieren, und im stand-alone grub
statt configfile…
einfach chainloder +1
GRUB_DEFAULT=saved mit GRUB_SAVEDEFAULT=true funktioniert nicht
Anmeldungsdatum: Beiträge: 10674 |
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Hm, das wäre auch keine schlechte Idee. Dafür muss die Installation aber ein eigenes GRUB installiert haben, was hier wegen
Hm, was meinst Du damit? GRUB in der PBR installieren? Das geht, soweit ich das verstanden habe nicht auf GPT.
Das sieht mir ein bisschen zu einfach aus. Wofür steht denn "+1"? Muss da nicht explizit der Ort des nachzuladenden GRUB spezifiziert werden? |
Anmeldungsdatum: Beiträge: 10674 |
hab' nochmal nachgedacht,
ähem, die "Mindestanforderungen"an eine |
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Ja das ging mir heute Nacht auch durch den Kopf, dass ich ja auf einer bestimmten Version bleiben muss, sonst kann ich ja kein 32-Bit booten. Die dafür allerletzt möglichen Versionen sind hier aufgeführt. Das ist eine frühe 2.04, wohl aus einem 20.04-Beta build. Wenn ich ein solches DEB-Paket direkt aus dem 32-Bit Ubuntu installieren würde, und dann alles zuverlässig pinnen, könnte ich wahrscheinlich sogar auf "stand-alone GRUB" verzichten.
Die Idee dahinter ist ... wenn ich in den Ruhezustand fahre, soll damit "erzwungen" werden, dass das zuletzt gebootete System wieder gestartet wird, ansonsten riskiere ich ggf. Datenverlust und korrupte Dateisysteme. Man kann ja schon mal vergessen, dass eine Instanz noch im Ruhezustand geparkt ist. GRUB hat da leider noch keinen Sicherungsmechanismus eingebaut: http://savannah.gnu.org/bugs/?40530 |
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
So, mit Hilfe von einem GRUB-Guru habe ich nun eine funktionierende Lösung gefunden: function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } if [ x$feature_default_font_path = xy ] ; then font=unicode else font="/boot/grub/fonts/unicode.pf2" fi if loadfont $font ; then set gfxmode=auto load_video insmod gfxterm set locale_dir=$prefix/locale set lang=de_DE insmod gettext fi terminal_output gfxterm #insmod png #background_image /boot-efi/grub/pict3.png #set color_normal=light-gray/black #set menu_color_normal=yellow/black #set menu_color_highlight=red/black timeout_style=menu timeout=5 set default=4 menuentry "EFI-PC" { # dieser Eintrag dient lediglich der schnellen Erkennung, in welchem Modus auf dem Rechner gebootet wurde set-root=(hd0,gpt1) # ohne 'gültige' Zeile keine Anzeige rmmod tpm # erforderlich für das Booten mittels loopback } menuentry "Stop" { halt } insmod part_gpt menuentry "Windows 8.1 auf /dev/sda4" { ## UUID von EFI-Partition /dev/sda1 : search --fs-uuid --set=root BC5C-B7DD chainloader /efi/microsoft/boot/bootmgfw.efi } insmod ext2 insmod configfile insmod test insmod loadenv insmod gzio insmod xzio insmod lzopio insmod echo insmod linux insmod linuxefi menuentry "Menü von Ubuntu-64 20.04 auf /dev/sda7" { search --no-floppy --fs-uuid --set=root 82b4acde-4db6-48b0-9d00-a09fb995b330 unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg # configfile /boot/grub/grub.cfg } menuentry "Menü von Ubuntu-32 18.04 auf /dev/sda9" { search --no-floppy --fs-uuid --set=root ec7ee724-6bed-4ee0-8056-8ecf44bb46b9 unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg # configfile /boot/grub/grub.cfg } menuentry "Menü von Ubuntu-64 16.04 auf /dev/sda11" { search --no-floppy --fs-uuid --set=root 944662da-df21-471e-b041-082090aaa22e unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg # configfile /boot/grub/grub.cfg } menuentry "Menü von Ubuntu-32 16.04 auf /dev/sda13" { search --no-floppy --fs-uuid --set=root c4f2f460-289a-446b-9551-68ea832826f3 unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg # configfile /boot/grub/grub.cfg } menuentry "Menü von Ubuntu-Unity-64 21.04 auf /dev/sda15" { search --no-floppy --fs-uuid --set=root 1b7c43c5-bc91-4317-b7cc-9385392dabd3 unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg # configfile /boot/grub/grub.cfg } menuentry "Menü von Ubuntu-32 16.04 auf USB-Stick" { insmod part_msdos ## Ubuntu_16.04 auf dem USB-Stick /dev/sdb5 : search --no-floppy --fs-uuid --set=root 12242877-0cc0-4f7b-afb0-ffadeca726a0 unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg # configfile /boot/grub/grub.cfg }
Außerdem sind mir in den grub.cfg-Dateien von if loadfont /boot-efi/grub/fonts/unicode.pf2 ; then loadfont /boot-efi/grub/fonts/unicode.pf2 set gfxmode="1920x1080" load_video insmod gfxterm insmod efi_gop insmod efi_uga terminal_output gfxterm if terminal_output gfxterm; then true ; else terminal gfxterm fi fi grub_gfxmode=1920x1080 grub_gfxpayload_linux=keep gfxpayload=1920x1080x24,1920x1080 insmod png background_image /boot-efi/grub/pict3.png set color_normal=light-gray/black set menu_color_normal=yellow/black set menu_color_highlight=red/black timeout_style=menu timeout=1 set default=1 menuentry "EFI-PC"{ set root=(hd0,1) } menuentry "Boot-Menü" { search --no-floppy --fs-uuid --set=root 682A-DD73 configfile /boot-menu/grub.cfg } |
Anmeldungsdatum: Beiträge: 10674 |
da vermisse ich jetzt aber so etwas wie …grubenv… …next_entry… …saved_entry… etc
stimmt, streichen; mach aber nix, da ja nicht definiert, stattdessen aber für CSM ein
nö, die werden in deutsch angezeigt mit
nö, die kommen so oder so!
das müßtest du schon näher erklären, schau aber einfach mal in https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html#Simple-configuration |
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Aber es funktioniert trotzdem. Tja da stehst Du jetzt auf dem Schlauch. Ich löse das Rätsel aber gerne. Diese Sachen befinden sich im sekundär aufgerufenen configfile (welches in der Ubuntu-Instanz mittels [.....] menuentry "Menü von Ubuntu-32 18.04 auf /dev/sda9" { search --no-floppy --fs-uuid --set=root ec7ee724-6bed-4ee0-8056-8ecf44bb46b9 unset chosen set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg } [.....] Die Funktion von
Oder noch besser ... mit Leben füllen, so wie ich es oben in meiner funktionierenden grub.cfg gemacht habe.
Deshalb habe ich es ja in meine funktionierende grub.cfg übernommen, auch wenn bei mir CSM keine Rolle spielt.
Ich glaube Du verwechselst die beiden Code-Blöcke oben. Der obere ist der funktionierende von mir, und der untere stammt aus Deiner EWMS. Und genau darin fehlt
Nö, die kommen nur, wenn
Ich meine die gelb markierten terminal, grub_gfxmode und grub_gfxpayload_linux ,die kennt GRUB nicht, und die tauchen in der von Dir verlinkten Doku auch nicht auf. Hier findest Du die einzig gültigen: https://www.gnu.org/software/grub/manual/grub/html_node/Special-environment-variables.html#Special-environment-variables |
Anmeldungsdatum: Beiträge: 10674 |
warum, für die Funktion nicht erforderlich
s.o., nicht erfordelich
äh, warum? Im Abschnitt wird Beispielhaft hier ein Menüeintrag für… gezeigt, da werden keine Umlaute gebraucht. (Spannend wäre – für mich allerdings jetzt auch nicht mehr – ein
aber gerade darauf kommt es doch an: Mit 2 unterschiedlichen Bildern sofort erkennen, in welchem Modus der PC läuft.
doch, #2 und #3 schon, terminal nicht mehr, habe ich wohl aus alten (HH? oder LL?) Zeiten immer nur durch c&p weitergeschleppt (schau auf meine Benutzerseite, dort gibt es zwar keine Chronologie, mußt ' mir halt glauben, daß das aus der Zeit stammt). Und btw., es gibt Grub 2/Konfiguration, warum also sollte ich das alles im Artikel noch einmal schreiben? |
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Die Funktion selbst ist nicht erforderlich, aber das, was in
Wenn ich einen mit Deiner EWMS präparierten USB-Stick starte, sehe ich ein englisches GRUB-Menü. Damit kann man natürlich auch vorlieb nehmen. Will man aber den Erklärungstext im unteren Teil des GRUB-Menü und Meldungen (die z.B. im Fehlerfall kommen) in Deutsch haben, braucht man: set locale_dir=$prefix/locale set lang=de_DE insmod gettext
Im gezeigten Beispiel sind in der Tat keine Umlaute. Aber es ist ja nur ein Beispiel, das der User seinen Wünschen nach abändern kann. Und wenn er da Umlaute verwendet, was im deutschen Sprachraum nicht unwahrscheinlich ist, wäre es doch sinnvoll, wenn das Beispiel darauf schon vorbereitet wäre.
Das hat mit GRUB nix zu tun, das ist ein Kernel-Parameter für das aufzurufende OS.
Für einen externen USB-Stick ist das Hintergrundbild wichtig, aber nicht für eine Festinstallation, wo man nur einen der beiden Modi installiert. Und für dass Hintergrundbild werden erst recht keine Umlaute gebraucht, also kann
Dann zeig mir doch bitte mal wo (möglichst markieren)! Vielleicht bin ich ja blind.
Kein Problem, das glaube ich Dir.
Das was da erklärt wird, ist hier größtenteils uninteressant, denn es geht hier ja um eine handgestrickte grub.cfg. Es geht mir auch nicht um redundante Erklärungen, sondern um die Korrektheit und Konsistenz der im Artikel gezeigten Vorlagen. |
Anmeldungsdatum: Beiträge: 10674 |
ich setzt hier jetzt mal ein
if...fi wo innerhalb dieser Klammer siehst du da ein
verlinkt habe ich das oben, da muß man halt mal mit Strg + F die Seitensuche bemühen.
und da gelten die Variablen nicht?
trifft wohl auf EDIT.:
heißt zu deutsch, booten mit dem |
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Nein, aber Du behauptest hier, dass der Abschnitt für die Hintergrundbildanzeige erforderlich ist. Geht das Laden des Fonts schief, wird er aber nicht ausgeführt.
Doch, deshalb hatte ich das Problem ja vorgetragen. Wenn ich Deiner Anleitung folge und nur dies und dies in die grub.cfg eintrage und dabei Umlaute in der Menübezeichnung verwende (und auf dies verzichte, weil nicht nötig für eine Festinstallation), werden "besondere Buchstaben" wie z.B. Umlaute nicht angezeigt, weil eben der Font dafür fehlt.
Ich fürchte, jetzt verwechselst Du aber die Systeme, nämlich grub.cfg und /etc/default/grub. Nur in letzterem haben grub_gfxmode und grub_gfxpayload_linux eine Bedeutung und auch nur, wenn sie GROSS geschrieben werden. Du verwendest sie aber in ersterem.
Nicht nur darauf, sondern dass der Font für die Hintergrundbildanzeige überflüssig ist, dafür aber hier gebraucht wird, wenn man nicht nur mit ASCII-Zeichen vorlieb nehmen möchte. Und zusätzlich wäre genau dort dass Platzieren von
Das ist nicht tragisch, wenn ich das vergesse, denn für die richtige Anwahl sorgt:
❓ ❓ ❓ |
Anmeldungsdatum: Beiträge: 10674 |
❓
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Hab' ich doch nie behauptet, siehe oben. Aber im Artikel wird behauptet, dass der ganze Abschnitt nur für das Hintergrundbild benötigt wird. Und das stimmt eben nicht. Ein Teil davon wird eben auch ohne Hintergrundbild gebraucht.
Mit diesem Code, gestartet mit der EWMS timeout_style=menu timeout=10 set default=2 menuentry "EFI-PC"{ set root=(hd0,1) } menuentry "Stop"{ halt } menuentry "Boot-Menü" { search --no-floppy --fs-uuid --set=root 682A-DD73 configfile /boot-menu/grub.cfg } sieht das bei mir so aus. Gar nicht so schlecht außer dem fehlenden 'ü'. Liegt vermutlich am im BIOS eingebetteten Font. Also so unfähig ist dann mein hier viel belächelter 2 GiB ASUS nun doch nicht. |
Anmeldungsdatum: Beiträge: 10674 |
OT
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Mir auch, z.B. dass Du immer recht haben willst und schweigst, wenn ich Dich im Unrecht erwischt habe, wie z.B. mit den ungültigen Variablen.
Damit bin ich zu 50 % einverstanden. Für 70 % bräuchte es die Umbenennung des Abschnittstitels von "Hintergrundbild" in "Verschönerung". Auf 90 % käme ich, wenn set locale_dir=$prefix/locale set lang=de_DE insmod gettext in dem Abschnitt.
Hab' ich nichts dagegen, das ist Teil der Verschönerung. Da
Kann sein, habe ich nicht überprüft. In der Ubuntu-Version von grub.cfg ist
Habe ich auch nicht überprüft, klingt aber plausibel.
Ja, jetzt sind wir tatsächlich OT, und es war meine Schuld, "Außerdem sind mir in den grub.cfg-Dateien von EWMS Fehler aufgefallen." hier einzubringen. Das hätte in die Diskussion von "stand-alone GRUB" gehört. Asche über mein Haupt. Allerdings war der Übergang fließend gemischt, sodass es schwer wäre, den Teil abzuspalten. |