ubuntuusers.de

GRUB_2/Konfiguration

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels GRUB_2/Konfiguration.

UlfZibis

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

black_tencate schrieb:

Wozu ein grub Menü, wenn ich das per UEFI erledige?)

Wenn Du weißt, wie Du ins UEFI-Menü reinkommst, und bereit bist, innerhalb von Sekunden zum richtigen Zeitpunkt eine zum jeweiligen PC passende Taste zu drücken und außerdem sicher bist, nie die Recovery-Konsole zu brauchen, dann nicht.

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

black_tencate schrieb:

Hej,

daß man mit GRUB_DISTRIBUTOR Menüpunkte (grub Menü) umformulieren kann, gelingt mir hier nicht!

Und Deine Vorgehensweise war wie? sudo update-grub hast Du ausgeführt?

LG, Newubunti

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11219

Hej,

UlfZibis schrieb:

...innerhalb von Sekunden zum richtigen Zeitpunkt eine zum jeweiligen PC passende Taste zu drücken

och nö, für 's Üben gibt 's ja VBox, und im richtigen Leben… paßt scho', Lenovo stellt sich da nicht so an!

Außerdem hast Du mich wohl falsch verstanden: Ich habe meinen Frust darüber ausdrücken wollen, daß eben besagte Variable aus dem 'Konfigurierungsuniversum' zwar offensichtlich 'ne Menge macht – auch unerwartetes, nämlich an …/efi/efi/ubuntu… vorbei –, aber im eigenen Menü wohl nicht (? 'jammy-neu' ?).

(Ich selbst schlage mich gar nicht mit dem ubuntukonfigurieren von grub herum.)

Newubunti schrieb:

... Und Deine Vorgehensweise war wie?

so, wie Du das im Wiki beschrieben hast

sudo update-grub hast Du ausgeführt?

ich mach 's nochmal, um ganz sicher zu sein.

Gruß black tencate

UlfZibis

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

black_tencate schrieb:

och nö, für 's Üben gibt 's ja VBox, und im richtigen Leben… paßt scho', Lenovo stellt sich da nicht so an!

Die meisten wollen aber nicht üben und VBoxen, sondern einfach nur ihren Rechner starten. 😉 Und übrigens, wie hast Du denn VBox erst mal gebootet?

Und wie startest Du mehrere Ubuntus auf einem Rechner mit der Lenovo-Taste?

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

black_tencate schrieb:

Ich habe meinen Frust darüber ausdrücken wollen, daß eben besagte Variable aus dem 'Konfigurierungsuniversum' zwar offensichtlich 'ne Menge macht – auch unerwartetes, nämlich an …/efi/efi/ubuntu… vorbei –,

Und erwartbares Verhalten wäre Deiner Meinung nach wie? Und warum an .../efi/efi/ubuntu... vorbei, wenn Du GRUB_DISTRIBUTOR veränderst?

Für mich ist es das erwünschte Verhalten, dass GRUB_DISTRIBUTOR auf einem System im UEFI-Boot-Modus, sowohl den NVRAM-Eintrag, als auch das Verzeichnis auf \EFI\... und den Eintrag im Grub-Menü bestimmt. Ein technisch Muss ist das natürlich nicht, aber sinnvoll ist es schon. Es dürft zudem auch die programmiertechnisch einfachste Variante sein.

Überraschend ist allenfalls, dass auf einem System mit deaktiviertem Secure Boot die Pakete grub-efi-amd64-signed und shim-signed installiert werden und damit auf einem System ohne Secure Boot, die Funktionalität von GRUB_DISTRIBUTOR in dargestellter Weise beschränken.

aber im eigenen Menü wohl nicht (? 'jammy-neu' ?).

Doch auch dort.

LG, Newubunti

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11219

Hej,

OT
UlfZibis schrieb:

... Die meisten wollen aber nicht ...

was die wollen, steht doch hier gar nicht zur Debatte, wie ich das mache (n könnte), habe ich gesagt.

