В последнее время я играю с Debian, так как мне показалось, что это самый логичный шаг после начала моего путешествия по Linux с Ubuntu (мне действительно не нравится Unity, и установка GNOME вместе с тем беспокоит меня, так как я не могу удалить Единство полностью, не путая большую часть остающейся функции рабочего стола.) Одна вещь, которая всегда мучала меня во время установки, это возможность установки GRUB.

Мне кажется, что в этом нет необходимости, и нужно просто загружаться прямо в ядро, как это делают Ubuntu и Windows, вместо того, чтобы выбирать один из них, и мой выбор всегда одинаков - вариант по умолчанию.

Во время установки текст, объясняющий эту опцию, говорит что-то вроде: "Нам нужно сделать Debian загрузочным" - что является основной причиной моего колебания выбора "нет". Я, конечно, хочу, чтобы он загрузился! Я мог бы потратить время и посмотреть, что произойдет, если я выберу "нет", но я думаю, что было бы целесообразно сначала спросить всех вас.

Безопасно ли выбирать "нет" для установки GRUB? Будет ли Debian загружаться, если он не установлен? Если безопасно выбрать "нет", есть ли недостатки этой опции?

2 ответа2

1

Эммм ... Как мне это выразить? Debian - это дистрибутив linux, работающий на компьютере, но чтобы привести его в состояние, в котором он может начать работать, требуется загрузчик. Дистрибутив в основном работает на GRUB или любом другом загрузчике, пока не будет готов к запуску. Вы можете использовать syslinux в качестве альтернативы GRUB.

0

Чтобы расширить принятый ответ ...

Когда компьютер x86 запускается, его ЦП работает в 16-битном реальном режиме и выполняет код, сохраненный в BIOS. После того, как BIOS выполнит POST и начальную настройку, он считывает первые 512 байт с начала загрузочного диска и передает туда выполнение - это исходный код загрузчика, который должен делать все остальное.

Теперь посмотрим, что отдыхает. В простейшем случае загрузчик должен быть в состоянии найти и загрузить образ ядра и передать туда выполнение. Более старый де-факто стандартный загрузчик Linux, lilo , хранил непрерывную карту всех секторов, в которых хранилось ядро. Но с тех пор картина немного изменилась: стало больше файловых систем, стало привычным хранить ядро на RAID-устройстве, на логическом диске LVM или в стеке всего этого. На компьютерах появилось больше подключаемых дисков, что означает произвольный порядок их инициализации и, следовательно, проблемы с именами. Теперь учтите, что в наши дни для создания универсальной системы на базе Linux требуются некоторые ранее доступные инструменты пользовательского пространства , которые хранятся в так называемых "initrd" (исходный RAM-диск) или "initramfs" (исходная файловая система RAM), так что фактически загрузчик загружает не только ядро Linux, но и соответствующие initramfs для него.

Итак, задача загрузчика:

  1. Сам Bootstrap - эти 512 байтов могут только разумно найти и загрузить что-то более сложное.
  2. Найдите и инициализируйте все слои, необходимые для доступа к загрузочной файловой системе (файловой системе, содержащей ядро и его initramfs).
  3. Загрузите все это и затем передайте управление ядру.

Теперь учтите, что большинству людей полезно иметь возможность каким-то образом визуализировать и контролировать этот процесс, поэтому существует требование, чтобы загрузчик имел возможность представлять своего рода меню и возможность настраивать то, что будет загружено, и каким образом. Возможность загрузить альтернативное ядро также может быть бонусом (например, новое ядро, установленное из репозитория обновлений безопасности Debian, никогда не удаляет существующее ядро - скорее, оно остается в стороне и доступно для загрузки, если обнаружена регрессия). в новом).

Итак, как можно видеть, если мы не имеем дело с какой-то встроенной системой с очень жесткими требованиями к памяти / пространству хранения и в которой никто не контролирует загрузку ядра, неразумно помещать эту функциональность прямо в ядро, тем более , поскольку загрузчик является неотъемлемой частью программного обеспечения, зависящего от аппаратной платформы. Вот почему существует загрузчик и почему в общей системе необходимость его использования в основном неизбежна.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .