Каково различие между GRUB и SYSLINUX?

Этот вопрос связан с моим нахождением, что Ubuntu и ее производная используют и SYSLINUX и загрузчики GRUB на ISO-образах для Настольных выпусков.

При начальной загрузке от 32-разрядного ISO-образа сказано, что SYSLINUX обрабатывает процесс начальной загрузки (начальная загрузка, которая показывает красивый экран-заставку с анимацией точки прогресса).

Но при начальной загрузке от 64-разрядного ISO-образа, GRUB используется вместо этого (черно-белый экран, ясно показывая GNU GRUB version... сверху экрана).

Следовательно, для перефразирования моего вопроса, каковы различия, которые сделали Ubuntu для использования GRUB и SYSLINUX на его ISO-образах? Почему не только используют любой вместо этого?

Для разъяснения

Этот вопрос так или иначе путал из-за моего отсутствия аппаратной доступности и разъяснения. Я добавил этот ответ (или прокрутите вниз) объяснить лучше на 64-разрядном ISO-образе.

Каков ответ не

Поток комментария ниже уже дал некоторое представление, но я должен ясно дать понять здесь. Ответ - то, не потому что любой поддерживает EFI правильно. Этот вопрос имел целью узнавать больше к фундаментальным причинам, а не просто поддержке EFI.

Скажите, если это нужно было спросить другим способом т.е., "Почему и GRUB и SYSLINUX используются в ISO-образах?" затем это могло бы дать ответ как, "GRUB включен для поддержки способных к EFI систем, и SYSLINUX всегда включался и работы над системами только для BIOS" - который не является моим намерением.

Я должен признать, что поддержка EFI является вероятной частью ответа.

Однако я чувствую, что это не должна быть единственная вещь в ответе. Должны быть больше, чем просто поддержка EFI, которая сделала Ubuntu для включения двух загрузчиков в их ISO-образы, да? Или, это - действительно поддержка EFI быть единственной разницей? Помогите мне ответить на это, если таковые имеются.

11
задан 13 April 2017 в 05:24

2 ответа

Это - мой окончательный ответ, который основан на информации, найденной путем соответствия ключевому слову в течение 2000 + страницы в этот список на Ubuntu Wiki. Что я нашел, были датированы примечаниями разработки Ubuntu и спецификаций (чтение: слова, слова, слова), так, чтобы взял меня некоторое время для достижения этого ответа.

операция в секунду, неправильно называя

Для начала, именование загрузчиков должно быть разъяснено:

  • Имя со всеми использованными для своей выгоды буквами обращается к загрузчику (например, GRUB, SYSLINUX)

  • , Имя с использованной для своей выгоды первой буквой относится к названию проекта или, несколько или все варианты семейства загрузчиков (например, Syslinux)

  • , В частности, 'Syslinux' является набором загрузчиков, который включает 'SYSLINUX', 'ISOLINUX', 'EXTLINUX' и 'PXELINUX'

После соглашение о присвоении имен , вопрос на самом деле отсылает к "ISOLINUX" для "El Torito" загрузчик без эмуляций, не "SYSLINUX". Возможно, последний используется наравне с первым в былые времена. Nevermind, затем.

Краткая история

2005: ISOLINUX выбран для Ubuntu загрузчик CD вместо GRUB.

GRUB был предложен прежде в качестве возможного заменяющего загрузчика, но этот подход попробовали в живом CD С бородавками, где мы заметили, что значительные регрессии в bootability по сравнению с ISOLINUX-использованием устанавливают CD. Мы чувствуем, что придерживаться решений на основе ISOLINUX является самым соответствующим подходом для поддерживаемого длительным сроком выпуска.

- от CdBootloader - Ubuntu Wiki

2006: gfxboot был добавлен; Это поддерживает информацию, заключенную в кавычки в 2010.

В Щеголеватом, мы добавили gfxboot к нашему amd64 и i386 образам CD, предоставив дружественное меню графической загрузки как первую вещь, которую пользователи видят при начальной загрузке образов CD Ubuntu на той архитектуре [...]

- от PortableGfxboot - Ubuntu Wiki

2009: ISOLINUX (отмеченный как SYSLINUX) все еще используется для начальной загрузки Ubuntu CD.

Ubuntu живые CD все еще загружают использование SYSLINUX, который не включает поддержку запуска ядра в графическом режиме. Это означает, что живые CD отображают меню графической загрузки, затем переключаются назад на текстовый режим для запуска ядра и затем обычно переключатся назад на графический режим позже. В результате живые CD будут в настоящее время мерцать больше, чем нормальные установленные системы во время начальной загрузки.

- от BootGraphicsArchitecture - Ubuntu Wiki

2010: ISOLINUX использовался, но GRUB 2 необходим для поддержки UEFI.

Текущие CD Ubuntu используют ISOLINUX с gfxboot расширениями из SuSE, реализовывая графические меню.

Это, оказалось, было довольно трудно поддержать только с одним человеком в Ubuntu, который понимает код theming, включенный [...]

[Так как] GRUB 2 недавно имел графическую поддержку меню, добавленную к нему в восходящем направлении, перемещение в это имеет потенциал для сокращения нашей загрузки обслуживания. Кажется вероятным, что мы должны будем использовать GRUB 2 так или иначе для поддержки EFI, и имеющий необходимость настроить два различных загрузчика на наших CD был бы нежелательный.

- от FoundationsTeam/Specs/MaverickCDBoot - Ubuntu Wiki

В соответствии с foundations-m-grub2-boot-framebuffer, мы должны будем изучить нашу способность поддерживать меню графической загрузки в EFI. GRUB имеет некоторый уровень поддержки графики GOP и UGA.

Это требует, чтобы использование GRUB для начальной загрузки CD или по крайней мере наличия абсолютного минимума конфигурации поддерживало его [...]

- от FoundationsTeam/Specs/MaverickUefiSupport - найденные различия Ubuntu Wiki

или не

После краткой истории, мы теперь понимаем что:

  • ISOLINUX был предпочтен из-за GRUB, имел регрессии тогда (2005)

  • , ISOLINUX был все еще предпочтен несмотря на отсутствие поддержки запуска ядра в графическом режиме, которые вызывают мерцание во время перехода начальной загрузки (2009)

  • , ISOLINUX использовался с gfxboot для обеспечения графического меню, которое не было реализовано или не возможное с GRUB тогда (2010)

  • , GRUB был добавлен позже для начальной загрузки с поддержкой UEFI начиная с Индивидуалиста (после 2010)

Затем я понял, что это не различие между GRUB и SYSLINUX, который сделал Ubuntu, живой CD включает два загрузчика.

Фундаментальные причины

От моего чтения, эти факты поддержки на самом деле подсказали что:

  1. Ubuntu живой CD использовал конкретный загрузчик, который должен поддерживать для обеспечения графического меню и темы и плавного перехода для показа всплеска начальной загрузки. В этом случае, SYSLINUX (точно ISOLINUX).

  2. , Когда системы UEFI все больше были распространены, затем только, Ubuntu включала GRUB (точно GRUB 2) в Ubuntu живой CD для начальной загрузки с поддержкой UEFI.

, Прежде всего, я полагаю, что это отвечает на вопрос, который я имел больше года, и этот ответ наконец поместил мое любопытство для отдыха.

TL; DR GRUB и ISOLINUX оба используются в Ubuntu живой CD по эксклюзивным причинам; Оба были включены в живой CD для лучшего опыта начальной загрузки и поддержки оборудования.

11
ответ дан 23 November 2019 в 04:01

Это - мой предварительный ответ, который заставляет некоторую часть моего вопроса быть понятой лучше, но все еще не отвечает на сам вопрос.

Некоторые разъяснения ниже:

  • В отличие от 32-разрядного ISO-образа, 64-разрядный ISO-образ на самом деле включает и GRUB и SYSLINUX (это подтверждено /boot/grub и /isolinux каталоги оба найдены в ISO-образе),
  • GRUB показывают, когда ISO-образ загружается на способной к EFI машине.
  • SYSLINUX показывают, когда ISO-образ загружается на машине только для BIOS.
  • Плимут обрабатывает анимацию точки прогресса, независимо от GRUB, или SYSLINUX показывают (этому правильно подсказал @muru в первом комментарии),

Несоответствие опыта начальной загрузки

Я записал "способный к EFI", потому что даже моя машина реализовала EFI, я выключил функцию Secure Boot [*1] [*2] для начальной загрузки Ubuntu (Xubuntu 14.04 в моем случае) от Живого USB.

[*1] 64-разрядный выпуск Xubuntu 14.04 может загрузиться, в то время как Защищенная загрузка включена, после того, как это было установлено на локальном диске (не Живой USB).

[*2] 64-разрядный выпуск Xubuntu 16.04 может загрузиться, в то время как Защищенная загрузка включена.

Метод разъяснения

Вместо того, чтобы пробовать физическими медиа DVD и начальной загрузкой от внешнего оптического диска, я использовал программное обеспечение виртуализации (VirtualBox 4.3 в моем случае) вместо этого для доказательства выше случаев.

  • VirtualBox 4.3 уже имеет опцию переключиться между EFI и системой BIOS, может быть найден на Машине> Настройки> Система> Материнская плата. Под вкладкой ищите Расширенные функции: [] Включают EFI (только специальные Ose). По умолчанию это неконтролируемо [*3].

  • Виртуальная машина должна быть создана с помощью 64-разрядной версии VirtualBox, работая на 64-разрядной хост-системе. Xubuntu 14.04 64-разрядный ISO-образ используется в моем после попыток.

  • Первая попытка: Я выполнил ISO-образ с настройками по умолчанию (это принимает систему BIOS). Виртуальная машина покажет фиолетовый фон со значками в основе. Это - SYSLINUX.

  • Вторая попытка: Я закрыл машину и перешел к настройкам, проверил опцию [*3] включить EFI. Используя тот же ISO-образ, я запустил виртуальную машину снова. На этот раз это заняло время, пока это не показывает GNU GRUB version... с монохромным текстом. Это - GRUB.

  • В обеих попытках продолжающийся процесс начальной загрузки покажет анимацию точки прогресса при начальной загрузке.

  • Этот раздел страницы на Ubuntu Wiki включал снимки экрана для описания этих двух случаев выше.

Отказ от ответственности

Этот ответ предназначается для давания объяснений несоответствия опыта начальной загрузки и метода разъяснения. Однако это не окончательный ответ к моему вопросу. Окончательный ответ будет отправлен отдельно, если мне удалось самоответить на вопрос.

4
ответ дан 23 November 2019 в 04:01

Другие вопросы по тегам:

Похожие вопросы: