Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Grub2 grub-install Fehler
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3483
Location: Berlin

PostPosted: Sun Apr 07, 2024 6:05 am    Post subject: Grub2 grub-install Fehler Reply with quote

Hallo, ich habe folgendes Problem:
Code:
 * Re-run grub-install to update installed boot code!
 * Re-run grub-mkconfig to update grub.cfg!
In der /etc/make.conf habe ich geändert
Code:
#GRUB_PLATFORMS="emu efi-32 efi-64 pc"
GRUB_PLATFORMS="efi-64 pc"
Code:
mount | grep /boot/efi
/dev/nvme0n1p1 on /boot/efi type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Fehler
Code:
grub-install /dev/nvme0n1p8
x86_64-efi wird für Ihre Plattform installiert.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub-install: Fehler: efibootmgr schlug beim Registrieren des Boot-Eintrags fehl: Datei oder Verzeichnis nicht gefunden.
Code:
dmesg | grep -i "EFI v"
[    0.000000] efi: EFI v2.7 by American Megatrends
Code:
efibootmgr
EFI variables are not supported on this system.
Code:
df -h | grep -i efi
/dev/nvme0n1p1   96M     35M   62M   36% /boot/efi
Code:
lsblk | grep -i efi
├─nvme0n1p1 259:1    0   100M  0 part /boot/efi
Code:
ls  /sys/firmware/efi/*
/sys/firmware/efi/config_table      /sys/firmware/efi/fw_vendor  /sys/firmware/efi/systab
/sys/firmware/efi/fw_platform_size  /sys/firmware/efi/runtime

/sys/firmware/efi/efivars:

/sys/firmware/efi/esrt:
entries  fw_resource_count  fw_resource_count_max  fw_resource_version

/sys/firmware/efi/runtime-map:
0  1  10  11  12  13  14  15  2  3  4  5  6  7  8  9
Code:
efivar -l
efivar: error listing variables: Function not implemented
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sun Apr 07, 2024 6:24 am    Post subject: Reply with quote

Es gibt mehrere Voraussetzungen damit Anwendungen (z.B. "efibootmgr") auf die UEFI-Variablen zugreifen können:
1. Der Kernel muss richtig konfiguriert sein. Siehe: https://wiki.gentoo.org/wiki/Efivarfs#Kernel
2. Das efivarfs muss gemountet sein (wird aber normalerweise von den init-skripts automatisch gemacht). Siehe: https://wiki.gentoo.org/wiki/Efibootmgr#EFI_vars
3. Der PC selbst muss in den UEFI Modus gebootet worden sein (also kein CSM Mode / Legacy im UEFI-BIOS enabled). Was alles für einen UEFI boot nötig ist, habe ich hier mal zusammengefasst:
https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Boot_kernel_via_UEFI#Prerequisites_for_an_UEFI_boot
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 371

PostPosted: Sun Apr 07, 2024 10:05 am    Post subject: Reply with quote

Der Befehl
Code:
grub-install /dev/nvme0n1p8

sieht auch falsch aus. Vermutlich wird Grub beim Installieren den falschen Ort (/dev/nvme0n1p8) ignorieren.

Vermutlich reicht ein nacktes
Code:
grub-install
, um Grub am richtigen Ort zu installieren.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sun Apr 07, 2024 10:19 am    Post subject: Reply with quote

M.W. sollte beim grub-install noch spezifiziert werden, welches die ESP ist ... also je nachdem wo man seine ESP hingemountet hat, entweder

grub-install --efi-directory=/efi

oder (wenn eine alte Installation):

grub-install --efi-directory=/boot


(Ich weiß grad nicht auswendig, welches der Default ist ... ich glaube aber es war/ist /boot ... kann sich aber mit der neuen Version von grub auch geändert haben; macht nix: einfach spezifizieren)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5192

PostPosted: Sun Apr 07, 2024 10:47 am    Post subject: Reply with quote

Falls dualboot mit anderen betriebsystemen (besonders mit windows) nicht benötigt wird (welche die selbe ESP verwenden), dann kann man noch zusätzlich den parameter
Quote:
--removable

angeben.
Dann wird der bootloader in
Quote:
<esp-partition>/EFI/BOOT/BOOTX64.EFI
installiert.
Hat den vorteil, dass die meisten UEFI Firmware by default nach diesem eintrag suchen z.b. wenn es keinen boot eintrag im nvram gibt.
Dadurch wird grub auch korrekt gestartet, wenn die boot einträge im nvram verloren gehen.
Was unter umständen bei einem UEFI firmware update/setting reset passieren kann.
Oder beim wechsel des Mainboards.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 371

PostPosted: Sun Apr 07, 2024 3:28 pm    Post subject: Reply with quote

Bei Grub ist /boot/efi der "richtige" Einhängepunkt für die ESP (im Sinne der Standardeinstellung) und der Parameter "--efi-directory" kann weggelassen werden, wenn die ESP nach /boot/efi eingehängt wurde.

Wenn das System im UEFI-Modus ist, dann ignoriert grub-install jegliche Gerätenamen: Ein "grub-install /dev/nvme0n1p8" ist also das gleiche wie ein "grub-install" oder "grub-install --efi-directory=/boot/efi". Die Variante "grub-install" ist am kürzesten und einprägsamsten (finde ich).

Und es gibt noch den Parameter "--boot-directory", mit dem man Grub eine Alternative für "/boot/grub" angeben kann ("--boot-directory=huhu" installiert dann nach /huhu/grub).
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sun Apr 07, 2024 3:37 pm    Post subject: Reply with quote

sMueggli wrote:
Bei Grub ist /boot/efi der "richtige" Einhängepunkt für die ESP [...]

Da sagt unser AMD64 Handbuch etwas anderes:

https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base#UEFI_systems
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System#UEFI_systems

Ebenso die UAPI Group Specifications (bitte GPT_ESP nicht mit GPT_XBOOTLDR verwechseln):

https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
=>
Quote:
EFI System Partition c12a7328-f81f-11d2-ba4b-00a0c93ec93b SD_GPT_ESP VFAT The ESP used for the current boot is automatically mounted to /boot/ or /efi/, unless a different partition is mounted there (possibly via /etc/fstab) or the mount point directory is non-empty on the root disk. If both ESP and XBOOTLDR exist, the /efi/ mount point shall be used for ESP. This partition type is defined by the UEFI Specification.

Extended Boot Loader Partition bc13c2ff-59e6-4262-a352-b275fd6f7172 SD_GPT_XBOOTLDR Typically VFAT The Extended Boot Loader Partition (XBOOTLDR) used for the current boot is automatically mounted to /boot/, unless a different partition is mounted there (possibly via /etc/fstab) or the mount point directory is non-empty on the root disk. This partition type is defined by the Boot Loader Specification.

_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4558
Location: Germany

PostPosted: Mon Apr 08, 2024 8:55 am    Post subject: Reply with quote

sMueggli wrote:
Bei Grub ist /boot/efi der "richtige" Einhängepunkt für die ESP (im Sinne der Standardeinstellung) und der Parameter "--efi-directory" kann weggelassen werden, wenn die ESP nach /boot/efi eingehängt wurde.
Ja, ist zumindest da wo als erstes by default nach gesucht wird, sofern nichts anderes mit angegeben wird.

ich hab es einfach mal ausprobiert:
Code:
lucy ~ # mount /efi
lucy ~ # grub-install
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.

lucy ~ # cd /boot
lucy /boot # ln -s /efi
lucy /boot # grub-install
Installing for x86_64-efi platform.
Installation finished. No error reported.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Mon Apr 08, 2024 12:01 pm    Post subject: Reply with quote

Josef.95 wrote:
sMueggli wrote:
Bei Grub ist /boot/efi der "richtige" Einhängepunkt für die ESP (im Sinne der Standardeinstellung) und der Parameter "--efi-directory" kann weggelassen werden, wenn die ESP nach /boot/efi eingehängt wurde.
Ja, ist zumindest da wo als erstes by default nach gesucht wird, sofern nichts anderes mit angegeben wird. [...]

Wir sollten uns aber nicht an dem orientieren was der grub-install defaultmäßig macht (zumindestens NOCH macht), sondern uns an die Vorgaben halten.

Begonnen hat das ganze als unser Developer @sam es als Arbeitsauftrag hier vorgegeben hat:

https://wiki.gentoo.org/index.php?title=Project:Handbook&curid=190180&diff=1260630&oldid=1258723
=>
Quote:
Migrate ESP to {{Path|/efi}} as recommended per UAPI Group Specification's Boot Loader Specification


Ich habe daraufhin einen deutschen Artikel:

https://forums.gentoo.org/viewtopic-p-8801625.html#8801625

und einen englischen:

https://forums.gentoo.org/viewtopic-t-1165115.html

im Forum gepostet, weil es einige Wochen lang einen Mischmasch gegeben hat (Neue Einstellungen im AMD64 Handbuch; veraltete in Wiki-Artikeln). HEUTE ist aber alles einheitlich auf /efi als Mountpoint für die ESP beschrieben.
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4558
Location: Germany

PostPosted: Mon Apr 08, 2024 12:30 pm    Post subject: Reply with quote

@pietinger

Hab mit doch brav an die Vorgaben gehalten! :)
Code:
lucy /boot # mount /efi
lucy /boot # mount | grep -e boot -e efi
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda5 on /boot type ext4 (ro,relatime)
/dev/sda1 on /efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Mon Apr 08, 2024 1:05 pm    Post subject: Reply with quote

Josef.95 wrote:
@pietinger

Hab mit doch brav an die Vorgaben gehalten! :)

:lol:

Josef, ja ja, ich habe das ja nicht geschrieben als Vorwurf, sondern nur als Ergänzung für alle Leser des Threads (Ich habe selbst auf meiner alten Kiste immer noch /boot als Mountpoint weil ich einfach zu faul bin umzustellen ... und weil es ja eigentlich auch nicht nötig ist, solange man weiß, wo, was nicht dem Standard entspricht, und deshalb von Beschreibungen abweichen muss.)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 371

PostPosted: Mon Apr 08, 2024 4:51 pm    Post subject: Reply with quote

pietinger wrote:
sMueggli wrote:
Bei Grub ist /boot/efi der "richtige" Einhängepunkt für die ESP [...]

Da sagt unser AMD64 Handbuch etwas anderes:

https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base#UEFI_systems
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System#UEFI_systems


Das kann schon sein, dass das AMD64 Handbuch etwas anderes sagt. Allerdings schweigen sich die zwei verlinkten Seiten komplett zu Grub aus. Unter https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader#UEFI_systems wird ein Beispiel "nach Vorgabe" gezeigt, was auch korrekt ist, falls das System "nach Vorgabe" aufgesetzt wurde. Beim System von flammenflitzer wurde das System jedoch nicht "nach Vorgabe" (also nach Zeitgeist, Mode) aufgesetzt, sondern noch traditionell.

Die Fehlermeldungen im ersten Post haben zwar nichts mit Grub zu tun, dennoch wollte ich darauf hinweisen, dass der ursprünglich gepostete grub-install-Befehl "komisch" aussieht (aber nicht schädlich ist).

Apropos Handbuch: Das Handbuch sagt auch folgendes:
Quote:
For DOS/Legacy BIOS systems, the bootloader will be installed into the /boot directory


Sieht für mich falsch formuliert aus.

pietinger wrote:


Ebenso die UAPI Group Specifications (bitte GPT_ESP nicht mit GPT_XBOOTLDR verwechseln):

https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
=>
Quote:
EFI System Partition c12a7328-f81f-11d2-ba4b-00a0c93ec93b SD_GPT_ESP VFAT The ESP used for the current boot is automatically mounted to /boot/ or /efi/, unless a different partition is mounted there (possibly via /etc/fstab) or the mount point directory is non-empty on the root disk. If both ESP and XBOOTLDR exist, the /efi/ mount point shall be used for ESP. This partition type is defined by the UEFI Specification.

Extended Boot Loader Partition bc13c2ff-59e6-4262-a352-b275fd6f7172 SD_GPT_XBOOTLDR Typically VFAT The Extended Boot Loader Partition (XBOOTLDR) used for the current boot is automatically mounted to /boot/, unless a different partition is mounted there (possibly via /etc/fstab) or the mount point directory is non-empty on the root disk. This partition type is defined by the Boot Loader Specification.


Inwiefern ist die UAPI für GNU Grub wichtig? Stand heute kann Grub "UAPI-konform" installiert werden. Es besteht also keinerlei akuter Handlungsbedarf, GNU Grub anzupassen. Ich bin jedoch zuversichtlich, dass die Leute beim GNU Grub-Projekt in der Lage sein werden, die entsprechenden Änderungen vorzunehmen, damit sie einen Bootloader anbieten, der konform zu UAPI UND Gentoo Handbuch sein wird. So es denn nötig und sinnvoll ist.

pietinger wrote:
Wir sollten uns aber nicht an dem orientieren was der grub-install defaultmäßig macht (zumindestens NOCH macht), sondern uns an die Vorgaben halten.


Oder wir schauen uns einfach die geposteten Ausgaben des betroffenen Systems an und leben mit der Tatsache, dass noch nicht jedes System "nach Vorgabe" aufgesetzt respektive nachjustiert wurde.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Mon Apr 08, 2024 6:03 pm    Post subject: Reply with quote

sMueggli, Du hattest bereits in Deinem 1. Post (richtigerweise) geschrieben, dass "grub-install /dev/nvme0n1p8" vermutlich falsch ist, und deswegen brauchte ich das nicht zu wiederholen. Ich habe quasi Deinen 1. Post nur ergänzt mit "M.W. sollte beim grub-install noch ..." (jetzige Hervorherbung durch mich). Lediglich bei Deinem 2.Post musste ich dem widersprechen: "Bei Grub ist /boot/efi der "richtige" Einhängepunkt für die ESP (im Sinne der Standardeinstellung)" (jetzige Hervorherbung durch mich).

sMueggli wrote:
[...] Beim System von flammenflitzer wurde das System jedoch nicht "nach Vorgabe" (also nach Zeitgeist, Mode) aufgesetzt, sondern noch traditionell.
[...]
Oder wir schauen uns einfach die geposteten Ausgaben des betroffenen Systems an und leben mit der Tatsache, dass noch nicht jedes System "nach Vorgabe" aufgesetzt respektive nachjustiert wurde.

... und genau deswegen habe ich im 2. Post geschrieben:
Quote:
oder (wenn eine alte Installation):

grub-install --efi-directory=/boot

Jja, wenn der grub-install das defaultmäßig hernimmt, kann man es weglassen; wenn ich aber nicht 100 % weiß ob der verwendete grub-install das auch wirklich defaultmäßig so macht, dann gehe ich lieber auf Nummer sicher. Ich denke auch an die Zukunft, wo ein neuer grub - respektive neuer grub-install - das genau andersherum macht (also /efi als default nimmt) und dann liest jemand diesen alten Thread ... ;-)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3483
Location: Berlin

PostPosted: Mon Apr 08, 2024 6:47 pm    Post subject: Reply with quote

:? Danke. Mache mich demnächst noch einmal die Sache. Im Moment ist auf der Arbeit und im Garten viel zu tun und das System startet ja...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum