J'ai eu des expériences plutôt mauvaises avec GRUB2
. Je pourrais dire (et ai dit) des choses désagréables sur son processus de conception et de développement. Je n'aime pas particulièrement ses moyens de mise à jour: pour une raison quelconque, il doit mettre à jour semi-automatiquement plusieurs scripts - l'un indirectement via un autre dans une chaîne - pour chaque mise à jour du noyau - ou de nombreuses autres modifications de configuration mineures (et apparemment sans rapport) .
Ceci est directement contrasté par les expériences précédentes que j'ai eues LILO
- auxquelles je pense sérieusement revenir - car je n'ai jamais eu de problème avec cela, et sa configuration était assez simple. D'une part, si je me souviens bien, je n'avais qu'à mettre à jour (ou, plutôt, il n'a jamais été mis à jour) qu'un seul fichier texte de configuration géré simplement par mise à jour du noyau.
Alors, comment LILO fonctionne-t-il sur du matériel moderne avec les noyaux d'aujourd'hui? Comment fonctionne GRUB? Comment les autres chargeurs de démarrage? Dois-je remplir des conditions préalables, ou s'agit-il simplement d'écrire le fichier de configuration et d'exécuter la lilo
commande comme je m'en souviens avec émotion dans le passé? La mise à jour du paquet du noyau (Debian / Ubuntu) met-elle à jour LILO comme elle le fait avec GRUB2?
Réponses:
ELILO
Gestion des chargeurs de démarrage EFI pour Linux: utilisation d'ELILO
Il est vraiment difficile pour moi de décider quelle partie de cela copier / coller parce que tout est vraiment bon, alors je vous demanderai simplement de le lire.
Rod Smith
Créé et maintient à la fois
gdisk
etrEFInd
.Mais avant de le faire, je voudrais en parler un peu. Le lien ELILO ci-dessus est vers l'une des nombreuses pages sur le démarrage UEFI que vous trouverez sur rodsbooks.com écrite par Rod Smith. C'est un rédacteur technique accompli, et si vous avez déjà cherché sur le sujet du démarrage de l'UEFI et que vous n'avez pas lu quelque chose de lui, c'est probablement parce que vous avez ignoré les premiers résultats.
Démarrage UEFI Linux
Fondamentalement, le noyau Linux peut être directement exécuté par le firmware.
Dans le lien ci-dessus, il mentionne le chargeur de stub EFI du noyau Linux - c'est ce que vous devriez utiliser, à mon avis, car il permet au noyau linux d'être appelé directement par le firmware lui-même. Indépendamment de ce que vous faites, quelque chose est exécuté par le firmware - et il semble que ce soit quelque chose
grub
. Si le firmware peut charger directement votre noyau os, à quoi sert un chargeur de démarrage? Le micrologiciel UEFI monte une partition GPT au format FAT marquée esp par la table de partition et y exécute un chemin qu'il a enregistré en tant que variable de démarrage UEFI dans un module de mémoire flash intégré. Donc, une chose que vous pourriez faire est de placer le noyau Linux sur cette partition FAT et de stocker son chemin dans cette variable de démarrage. Soudain, le noyau est le sien chargeur de démarrage.Chargeurs de démarrage
Sur les systèmes UEFI, les chargeurs de démarrage sont redondants - ELILO inclus.
Le problème des chargeurs de démarrage a été conçu pour résoudre le problème: les systèmes BIOS ne lisent que le premier secteur de la partition marquée de démarrage et l'exécutent. Il est un peu difficile de faire quoi que ce soit de significatif avec un noyau de 512 octets, donc la chose courante à faire était d'écrire un petit utilitaire qui pourrait monter un système de fichiers où vous avez gardé le noyau réel et le charger en chaîne.
En fait, les 512 octets n'étaient souvent pas suffisants, même pour les chargeurs de démarrage.
grub
, par exemple, se charge lui-même en chaîne avant de charger votre noyau en chaîne, car il coince sa deuxième étape dans l'espace vide entre le secteur de démarrage et le premier secteur de votre système de fichiers. C'est une sorte de hack sale - mais cela a fonctionné.Bootmanagers
Dans un souci de configuration facile, certains intermédiaires peuvent être utiles.
Ce que fait rEFInd de Rod Smith, c'est le lancement en tant qu'application EFI - c'est un concept relativement nouveau. Il s'agit d'un programme qui est exécuté à partir du disque par - et qui revient au - firmware. Ce que rEFInd fait est de vous permettre de gérer les menus de démarrage, puis de retourner votre sélection de démarrage au micrologiciel pour l'exécuter. Il est livré avec des pilotes de système de fichiers UEFI - ainsi, par exemple, vous pouvez utiliser le chargeur EFI-stub du noyau sur une partition non FAT (telle que votre version actuelle
/boot
). Il est très simple à gérer - si une telle chose est nécessaire - et il ajoute la simplicité d'un noyau système exécutable à la commodité d'un gestionnaire de démarrage configurable.Indirection atomique
Le noyau n'a pas besoin de liens symboliques - c'est possible
mount --bind
.S'il y a un chemin sur votre
/
où vous devez désavouer un lien symbolique, il est/boot
. Un lien symbolique orphelin dans/boot
n'est pas le genre de problème que vous devriez avoir à résoudre. Pourtant, c'est une pratique assez courante pour configurer des indirections élaborées dans/boot
plusieurs distributions - même si c'est une idée horrible - afin de gérer les mises à jour du noyau sur place et / ou plusieurs configurations de noyau.C'est un problème pour les systèmes EFI non configurés pour charger les pilotes de système de fichiers (tels que ceux fournis avec le package rEFInd) car FAT est un système de fichiers assez stupide dans l'ensemble, et il ne les comprend pas.
Je n'utilise pas personnellement les pilotes de système de fichiers UEFI fournis avec rEFInd, bien que la plupart des distributions incluent un package rEFInd qui peut être installé via le gestionnaire de packages et oublié d'utiliser simplement leur horrible
/boot
configuration de lien symbolique et les pilotes de système de fichiers UEFI empaquetés de rEFInd.Ma config
J'ai écrit une fois un ensemble d'instructions dessus et je l'ai posté ici , mais ça ressemble à:
Je viens donc de mettre ces deux lignes dans mon
/etc/fstab
pointage vers un dossier dans lequel j'ai l'intention de contenir la nouvelle installation linux/boot
et j'ai presque fini de m'inquiéter pour le tout. Je dois aussi faire:En plus d'installer le
refind-efi
package viapacman
pour le premier, c'est tout ce qui est nécessaire pour installer autant d'installations / configurations distinctes que je le souhaite. Notez que la majorité de cette chaîne ci-dessus se compose d'options de montage spécifiques à btrfs spécifiées en tant que paramètres du noyau. Un plus typique/boot/refind_linux.conf
ressemblerait probablement à:Et c'est tout ce qu'il faut.
rodsbooks.com
Si vous voulez toujours ELILO, vous pouvez trouver les instructions d'installation sur le lien ci-dessus. Si vous voulez rEFInd, vous y trouverez des liens dans le premier paragraphe. Fondamentalement, si vous souhaitez effectuer une configuration de démarrage UEFI, lisez d' abord rodsbooks.com .
la source
J'utilise LILO au lieu de GRUB2. Pour être honnête, ce n'était pas mon choix - l'installation de GRUB2 a échoué dans le programme d'installation de Debian Live CD, mais c'était l'option d'installer LILO qui a réussi. J'ai un ordinateur portable de 2 ans exécutant Debian Stable. LILO fonctionne parfaitement pour moi.
la source
LILO est toujours utilisable, même avec les BIOS UEFI. UEFI peut charger le noyau Linux directement, généralement. Cela dépend cependant de l'UEFI lui-même.
Cependant, si vous avez besoin d'un écran de sélection de démarrage, par exemple si vous démarrez dans plusieurs systèmes d'exploitation sur une même machine, un petit chargeur de démarrage peut être pratique.
J'envisagerais plutôt d' utiliser EXTLINUX . C'est une variante de SYSLINUX, mais elle réside dans des
ext
partitions de type.La beauté d'EXTLINUX est que, bien qu'il soit plus extensible et comporte beaucoup plus d'options que LILO, il peut être tout aussi simple et activement maintenu.
la source
Je ne me souviens d'aucun équivalent de
update-grub
. Cependant, il existe un système plus ancien qui est toujours pris en charge dans Debian. (Il est utilisé pour le redémarrage sur mon serveur ARM).Le noyau le plus récent est lié à
/boot/vmlinuz
et initrd à/boot/initrd.img
. Il est mis à jour par le package du noyau. Le chargeur de démarrage pointe sur ces & déréférence le lien symbolique sur chaque démarrage.Il est donc possible que vous n'obteniez pas d'option de récupération. Dans tous les cas, ce ne sera pas l'option la plus testée, il est donc encore plus conseillé de garder un disque de démarrage fonctionnel :-).
Mise à jour: si votre objectif est autre chose que d'exécuter littéralement LILO sur un ordinateur moderne, il existe probablement de meilleures alternatives, comme décrit par les autres réponses ici :).
Ce qui précède n'a de sens que pour la version originale de LILO basée sur le BIOS. Le matériel moderne offre une compatibilité BIOS par-dessus EFI, si vous ne voulez pas un démarrage sécurisé ou un démarrage de Windows 8 à partir du même menu. Vous pouvez théoriquement faire fonctionner ELILO mais il ne prend pas en charge le démarrage sécurisé ou le chargement de Windows 8. ELILO n'a plus de sens en général, donc je suppose qu'il n'y a pas beaucoup de communauté derrière.
la source
/boot
sont une solution dégoûtante à tout problème.