Ich habe mit ein paar ziemlich schlechte Erfahrungen gemacht GRUB2
. Ich könnte einige üble Dinge über den Design- und Entwicklungsprozess sagen (und gesagt haben) . Ich mag besonders die Art der Aktualisierung nicht: Aus irgendeinem Grund muss es bei jeder Kernelaktualisierung - oder bei vielen anderen geringfügigen (und scheinbar nicht zusammenhängenden) Konfigurationsänderungen - mehrere Skripte halbautomatisch aktualisieren - eine indirekt über eine andere in einer Kette .
Dies steht in direktem Gegensatz zu früheren Erfahrungen, mit LILO
denen ich ernsthaft darüber nachdenke, zurückzukehren, da ich nie Probleme damit hatte und die Konfiguration ziemlich einfach war. Zum einen musste ich, wie ich mich erinnere, nur eine einzige, einfach zu verwaltende Konfigurationstextdatei pro Kernel-Update aktualisieren (oder vielmehr immer aktualisieren) .
Wie funktioniert LILO auf moderner Hardware mit heutigen Kerneln? Wie geht GRUB? Wie machen andere Bootloader? Muss ich irgendwelche Voraussetzungen erfüllen, oder geht es nur darum, die Konfigurationsdatei zu schreiben und den lilo
Befehl auszuführen, an den ich mich früher gern erinnere? Aktualisiert das Kernelpaket-Update (Debian / Ubuntu) LILO wie GRUB2?
Antworten:
ELILO
Verwalten von EFI-Bootloadern für Linux: Verwenden von 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 auchrEFInd
.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:
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:Abgesehen von der Installation des
refind-efi
Pakets überpacman
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: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 .
quelle
Ich benutze LILO anstelle von GRUB2. Um ehrlich zu sein, war es nicht meine Wahl - die GRUB2-Installation schlug im Debian Live CD-Installer fehl, aber dann war die Option, LILO zu installieren, erfolgreich. Ich habe einen 2 Jahre alten Laptop, auf dem Debian Stable läuft. LILO arbeitet einwandfrei für mich.
quelle
LILO ist auch mit UEFI-BIOS noch verwendbar. UEFI kann den Linux-Kernel normalerweise direkt laden. Dies hängt jedoch von der UEFI selbst ab.
Wenn Sie jedoch einen Startauswahlbildschirm benötigen, z. B. wenn Sie mehrere Betriebssysteme auf einem Computer starten, ist ein kleiner Bootloader möglicherweise hilfreich.
Ich würde jedoch überlegen, stattdessen EXTLINUX zu verwenden. Es ist eine Variante von SYSLINUX, befindet sich jedoch in
ext
Partitionen vom Typ.Das Schöne an EXTLINUX ist, dass es zwar erweiterbarer ist und viel mehr Optionen bietet als LILO, aber genauso einfach und aktiv gewartet werden kann.
quelle
Ich erinnere mich an kein Äquivalent von
update-grub
. Es gibt jedoch ein älteres System, das immer noch in Debian unterstützt wird. (Es wird für Uboot auf meinem ARM-Server verwendet).Der neueste Kernel ist mit sym-
/boot/vmlinuz
und initrd verbunden/boot/initrd.img
. Es wird vom Kernel-Paket aktualisiert. Der Bootloader zeigt auf die Links, auf die bei jedem Bootvorgang verwiesen wird.Daher erhalten Sie möglicherweise keine Wiederherstellungsoption. In jedem Fall wird dies nicht die am häufigsten getestete Option sein, weshalb es noch empfehlenswerter ist, eine funktionierende Bootdiskette bei sich zu haben :-).
Update: Wenn es Ihr Ziel ist, LILO nicht nur auf einem modernen Computer auszuführen, gibt es wahrscheinlich bessere Alternativen, wie in den anderen Antworten hier beschrieben :).
Das oben Gesagte ist nur für die ursprüngliche BIOS-basierte Version von LILO sinnvoll. Moderne Hardware bietet neben EFI auch BIOS-Kompatibilität, wenn Sie nicht über dasselbe Menü sicher booten oder Windows 8 booten möchten. Sie könnten ELILO theoretisch zum Laufen bringen, aber es unterstützt kein sicheres Booten oder Laden von Windows 8. ELILO macht im Allgemeinen keinen Sinn mehr, daher schätze ich, dass nicht viel von einer Community dahinter steckt.
quelle
/boot
sind eine schmutzige Lösung für jedes Problem.