ELILO
Es ist wirklich schwierig für mich zu entscheiden, welcher Teil davon kopiert und eingefügt werden soll, weil alles sehr gut ist. Ich bitte Sie daher, ihn zu lesen.
Rod Smith
Verfasst und verwaltet sowohl gdisk
als auch rEFInd
.
Aber bevor Sie es tun, möchte ich etwas dazu sagen. Der obige ELILO-Link führt zu einer der vielen Seiten zum Thema UEFI-Booten, die auf rodbooks.com von Rod Smith zu finden sind. Er ist ein erfahrener technischer Redakteur, und wenn Sie jemals das Thema UEFI-Booten gegoogelt und festgestellt haben, dass Sie etwas von ihm nicht gelesen haben, lag dies wahrscheinlich daran, dass Sie die ersten Ergebnisse übersprungen haben.
Linux UEFI booten
Grundsätzlich kann der Linux-Kernel direkt von der Firmware ausgeführt werden.
In dem obigen Link erwähnt er den EFI-Stubloader des Linux-Kernels - das ist es, was Sie meiner Meinung nach verwenden sollten, da der Linux-Kernel direkt von der Firmware selbst aufgerufen werden kann. Unabhängig davon, was Sie gerade tun, wird etwas von der Firmware ausgeführt - und es klingt so, als ob es sich um etwas handelt grub
. Was nützt ein Bootloader, wenn die Firmware Ihren Betriebssystemkern direkt laden kann? Die UEFI-Firmware stellt eine FAT-formatierte GPT-Partition bereit, die von der Partitionstabelle als besonders gekennzeichnet wird, und führt dort einen Pfad aus, den sie als UEFI-Startvariable in einem integrierten Flash-Speichermodul gespeichert hat. Sie könnten also den Linux-Kernel auf diese FAT-Partition setzen und seinen Pfad in dieser Boot-Variablen speichern. Plötzlich ist der Kernel sein eigen Bootloader.
Bootloader
Auf UEFI-Systemen sind Bootloader redundant - einschließlich ELILO.
Das Problem, das Bootloader lösen sollten, bestand darin, dass BIOS-Systeme nur den ersten Sektor der Partition mit Boot- Flag einlesen und ausführen. Es ist ein wenig schwierig, mit einem 512-Byte-Kernel irgendetwas Sinnvolles zu machen. Daher war es üblich, ein winziges Hilfsprogramm zu schreiben, das ein Dateisystem mounten konnte, in dem Sie den eigentlichen Kernel aufbewahrten und ihn mit einer Kette luden.
Tatsächlich reichten die 512 Bytes selbst für die Bootloader oft nicht aus. grub
Beispielsweise lädt sich die Kette selbst, bevor der Kernel geladen wird, da die zweite Phase im leeren Bereich zwischen dem Startsektor und dem ersten Sektor Ihres Dateisystems eingeklemmt wird. Es ist ein bisschen dreckig - aber es hat funktioniert.
Bootmanager
Aus Gründen der einfachen Konfiguration aber einige können go-between nützlich sein.
Rod Smiths rEFInd startet als EFI- Anwendung - dies ist ein relativ neues Konzept. Es ist ein Programm, das von der Festplatte ausgeführt wird und zu der Firmware zurückkehrt. Mit rEFInd können Sie Startmenüs verwalten und anschließend Ihre Startauswahl an die Firmware zurücksenden, um sie auszuführen. Es wird mit UEFI-Dateisystemtreibern geliefert. So können Sie/boot
beispielsweise den EFI-Stubloader des Kernels auf einer Nicht-FAT- Partition (wie Ihrer aktuellen ) verwenden. Es ist kinderleicht zu verwalten - falls dies überhaupt erforderlich ist - und erweitert den Komfort eines konfigurierbaren Bootmanagers um die Einfachheit eines ausführbaren Systemkerns.
Atomare Indirektion
Der Kernel benötigt keine Symlinks - er kann mount --bind
.
Wenn sich auf Ihrem Pfad ein Pfad befindet, auf /
dem Sie Symlinking nicht zulassen sollten , ist dies der Fall /boot
. Ein verwaister Symlink in /boot
ist nicht das Problem, das Sie jemals beheben sollten. Trotzdem ist es gängige Praxis, aufwendige Indirektionen /boot
durch mehrere Distributionen einzurichten - auch wenn dies eine schreckliche Idee ist -, um Kernel-Updates und / oder mehrere Kernel-Konfigurationen direkt durchzuführen.
Dies ist ein Problem für EFI-Systeme, die nicht zum Laden von Dateisystemtreibern konfiguriert sind (wie sie im rEFInd-Paket enthalten sind), da FAT insgesamt ein ziemlich dummes Dateisystem ist und diese nicht versteht.
Ich persönlich verwende die mit rEFInd gelieferten UEFI-Dateisystemtreiber nicht, obwohl die meisten Distributionen ein rEFInd-Paket enthalten, das über den Paketmanager installiert werden kann, und vergesse, nur ihre eigene schrecklich verknüpfte /boot
Konfiguration und die mit rEFInd gelieferten UEFI-Dateisystemtreiber zu verwenden.
Meine Konfig
Ich habe einmal eine Anleitung dazu geschrieben und sie hier gepostet , aber sie sieht so aus:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
Also habe ich diese beiden Zeilen in meinen /etc/fstab
Verweis auf einen Ordner gestellt, in dem sich die neue Linux-Installation befinden soll, /boot
und ich bin fast fertig damit, mir Gedanken über das Ganze zu machen. Ich muss auch tun:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
Abgesehen von der Installation des refind-efi
Pakets über pacman
für das erste ist dies alles, was erforderlich ist, um so viele separate Installationen / Konfigurationen einzurichten, wie ich möchte. Beachten Sie, dass der Großteil der obigen Zeichenfolge aus btrfs-spezifischen Mount-Optionen besteht, die als Kernel-Parameter angegeben sind. Ein typischeres /boot/refind_linux.conf
würde wahrscheinlich so aussehen:
"Menu Entry" "root=/dev/sda2"
Und das ist alles was es braucht.
rodbooks.de
Wenn Sie immer noch ELILO wollen, finden Sie die Installationsanweisungen unter dem obigen Link. Wenn Sie REFInd möchten, finden Sie dort im ersten Absatz Links dazu. Wenn Sie eine UEFI-Boot-Konfiguration vornehmen möchten, lesen Sie zuerst rodbooks.com .