GNU/Linux >> LINUX-Kenntnisse >  >> Linux

grub2-install:Fehler:/boot/efi sieht bei einer frischen Gentoo-Installation nicht wie eine EFI-Partition aus

Die Antwort ist einfach. Die EFI-Systempartition (ESP) sollte FAT32 sein (FAT16 oder sogar FAT12 reicht auch für die meisten geeigneten UEFI; sie werden meistens als vfat angezeigt unter Linux) statt ext2:

mkfs.fat -F32 /dev/sda2

FWIW, wenn Sie grub i386-pc (für BIOS/CSM-Boot) nicht installieren, brauchen Sie die "BIOS-Boot"-Partition nicht. Es wird nur von grub i386-pc benötigt (aber nicht grub x86_64-efi oder i386-efi ) auf GPT.

Dabei spielt es keine Rolle, ob Sie den ESP für /boot verwenden . Wenn Sie dies tun, sollten Sie Folgendes ausführen:

grub2-install --efi-directory /boot

Wenn Sie es auf /boot/efi montieren Stattdessen sollten Sie Folgendes ausführen:

grub2-install --efi-directory /boot/efi

--boot-directory /boot ist impliziert (d. h. Standard); Dabei spielt es keine Rolle, ob /boot ist die ESP, eine weitere separate Partition oder ein Verzeichnis auf / Dateisystem.

Möglicherweise müssen Sie nicht einmal erneut chrooten, um grub2-install auszuführen; Sie haben beispielsweise sda4 gemountet , Ihre Partition für / , auf /mnt; UND DANN sda2 gemountet , Ihr ESP, auf /mnt/boot/efi , dann können Sie einfach ausführen:

grub2-install --boot-directory /mnt/boot --efi-directory /mnt/boot/efi

Obwohl grub2-mkconfig muss in chroot AFAIK ausgeführt werden. Aber wenn Sie vorhaben, einen einfachen und sauberen grub.cfg zu schreiben Sie selbst (das ist die einzig elegante Art, grub2 zu verwenden), dann geht Sie das nichts an.


Das Problem schien das Mischen und Anpassen von BIOS, EFI, MBR und GPT zu sein. Ich habe versucht, den Anleitungen zu folgen und die GPT zu verwenden, aber es gab einige Abhängigkeiten, die ich nicht lösen konnte, weil ich zu unerfahren bin. Es ist mir nicht einmal klar, dass der Kernel mit GPT-Unterstützung gebaut wurde (über die Konfigurationsoption CONFIG_EFI_PARTITION ).

Als ich GPT und EFI fallen ließ und zu reinem BIOS und MBR wechselte, konnte ich die resultierende Maschine booten. BIOS und GPT sollen eine gültige Kombination sein, aber ich frage mich, ob es in der Praxis funktioniert (siehe zum Beispiel Bootloader-Optionen).

Hier ist die Konfiguration, mit der ich die Maschine ausführen konnte:

$ parted
GNU Parted 3.2
Using /dev/sda
(parted) print                                                            
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  135MB   134MB   primary  ext2            boot
 2      135MB   19.5GB  19.3GB  primary  ext4
 3      19.5GB  21.5GB  2012MB  primary  linux-swap(v1)

Partition 1 ist /boot , Partition 2 ist / , und Partition 3 ist swap .


Linux
  1. pygrub:Partition mit Kernel kann nicht gefunden werden

  2. Die /boot-Partition wirklich?

  3. Wie funktionieren mehrere Bootloader auf einer Efi-Systempartition?

  4. Debian – /var, /home auf separate Partition verschieben?

  5. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

Linux – Installation mit Gpt auf 32-Bit-System mit Bios?

Grub-install:Dieses GPT-Partitionslabel enthält keine Bios-Boot-Partition?

Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

Ist es gut, eine separate Partition für /boot zu erstellen?

Warum andere Dinge als /home auf eine separate Partition legen?