Ich habe win10 und ein Linux für Dual Boot auf derselben SSD installiert. Während der Installation von Linux enthält es einen Grub. Nach der Installation kann ich sehen, dass der ESP-Partition eine neue Linux-EFI-Datei hinzugefügt wurde. Jetzt habe ich beschlossen, Linux vollständig zu entfernen. Der erste Schritt bestand darin, den efi-Starteintrag mit einem Tool namens EasyUEFI zu entfernen. Der Eintrag verschwand, als ich neu startete und F11 drückte.
Aber es gibt zwei Teile, die mich verwirrten:
-
Die Linux-EFI-Datei befindet sich nach dem noch in der ESP-Partition Eintrag wird entfernt, ich dachte, das Vorhandensein solcher EFI-Dateien ist, wie die UEFI wissen würde, ob es eine solche Boot-Option gibt, wenn der Benutzer beim Booten F11 drückt. Dies bedeutet, dass die Startoptionen an einer anderen Stelle aufgezeichnet werden und das EasyUEFI-Tool diese einfach entfernt hat. Wo ist es, befindet es sich in der ESP-Partition?
-
Ich bin mir nicht ganz sicher, ob ich dieses Recht verstehe Installation) und das gleiche jetzt grub? Oder wenn der Benutzer einen EFI-Starteintrag auswählt, wird das Grub-Startmenü aufgerufen. Dies ist eine separate Sache. Wenn efi boot die Bootauswahl bereits verarbeiten kann, ist es dann nicht sinnlos, danach einen Grub zu haben?
Als Sie
Kommentare
- 1 ' befindet sich auf Ihrer Firmware, nicht auf ESP. 2 UEFI ist Ihre Firmware und grub ist eine UEFI-Anwendung, die die Bootloader-Funktionalität bedienen kann. UEFI kann die Startauswahl übernehmen, aber ' kann nicht jedes Betriebssystem booten (es kann nur UEFI-Anwendungen auf dem ESP ausführen, z. B. grub, Linux-Kernel mit EFI-Stub-Code, moderner Microsoft-Bootmgr). so läuft es grub. Grub bietet auch ein eigenes Startmenü und kann mehr Betriebssysteme (und viel mehr andere Funktionen) als UEFI booten.
- 2. " Ist es nicht ' nicht sinnlos, Grub zu haben? " Nein und ja. Die Rolle des geladenen Programms, auf das die Bootvariable verweist, besteht darin, als Bootloader für das Betriebssystem zu fungieren. Es kann auch Zusatzfunktionen haben, z. B. das Bereitstellen eines Startmenüs. Andererseits kann der Linux-Kernel so konfiguriert werden, dass das Kernel-Image selbst eine gültige EFI-Binärdatei ist, die sich selbst booten kann. Ja, die Verwendung von Grub mit UEFI-Firmware ist sinnlos oder zumindest nicht erforderlich. Sie können auch " Bootmanager " wie systemd-boot oder rEFInd verwenden, die keine Bootloader sind, sondern nur Bootmenüanbieter.
- Danke, dass ' sehr hilfreich ist, jetzt bekomme ich das Bild.
- Nein, UEFI kann ' Um alles zu booten, muss der Kernel (oder alles, was als Boot-Stub für das Betriebssystem verwendet wird) eine UEFI-Anwendung sein und sich in ESP befinden. Grub bietet flexiblere Startoptionen, z. B. Startkerne von anderen Partitionen mit Nicht-FAT-Dateisystemen, folgen dem Multiboot-Protokoll oder Linux-Startprotokoll, Chainloader zum MBR einer anderen Festplatte usw.
Antwort
1.) Mit EasyUEFI bearbeiten Sie die UEFI-Startvariablen. Diese werden wie die BIOS-Einstellungen im System-NVRAM gespeichert Sie können sie mit dem Dienstprogramm efibootmgr
bearbeiten. In Windows kann bcdedit /enum FIRMWARE
sie auflisten und andere Optionen zum Bearbeiten verwenden.
Wenn keine Startvariable definiert ist, gibt es einen bestimmten Fallback-Pfad, den UEFI automatisch überprüft: Für 64-Bit-x86-Hardware lautet dieser Pfad \EFI\boot\bootx64.efi
. Wenn diese Datei Wenn in einer ESP-Partition oder auf einem FAT32-Wechselmedium vorhanden ist, wird die Festplatte oder ein anderes Medium im nativen UEFI-Stil automatisch als „bootfähig“ betrachtet.
2.) UEFI ist eine Systemfirmware (wie das BIOS, jedoch neuer). GRUB ist ein Bootloader, daher muss er dem Whateve entsprechen Die Form wird von der Firmware der jeweiligen Hardwarearchitektur erwartet, andernfalls kann die Firmware GRUB nicht laden.
Der Kern von GRUB kann also viele Formen annehmen: Mit dem BIOS nimmt GRUB die Form an von ein bisschen Boot-Code in MBR + mehr Code, der in Plattenblöcke zwischen dem MBR und dem Beginn der ersten Partition eingebettet ist. Mit UEFI kann der Kern von GRUB (oder sogar alles) die Form einer einzelnen grubx64.efi
-Datei innerhalb der ESP-Partition haben.
GRUB hat eine eigene Architektur-IDs: Die Version von GRUB für BIOS wird als i386-pc
-Version bezeichnet, und die UEFI-Version auf 64-Bit-x86-Hardware wird als x86_64-efi
Version. Wenn Sie beispielsweise ein altes System abbilden und das Image auf neuer Hardware wiederherstellen und feststellen, dass das neue System einen anderen Firmware-Stil verwendet (dh das alte System verwendet das traditionelle BIOS und das neue UEFI) Normalerweise müssen Sie die ESP-Partition hinzufügen, die i386-pc
-Version des GRUB-Pakets durch die x86_64-efi
-Version ersetzen und dann GRUB neu installieren.