Und wie startest Du mehrere Ubuntus auf einem Rechner mit der Lenovo-Taste?

Du hast den Artikel doch schon mindestens 2x verlinkt, da kann man das nachlesen.
/OT

Ach übrigens, bei grub gibt es auch --bootloader-id=, man braucht also den GRUB_DISTRIBUTOR eigentlich gar nicht, man kann auch einfach sudo grub-install --bootloader-id="Jammy" ausführen plus das beschriebene Deinstallieren von besagten grub-Dateien. Da das aber nur mit "Gewalt" geht (s. Warnung) halte ich das eher für unwahrscheinlich, daß das der gewünschte Weg für die dedizierte Benennung im grub Menü sein sollte.

Gruß black tencate

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

Hallo black_tencate,

hast Du jetzt GRUB_DISTRIBUTOR noch mal probiert und damit auch die Bezeichnung des Menü-Eintrags im GRUB-Menü ändern können oder nicht?

LG, Newubunti

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9521

Wohnort: Münster

Newubunti schrieb:

black_tencate schrieb:

[…] daß man mit GRUB_DISTRIBUTOR Menüpunkte (grub Menü) umformulieren kann, gelingt mir hier nicht!

Meine Vorgehensweise früher war konkret diese:

In der Datei /etc/default/grub steht standardmäßig bei GRUB_DISTRIBUTOR ein ausführbarer Befehl, der beim sourcen dieser Datei auch ausgeführt wird und dann immer Ubuntu liefert:

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` 
$ lsb_release -i -s 2> /dev/null || echo Debian
Ubuntu

Dieses Wort wird dann auch Teil der Titel für die Statements menuentry … {}.

Meine Standard-Änderung in der Datei /etc/default/grub war dann immer:

GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null || echo Debian` 

Ergebnis:

$ lsb_release -d -s 2> /dev/null || echo Debian
Ubuntu 22.04.2 LTS

Und das steht dann auch so im GRUB-Menü. Nützlich, wenn man zeitgleich mit mehreren Ubuntu-Versionen arbeitet.

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

kB schrieb:

... Ich wittere hier einen Design-Fehler, weil die eine Konfigurationsvariable GRUB_DISTRIBUTOR für mindestens zwei Zwecke verwendet wird, die nichts miteinander zu tun haben:

  1. Formulierung der Menüpunkte

  2. Benennung des Ablageortes für das Programm GRUB auf der EFI

Der erste Zweck wird erwartet, der zweite kommt für den naiven Leser überraschend, muss aber bei der Wahl des Wertes für den ersten, eigentlichen Zweck berücksichtigt werden.

Hm, mal davon abgesehen, dass sich für mich nicht erschließt, wie Du die Erwartungen anderer Leute vorhersagen kannst, mal ganz nüchtern die Standard-GRUB-Umgebung auf einem Standard-Ubuntu-System im UEFI-Boot-Modus bei deaktiviertem Secure Boot:

Secure-Boot-Status

jammy@jammy-uefi-vm:~$ mokutil --sb-state
SecureBoot disabled
Platform is in Setup Mode
jammy@jammy-uefi-vm:~$ 

GRUB/Shim-Pakete

ammy@jammy-uefi-vm:~$ dpkg -l grub* shim*| grep ii
ii  grub-common           2.06-2ubuntu7.1                  amd64        GRand Unified Bootloader (common files)
ii  grub-efi-amd64-bin    2.06-2ubuntu14.1                 amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 modules)
ii  grub-efi-amd64-signed 1.187.3~22.04.1+2.06-2ubuntu14.1 amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version, signed)
ii  grub-gfxpayload-lists 0.7                              amd64        GRUB gfxpayload blacklist
ii  grub-pc               2.06-2ubuntu7.1                  amd64        GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub-pc-bin           2.06-2ubuntu7.1                  amd64        GRand Unified Bootloader, version 2 (PC/BIOS modules)
ii  grub2-common          2.06-2ubuntu7.1                  amd64        GRand Unified Bootloader (common files for version 2)
ii  shim-signed           1.51.3+15.7-0ubuntu1             amd64        Secure Boot chain-loading bootloader (Microsoft-signed binary)
jammy@jammy-uefi-vm:~$

debconf-Konfiguration von Grub und Shim

jammy@jammy-uefi-vm:~$ debconf-show grub-efi-amd64-bin
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
jammy@jammy-uefi-vm:~$ debconf-show grub-pc-bin
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
jammy@jammy-uefi-vm:~$ debconf-show grub-efi-amd64-signed
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
jammy@jammy-uefi-vm:~$ debconf-show grub2-common
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
jammy@jammy-uefi-vm:~$ debconf-show grub-common
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
  grub-efi/install_devices:
  grub-efi/install_devices_empty: false
  grub-efi/install_devices_disks_changed:
  grub-efi/install_devices_failed: false
  grub-efi/partition_description:
jammy@jammy-uefi-vm:~$ debconf-show grub-pc-bin
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
jammy@jammy-uefi-vm:~$ debconf-show grub-pc
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
  grub-pc/install_devices:
  grub-efi/install_devices:
  grub-pc/postrm_purge_boot_grub: false
  grub2/kfreebsd_cmdline_default: quiet splash
  grub2/linux_cmdline_default: quiet splash
  grub-pc/install_devices_failed: false
  grub-pc/timeout: 0
  grub-efi/install_devices_failed: false
  grub-pc/chainload_from_menu.lst: true
  grub2/unsigned_kernels:
  grub2/no_efi_extra_removable: false
  grub-efi/partition_description:
  grub-pc/hidden_timeout: true
  grub-efi/install_devices_disks_changed:
  grub-pc/install_devices_failed_upgrade: true
  grub-pc/partition_description:
  grub-pc/mixed_legacy_and_grub2: true
  grub-efi/install_devices_empty: false
  grub-pc/kopt_extracted: false
  grub2/linux_cmdline:
  grub2/unsigned_kernels_title:
  grub-pc/install_devices_disks_changed:
  grub2/kfreebsd_cmdline:
  grub-pc/install_devices_empty: false
  grub-pc/disk_description:
  grub2/update_nvram: true
jammy@jammy-uefi-vm:~$ debconf-show shim-signed
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
  shim/secureboot_key:
  shim/title/secureboot:
  shim/secureboot_explanation:
  shim/error/bad_secureboot_key:
  shim/enable_secureboot: false
  shim/secureboot_key_again:
  shim/error/secureboot_key_mismatch:
jammy@jammy-uefi-vm:~$

NVRAM-Einträge

jammy@jammy-uefi-vm:~$ efibootmgr -v
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0001,0004,0002,0000,0003
Boot0000* UiApp	FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(462caa21-7614-4503-836e-8ab6f4662331)
Boot0001* UEFI QEMU DVD-ROM QM00003 	PciRoot(0x0)/Pci(0x1f,0x2)/Sata(1,65535,0)N.....YM....R,Y.
Boot0002* UEFI QEMU HARDDISK QM00001 	PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0,65535,0)N.....YM....R,Y.
Boot0003* EFI Internal Shell	FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
Boot0004* ubuntu	HD(1,GPT,891d7c43-b1a5-4cbd-b780-204a61c325df,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
jammy@jammy-uefi-vm:~$

Baumansicht der EFI-Systempartition

jammy@jammy-uefi-vm:~$ sudo tree /boot/efi/EFI
/boot/efi/EFI
├── BOOT
│   ├── BOOTX64.EFI
│   ├── fbx64.efi
│   └── mmx64.efi
└── ubuntu
    ├── BOOTX64.CSV
    ├── grub.cfg
    ├── grubx64.efi
    ├── mmx64.efi
    └── shimx64.efi

2 directories, 8 files
jammy@jammy-uefi-vm:~$

Hexdump grubx64.efi

jammy@jammy-uefi-vm:~$ sudo hexdump -C /boot/efi/EFI/ubuntu/grubx64.efi | grep /EFI/ubuntu
00276e40  2f 45 46 49 2f 75 62 75  6e 74 75 00 00 00 00 00  |/EFI/ubuntu.....|
jammy@jammy-uefi-vm:~

\EFI\ubuntu\grub.cfg

jammy@jammy-uefi-vm:~$ sudo cat /boot/efi/EFI/ubuntu/grub.cfg
search.fs_uuid 31ee1b25-f5fa-4729-aae3-95140abd72d1 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
jammy@jammy-uefi-vm:~$

/boot/grub/grub.cfg

jammy@jammy-uefi-vm:~$ sudo cat /boot/grub/grub.cfg | grep Ubuntu
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-31ee1b25-f5fa-4729-aae3-95140abd72d1' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-31ee1b25-f5fa-4729-aae3-95140abd72d1' {
	menuentry 'Ubuntu, with Linux 5.19.0-38-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-38-generic-advanced-31ee1b25-f5fa-4729-aae3-95140abd72d1' {
	menuentry 'Ubuntu, with Linux 5.19.0-38-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-38-generic-recovery-31ee1b25-f5fa-4729-aae3-95140abd72d1' {
	menuentry 'Ubuntu, with Linux 5.19.0-32-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-32-generic-advanced-31ee1b25-f5fa-4729-aae3-95140abd72d1' {
	menuentry 'Ubuntu, with Linux 5.19.0-32-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-32-generic-recovery-31ee1b25-f5fa-4729-aae3-95140abd72d1' {
jammy@jammy-uefi-vm:~$

GRUB_DISTRIBUTOR

jammy@jammy-uefi-vm:~$ cat /etc/default/grub | grep GRUB_DISTRIBUTOR
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
jammy@jammy-uefi-vm:~$ 

lsb_release -i -s

jammy@jammy-uefi-vm:~$ lsb_release -i -s
Ubuntu
jammy@jammy-uefi-vm:~$ 

Mir erschließt sich da jetzt nicht, wieso der "naive Leser" die von Dir skizzierte Erwartungshaltung haben soll.

Ebensowenig erschließt sich mir Deine Aussage, dass GRUB_DISTRIBUTOR mit einer Variable Dinge beeinflussen würde, die nichts miteinander zu tun hätten. Wie man an der Darstellung oben sieht, gibt es da schon einen sinnvolles Ineinandergreifen. Technisch zwingend notwendig ist die gleiche Benennung zwar nicht, aber zwecks Übersichtlichkeit schon sehr sinnvoll.

Und damit erschließt sich für mich auch nicht, warum an dieser Stelle auf die von Dir beschriebene Arte gewarnt werden soll.

Oder willst Du den Leser auf die überraschende Paket-Konstellation der Standard-Umgebung aufmerksam machen? Das wäre für mich an dieser Stelle nämlich noch nachvollziehbar.

LG, Newubunti

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

kB schrieb:

Meine Standard-Änderung in der Datei /etc/default/grub war dann immer:

GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null || echo Debian` 

Ergebnis:

$ lsb_release -d -s 2> /dev/null || echo Debian
Ubuntu 22.04.2 LTS

Und das steht dann auch so im GRUB-Menü. Nützlich, wenn man zeitgleich mit mehreren Ubuntu-Versionen arbeitet.

Das könntest und solltest Du so realisieren (mal auf die Schnelle - bin kein sed-Spezialist):

GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null | sed -e 's/ /_/g' | sed -e 's/\./-/g' || echo Debian`

LG, Newubunti

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

black_tencate schrieb:

Ach übrigens, bei grub gibt es auch --bootloader-id=, man braucht also den GRUB_DISTRIBUTOR eigentlich gar nicht, man kann auch einfach sudo grub-install --bootloader-id="Jammy" ausführen plus das beschriebene Deinstallieren von besagten grub-Dateien. Da das aber nur mit "Gewalt" geht (s. Warnung) halte ich das eher für unwahrscheinlich, daß das der gewünschte Weg für die dedizierte Benennung im grub Menü sein sollte.

Gruß black tencate

--bootloader-id= ist zur Benennung des NVRAM-Eintrages und des Verzeichnises auf der EFI-Systempartition gedacht. Das liest Du indirekt aus der grub-install-Manpage, in der es heißt, dass diese Option nur auf Systemen mit UEFI zur Verfügung stehe - womit IMO indirekt gesagt wird, dass das nicht für die Umbennenung des GRUB-Menü-Eintrages gedacht ist.

Das Problem ist aber, dass Du das nur beeinflussen kannst, wenn Du grub-install manuell ausführst. Im Rahmen von GRUB-Paket-Updates bräuchtest Du eine entsprechend debconf-Variable, die von grub-install im Rahmen von Paket-Updates berücksichtigt würde.

Die gibt es aber momentan nicht.

D.h. Du müsstest nach Paket-Updaets in deren Zusammenhang grub-install ausgeführt wird grub-install --bootloader-id=... manuell noch mal ausführen oder Dir einen entsprechenden dpkg-Trigger erstellen.

Genauso gibt es noch die grub-install-Option --no-uefi-secure-boot für die es aber ebenfalls keine Entsprechung in debconf gibt. Gäbe es diese, dann müsste man zumindest mal theoretisch die Pakete grub-efi-amd64-signed und shim-singed auf einem System mit deaktiviertem Secure Boot nicht zwangsläufig deinstallieren.

Ob das alles am Ende einfacher zu konfigurieren wäre oder ob sich der Endanwender dann nicht vielleicht Konstellation schaffen kann, die zu Inkostienzen führen, kann man zumindest in Frage stellen.

LG, Newubunti

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

Noch ergänzend zu meinem obigen post mit der Ubuntu-UEFI-Standard-Umgebung:

grub-install -v

(Ausgabe auf das wesentliche gekürzt, da über 9000 Zeilen):

jammy@jammy-uefi-vm:~$ sudo grub-install -v
grub-install: Info: executing modprobe efivars 2>/dev/null.
grub-install: Info: Looking for /sys/firmware/efi ...
grub-install: Info: ...found.
x86_64-efi wird für Ihre Plattform installiert.
...
grub-install: Info: grub-mkimage --directory '/usr/lib/grub/x86_64-efi' --prefix '' --output '/boot/grub/x86_64-efi/grub.efi'  --dtb '' --sbat '' --format 'x86_64-efi' --compression 'auto'   --config '/boot/grub/x86_64-efi/load.cfg' 'ext2' 'part_gpt' 'search_fs_uuid'
...
grub-install: Info: writing 704 bytes of a fixup block starting at 0x10000.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/fshelp.mod.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/ext2.mod.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/part_gpt.mod.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/search_fs_uuid.mod.
grub-install: Info: reading /boot/grub/x86_64-efi/load.cfg.
grub-install: Info: kernel_img=0x55da3e0c5600, kernel_size=0x1c000.
grub-install: Info: the core size is 0x21508.
grub-install: Info: writing 0x24000 bytes.
grub-install: Info: copying `/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed' -> `/boot/efi/EFI/ubuntu/grubx64.efi'.
grub-install: Info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi/EFI/ubuntu/shimx64.efi'.
grub-install: Info: copying `/usr/lib/shim/mmx64.efi' -> `/boot/efi/EFI/ubuntu/mmx64.efi'.
grub-install: Info: copying `/usr/lib/shim/BOOTX64.CSV' -> `/boot/efi/EFI/ubuntu/BOOTX64.CSV'.
grub-install: Info: copying `/boot/grub/x86_64-efi/load.cfg' -> `/boot/efi/EFI/ubuntu/grub.cfg'.
grub-install: Info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi/EFI/BOOT/BOOTX64.EFI'.
grub-install: Info: copying `/usr/lib/shim/fbx64.efi' -> `/boot/efi/EFI/BOOT/fbx64.efi'.
grub-install: Info: copying `/usr/lib/shim/mmx64.efi' -> `/boot/efi/EFI/BOOT/mmx64.efi'.
grub-install: Info: Registering with EFI: distributor = `ubuntu', path = `\EFI\ubuntu\shimx64.efi', ESP at hostdisk//dev/sda,gpt1.
grub-install: Info: executing modprobe efivars 2>/dev/null.
grub-install: Info: setting EFI variable Boot0004.
grub-install: Info: skipping unnecessary update of EFI variable Boot0004.
grub-install: Info: setting EFI variable BootOrder.
Installation beendet. Keine Fehler aufgetreten.
jammy@jammy-uefi-vm:~$

hexdump /boot/grub/x86_64-efi/grub.efi

jammy@jammy-uefi-vm:~$ sudo hexdump -C /boot/grub/x86_64-efi/grub.efi | grep /EFI/ubuntu
jammy@jammy-uefi-vm:~$ 

LG, Newubunti

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9521

Wohnort: Münster

Newubunti schrieb:

kB schrieb:

... Ich wittere hier einen Design-Fehler, weil die eine Konfigurationsvariable GRUB_DISTRIBUTOR für mindestens zwei Zwecke verwendet wird, die nichts miteinander zu tun haben:

  1. Formulierung der Menüpunkte

  2. Benennung des Ablageortes für das Programm GRUB auf der EFI

Der erste Zweck wird erwartet, der zweite kommt für den naiven Leser überraschend, muss aber bei der Wahl des Wertes für den ersten, eigentlichen Zweck berücksichtigt werden.

[…] für mich nicht erschließt, wie Du die Erwartungen anderer Leute vorhersagen kannst

Ich kann das natürlich nicht für beliebige andere Leute.

Für Leute, welche GRUB anwenden und ihn dafür konfigurieren wollen (also die Zielgruppe dieses Artikel), ist jedoch leicht zu ermitteln, was diese als naive Leser annehmen sollten, nämlich das, was im Grub Manual steht (mir liegt Version 2.06 vor):

‘GRUB_DISTRIBUTOR’
      Set by distributors of GRUB to their identifying name. This is used to generate
      more informative menu entry titles.

Das ist alles. Somit entnehme ich der offiziellen Dokumentation, dass lediglich der erste von mir genannte Verwendungszweck vorgesehen ist. Für einen Leser mit diesem Kenntnisstand ist es sehr überraschend, wenn die Variable auch für den zweiten Zweck verwendet wird.

Was Du uns mit Deiner ausführlichen Dokumentation aller denkbaren GRUB-Konfigurationseinstellungen und darüber hinaus auf Deinem Rechner mitteilen willst, erschließt sich mir nicht. Auch nicht, was das mit dem Thema „Konfiguration von GRUB über die Datei /etc/default/grub zu tun haben könnte.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11219

Hej,

ich habe jetzt nochmal mit der aktuellen iso ein Jammy in einer VBox VM mit 'Enable Secure Boot' installiert.

  1. Guestedition installiert, dazu die erforderlichen gcc make perl

  2. die GRUB_DISTRIBUTOR'=… geändert auf Jammy-secure, sudo update-grub

Ergebnis:

  • ### BEGIN /etc/grub.d/05_debian_theme ###
    set menu_color_normal=cyan/blue
    set menu_color_highlight=white/blue
    ### END /etc/grub.d/05_debian_theme ###

    da steht sonst üblicherweise white/black, black/light-gray

  • vb-jammy-sec@vbjammysec-VB:~$ mokutil --sb-state
    SecureBoot disabled
    vb-jammy-sec@vbjammysec-VB:~$ cat /boot/grub/grub.cfg | grep Jammy-secure
    menuentry 'Jammy-secure GNU/Linux' --class jammy_secure --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-39c5e297-ea07-400e-8b8a-d3d5d94a74e9' {
    submenu 'Advanced options for Jammy-secure GNU/Linux'…
    [...]
    vb-jammy-sec@vbjammysec-VB:~$ efibootmgr -v
    BootCurrent: 0004
    Timeout: 0 seconds
    BootOrder: 0004,0000,0001,0002,0003
    Boot0000* UiApp	FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(462caa21-7614-4503-836e-8ab6f4662331)
    Boot0001* UEFI VBOX CD-ROM VB2-01700376 	PciRoot(0x0)/Pci(0x1,0x1)/Ata(1,0,0)N.....YM....R,Y.
    Boot0002* UEFI VBOX HARDDISK VB0eae102a-8cdc674b 	PciRoot(0x0)/Pci(0xd,0x0)/Sata(0,65535,0)N.....YM....R,Y.
    Boot0003* EFI Internal Shell	FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
    Boot0004* ubuntu	HD(1,GPT,fcdaa5f3-8f81-476c-b3bf-5b884b204423,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
    vb-jammy-sec@vbjammysec-VB:~$ 
  • gleiches Aussehen bei aktiven Secureboot

  • am Rande: Unterschiedliches Verhalten der VM bezüglich Guestedition, ohne Secureboot ist 'drag&drop' (etc.) möglich, mit Secureboot nicht (da funktioniert allerdings noch das Anbinden von USB.

Fazit: Für die Benutzung der Variablen GRUB_DISTRIBUTOR'=… zwecks Namensänderung im grub Menü ist es nicht erforderlich, ein grub-install oder gar das Deinstallieren von grub-Dateien durchzuführen. Die Bezeichnung im UEFI Menü bleibt so allerdings bei "Ubuntu"

Gruß black tencate

Bilder

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

black_tencate schrieb:

Fazit: Für die Benutzung der Variablen GRUB_DISTRIBUTOR'=… zwecks Namensänderung im grub Menü ist es nicht erforderlich, ein grub-install oder gar das Deinstallieren von grub-Dateien durchzuführen. Die Bezeichnung im UEFI Menü bleibt so allerdings bei "Ubuntu"

Wo habe ich denn im Artikel geschrieben, dass alleine für die Änderung der Bezeichnung im GRUB-Menü grub-install und das Entfernen der Pakete erforderlich ist? Im Artikel steht:

Ermöglicht es, die Einträge der Distribution individuell bzw. aussagekräftiger zu gestalten. Bei einer Installation im UEFI-Modus bestimmt diese Variable grundsätzlich außerdem die Benennung des Eintrages im NVRAM sowie die Benennung des Ordners auf der EFI-Systempartition.

Für die Umsetzung dieser drei Funktionen sind die angegebenen Schritte durchzuführen!

Wenn Du - warum auch immer - nur den Menü-Eintrag im GRUB-Menü ändern wolltest, dann würde natürlich ein update-grub ausreichen. Allerdings wie Du dann selber schreibst und wie man auch an der Ausgabe von efibootmgr -v sieht, bleibt der Rest erst mal auf "Ubuntu". Das ist so nicht anzuraten, weil bei einem späteren grub-install - z.B. im Rahmen eines Grub-Paket-Updates - grub-install sehr wohl die Variable GRUB_DISTRIBUTOR auswerten wird und entsprechend das Verzeichnis auf der EFI-Systempartition und den Eintrag im NVRAM erzeugen wird.

Dann wird auch ein zusätzlicher Eintrag im NVRAM angelegt werden. Das System wird dann trotzdem noch starten, ob das dann aber jeder alles mit den zwei Ordnern auf der EFI-Systempartition durchschaut, bezweifle ich mal.

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

Das liegt daran, dass die /etc/grub.d/05_debian_theme recht simple gestrickt ist - ist allerdings auch nur Kosmetik. Abhilfe dafür haben wir hier im Wiki bereits:

GRUB 2/Skripte (Abschnitt „Anzeige-in-der-Menuezeile“)

Und könntest Du bitte so freundlich sein - nachdem Du weiter oben behauptet hast, dass meine Anleitung nicht funktioniert - noch mal Rückmeldung zu geben, ob meine Anleitung nun bei Dir funktioniert oder nicht. Denn andernfalls müsste ja eventuell nachgebessert werden.

Bis dahin kann ich das Problem aber nicht nachvollziehen.

LG, Newubunti