Speicherorte grub2

06/01/2014 - 19:39 von Roland Holterbosch | Report spam
Hallo NG,

Weil ich im Web unterschiedliche Informationen gefunden habe, möchte ich
meine Fragen einmal hier stellen:

Sind die von mir herausgefundenen Speicherorte korrekt?

grubx86.efi = boot/efi/debian
bootx64.efi = boot/efi
grub.cfg = /boot/grub/
efi systempartition = /dev/sda1

Kann mir jemand sagen welchen Inhalt bzw. welche Funktion die Datei
grubx86.efi hat?

Vielen Dank, und noch einen schönen Abend ...

Roland Holterbosch
 

Lesen sie die antworten

#1 Marcus Jodorf
07/01/2014 - 23:29 | Warnen spam
Roland Holterbosch schrieb:

Sind die von mir herausgefundenen Speicherorte korrekt?

grubx86.efi = boot/efi/debian



Kenne ich nicht, sieht dem Namen nach geraten nach einem 32bit EFI Loader
aus. Sowas gibt es - fall es sowas ist - allerhöchstens auf exotischer,
alter Hardware mit 32 bittigem EFI. Da fallen mir allenfalls nur uralte Macs
ein.

bootx64.efi = boot/efi



Sagt mir auch nichts von der Benennung her.

Auf einer normalen UEFI Kiste mit 64 bittigem EFI heißt der EFI-Loader
von Grub „grubx64.efi“ und bei Debian liegt das gemountet AFAIK unter
/boot/efi/EFI/debian/
Da normal
/dev/sda1 auf /boot/efi gemountet wird,
liegt das dann aus EFI-Sicht entsprechend unter /EFI/debian.

Aber im Grunde kannst Du das innerhalb der EFI Partition hinlegen wo Du
willst, solange dann Grub entsprechend konfiguriert und die Datei bei
EFI angemeldet wird.


grub.cfg = /boot/grub/



Das stimmt.

efi systempartition = /dev/sda1



Ist der Normalfall. Aber muß natürlich nicht. Kann jede
EFI-Systempartion sein, auf irgendeiner Platte, die EFI finden
kann. Dann kann man mindestens aus einer EFI-Shell heraus daraus starten
und entsprechend bei EFI angemeldet, kann man das auch fest irgendwohin
verdrahten.
Aber wie gesagt Standardfall dürfte erste Platte sein.


Kann mir jemand sagen welchen Inhalt bzw. welche Funktion die Datei
grubx86.efi hat?



Falls das die 32-bit Loadervariante ist, dann hat die nur noch
historische Bedeutung.
grubx64.efi ist wie gesagt der gàngige Name des 64-bit Loaders und das
ist halt die EFI Version des Bootloaders Grub. Die zeigt gegebenenfalls
das Auswahlmenu von angebotenen Betriebssystemvarianten und startet dann
das gewünschte.

Theoretisch braucht man bei einem EFI System keinen Bootloader mehr,
weil EFI selber ein OS starten und auch eine Art Bootmanager haben
kann. Und seit man den Linuxkernel mit EFI-Stub kompilieren kann, kann
der Kernel auch direkt durch EFI gestartet werden.

Praktisch müßte der Kernel dann aber in einem VFAT-Filesystem liegen
(oder es einen extX Treiber für EFI geben) und man hat keine
Möglichkeit, dem Kernel am Bootprompt Parameter mitzugeben. Extrem
unpraktisch. Man müßte z.B. das root-Filesystem und alle möglichen
anderen Sachen fest verdrahten.
Also benutzt man i.d.R. doch noch einen zwischengeschalteten Bootloader
wie grub2.

Ach ja, man sollte immer - falls der Rechner keine Firmware mit
eingebauter EFI shell hat, eine shell unter /boot/efi also im Root der
EFI-Partition abwerfen (bei einem 64-bit UEFI muß die dann shellx64.efi
benannt werden). Das ist dann per Definition der Fall-Back bzw. kann man
bei vielen EFI-Kisten aus dem EFI Menu heraus starten. Das ist extrem
hilfreich, wenn die Anmeldung des Grub-Loaders bei EFI mal fehlschlàgt
und man irgendwie das System von Hand neu in Gang bekommen muß.
Ohne Shell ist man im Fall der Fàlle schwer aufgeschmissen.

Aktuelle Kernel erlauben z.B. keine Scheibzugriffe aufs EFI Flash wenn
man dem Kernel nicht „efi_no_storage_paranoia“ als Parameter mitgibt
(das ist eine Schutzfunktion für kaputte EFI-Varianten in freier
Wildbahn) und man kann den Bootloader ohne Schreibzugriff nicht
anmelden. Da kann eine Shell dann extrem hilfreich sein, wenn man sowas
übersieht.

Gruß,

Marcus
⚂⚃

Ähnliche fragen