web-dev-qa-db-fra.com

Quelle est la différence entre GRUB et SYSLINUX?

Cette question est liée à ma conclusion selon laquelle Ubuntu et ses dérivés utilisent à la fois SYSLINUX et GRUB chargeurs de démarrage sur des images ISO pour les versions Desktop .

Lors du démarrage à partir de image ISO 32 bits , on dit que SYSLINUX gère le processus de démarrage (le démarrage qui affiche un bel écran de démarrage, avec une animation de points de progression).

Mais lors du démarrage à partir de image ISO 64 bits , GRUB est utilisé à la place (écran noir et blanc, affichant clairement GNU GRUB version... en haut de l'écran).

Par conséquent, pour reformuler ma question, quelles sont les différences qui ont amené Ubuntu à utiliser GRUB et SYSLINUX sur ses images ISO? Pourquoi ne pas simplement utiliser l'un ou l'autre?

Pour clarification

Cette question a été quelque peu déroutante en raison de mon manque de clarification et de la disponibilité du matériel. J'ai ajouté cette réponse (ou faites défiler vers le bas) pour expliquer mieux sur une image ISO 64 bits.

Quelle réponse n'est pas

Le fil de commentaire ci-dessous a déjà donné une idée, mais je dois préciser ici. La réponse est pas car l’un ou l’autre prend en charge correctement EFI. Cette question visait à en savoir plus sur les raisons fondamentales, plutôt que sur le simple soutien de l'EFI.

Dites, si cela devait être demandé autrement, c'est-à-dire "Pourquoi à la fois GRUB et SYSLINUX sont-ils utilisés dans les images ISO?" alors cela pourrait donner une réponse du type "GRUB est inclus pour prendre en charge les systèmes compatibles EFI et SYSLINUX a toujours été inclus et fonctionne sur les systèmes uniquement BIOS" - ce qui est pas mon intention. .

Je dois admettre que le soutien de l'EFI fait probablement partie de la réponse.

Cependant, j'estime que cela ne devrait pas être la seule chose dans la réponse. Il ne doit pas y avoir que le support EFI, ce qui a permis à Ubuntu d'inclure deux chargeurs de démarrage dans leurs images ISO, oui? Ou bien est-ce vraiment le soutien EFI qui est la seule différence? Aidez-moi à répondre à cette question, le cas échéant.

9
clearkimura

Ceci est ma réponse finale, qui est basée sur les informations trouvées en comparant le mot clé dans plus de 2000 pages dans cette liste sur le wiki d'Ubunt . Ce que j’ai trouvé, c’est des notes datées du développement et des spécifications d’Ubuntu (lire: mots, mots, mots), c’est pourquoi j’ai mis du temps à arriver à cette réponse.

Ops, nom incorrect

Pour commencer, la désignation des chargeurs de démarrage doit être clarifiée:

  • Le nom avec toutes les lettres en majuscule fait référence au chargeur de démarrage (par exemple GRUB, SYSLINUX)

  • Le nom avec la lettre initiale en majuscule fait référence au nom du projet ou à plusieurs ou à toutes les variantes de la famille du chargeur de démarrage (par exemple, Syslinux).

  • En particulier, "Syslinux" est une collection de chargeurs de démarrage comprenant "SYSLINUX", "ISOLINUX", "EXTLINUX" et "PXELINUX".

Après la convention de dénomination , la question fait actuellement référence à "ISOLINUX" pour le chargeur de démarrage "El Torito no-emulation", et non "SYSLINUX". Peut-être que ce dernier est utilisé de manière interchangeable avec le premier jadis. Pas de soucis alors.

Bref historique

2005: ISOLINUX est choisi comme chargeur de démarrage de CD Ubuntu au lieu de GRUB.

GRUB a déjà été suggéré comme remplacement du chargeur d’amorçage, mais cette approche a été essayée dans le CD live de Warty où nous avons observé des régressions significatives de l’amorçage par rapport au CD d’installation utilisé par ISOLINUX. Nous estimons que s'en tenir aux solutions basées sur ISOLINUX est l'approche la plus appropriée pour une version prise en charge à long terme.

- de CdBootloader - Ubuntu Wiki

2006: gfxboot a été ajouté. Cela soutient les informations citées en 2010.

Dans Dapper, nous avons ajouté gfxboot à nos images de CD AMD64 et i386, fournissant un menu de démarrage graphique convivial comme la première chose que voient les utilisateurs lors du démarrage d'images de CD Ubuntu sur ces architectures [...]

- depuis PortableGfxboot - Ubuntu Wiki

2009: ISOLINUX (noté SYSLINUX) est toujours utilisé pour démarrer le CD Ubuntu.

Les Live CD Ubuntu démarrent toujours avec SYSLINUX, qui n'inclut pas la prise en charge du démarrage du noyau en mode graphique. Cela signifie que les CD live affichent un menu de démarrage graphique, puis reviennent en mode texte pour démarrer le noyau, puis reviendront normalement en mode graphique ultérieurement. En conséquence, les CD live scintillent actuellement plus que les systèmes installés normalement au moment du démarrage.

- from BootGraphicsArchitecture - Wiki Ubunt

2010: ISOLINUX a été utilisé, mais GRUB 2 est nécessaire pour la prise en charge de l'UEFI.

Les CD Ubuntu actuels utilisent ISOLINUX, avec les extensions gfxboot de SuSE mettant en œuvre des menus graphiques.

Cela s'est avéré assez difficile à maintenir, avec une seule personne à Ubuntu qui comprend le code de thématisation impliqué [...]

[Depuis] GRUB 2, le support des menus graphiques a été ajouté en amont, ce qui pourrait réduire notre charge de maintenance. Il semble probable que nous aurons de toute façon besoin d'utiliser GRUB 2 pour prendre en charge EFI, et il serait indésirable de configurer deux chargeurs de démarrage différents sur nos CD.

- de FoundationsTeam/Specs/MaverickCDBoot - Wiki Ubunt

Conformément au fondations-m-grub2-boot-framebuffer, nous devrons examiner notre capacité à prendre en charge les menus de démarrage graphiques dans EFI. GRUB prend en charge un certain niveau de support pour les graphiques UGA et GOP.

Cela nécessite l’utilisation de GRUB pour l’amorçage du CD, ou du moins le minimum de configuration nécessaire pour le prendre en charge [...]

- de FoundationsTeam/Specs/MaverickUefiSupport - Wiki Ubunt

Différences trouvées ou non

Après une brève histoire, nous comprenons maintenant que:

  • ISOLINUX a été préféré en raison de régressions effectuées par GRUB à l'époque (2005)

  • ISOLINUX était toujours préféré malgré le manque de support pour démarrer le noyau en mode graphique qui provoque un scintillement lors de la transition de démarrage (2009)

  • ISOLINUX a été utilisé avec gfxboot pour fournir un menu graphique, qui n'était ni implémenté ni possible avec GRUB à l'époque (2010).

  • GRUB a été ajouté plus tard pour démarrer avec le support UEFI depuis Maverick (après 2010)

Ensuite, j’ai réalisé que c’est pas la différence entre GRUB et SYSLINUX qui a permis à Ubuntu Live CD d’inclure deux chargeurs de démarrage.

Raisons fondamentales

D'après mes lectures, ces faits à l'appui ont en fait laissé entendre que:

  1. Ubuntu Live CD utilise un chargeur de démarrage particulier qui offre un meilleur support pour la fourniture de menus et de thèmes graphiques, ainsi qu'une transition en douceur pour afficher les éclaboussures de démarrage. Dans ce cas, SYSLINUX (précisément ISOLINUX).

  2. Lorsque les systèmes UEFI sont devenus de plus en plus courants, seul Ubuntu avait alors inclus GRUB (précisément GRUB 2) dans le live CD Ubuntu pour pouvoir démarrer avec le support UEFI.

Avant tout, je pense que cela répond à la question que je me posais depuis plus d’un an et que cette réponse a enfin apaisé ma curiosité.

TL; DR GRUB et ISOLINUX sont tous deux utilisés dans Ubuntu Live CD pour des raisons exclusives. Les deux ont été inclus dans le live CD pour une meilleure expérience de démarrage et un meilleur support matériel.

10
clearkimura

C’est ma réponse préliminaire, qui permet de mieux comprendre une partie de ma question mais qui ne répond toujours pas à la question elle-même.

Quelques clarifications ci-dessous:

  • Contrairement aux images ISO 32 bits, les images ISO 64 bits incluent à la fois les répertoires GRUB et SYSLINUX (ceci est confirmé par les répertoires /boot/grub et /isolinux se trouvent tous les deux dans l'image ISO).
  • GRUB s'affiche lorsque l'image ISO est démarrée sur un ordinateur compatible EFI.
  • SYSLINUX est affiché lorsque l'image ISO est démarrée sur une machine uniquement BIOS.
  • Plymouth gère l’animation de points de progression, indépendamment de l’affichage de GRUB ou de SYSLINUX (cela a été correctement indiqué par @muru dans le premier commentaire).

Différence d'expérience de démarrage

J'ai écrit "compatible EFI" car même ma machine avait implémenté EFI, j'avais désactivé la fonction de démarrage sécurisé [* 1] [* 2] dans l'ordre pour démarrer Ubuntu (Xubuntu 14.04 dans mon cas) à partir de Live USB.

[* 1] La version 64 bits de Xubuntu 14.04 est capable de démarrer lorsque le démarrage sécurisé est activé après , il a été installé sur le disque local (et non en mode Live USB).

[* 2] La version 64 bits de Xubuntu 16.04 peut démarrer lorsque le démarrage sécurisé est activé.

Méthode de clarification

Au lieu d'essayer avec un DVD physique et de démarrer à partir d'un lecteur optique externe, j'avais utilisé un logiciel de virtualisation (VirtualBox 4.3 dans mon cas) pour prouver les cas ci-dessus.

  • VirtualBox 4.3 a déjà une option pour basculer entre le système EFI et le système BIOS, qui peut être trouvé sous Machine > Paramètres > Système > Carte mère . Sous l'onglet, recherchez Fonctions étendues: [] Activez EFI (systèmes d'exploitation spéciaux uniquement) . Par défaut, il est décoché [* 3].

  • Une machine virtuelle doit être créée avec une version 64 bits de VirtualBox, exécutée sur un système hôte 64 bits. Une image ISO Xubuntu 14.04 64 bits est utilisée dans mes tentatives suivantes.

  • Première tentative: j'ai exécuté l'image ISO avec les paramètres par défaut (cela suppose un système BIOS). La machine virtuelle affichera un fond violet avec des icônes en bas. Ceci est SYSLINUX.

  • Deuxième tentative: j'ai fermé la machine et suis allé dans les paramètres, j'ai coché l'option [* 3] pour activer EFI. En utilisant la même image ISO, j'ai redémarré la machine virtuelle. Cette fois, il a fallu un certain temps pour que GNU GRUB version... apparaisse avec du texte monochrome. C'est GRUB.

  • Lors des deux tentatives, le processus de démarrage en cours affichera une animation de points de progression lors du démarrage.

  • Cette section de page sur Ubuntu Wiki a inclus des captures d’écran pour décrire les deux cas précédents.

Clause de non-responsabilité

Cette réponse est destinée à fournir des explications sur la différence d’expérience de démarrage et une méthode de clarification. Cependant, ceci est pas la réponse finale à ma question. La réponse finale sera postée séparément si je réussis à répondre moi-même à la question.

4
clearkimura