LINUX.ORG.RU

История изменений

Исправление Vsevolod-linuxoid, (текущая версия) :

Да просто всё.

Смотри, первичная часть загрузчика GRUB2 пишется в MBR. Спойлер — там мало места, всего 512 байт, плюс обычно ещё 1 мебибайт перед первым разделом есть на вторую часть загрузчика.

При загрузке BIOS просто грузит в бинарном виде в оперативную память эту самую первую часть в 512 байт, она перехватывает управление и уже грузит в оперативную память оставшийся мебибайт загрузчика GRUB2. И уже этот загрузчик отображает меню вариантов и грузит выбранную ОС.

Но это все равно очень маленькая программа, многое туда не влезает. Поэтому чтобы сконфигурировать её нужно загрузить ОС, запустить там особые скрипты и бинарники (целую связку), которые рассчитают нужные настройки и запишут их в виде чистого кода в само тело GRUB2, что лежит в начале диска.

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

Так вот, чтобы настроить дуалбут в GRUB2 есть скрипт os-prober, что ищет иные ОС на подмонтированых в Linux разделах и прописывает их в меню. А так как на момент установки Linux у тебя раздел с Windows не был подмонтирован, то os-prober и не прописал в меню её.

Исправление Vsevolod-linuxoid, :

Да просто всё.

Смотри, первичная часть загрузчика GRUB2 пишется в MBR. Спойлер — там мало места, всего 512 байт, плюс обычно ещё 1 мебибайт перед первым разделом есть на вторую часть загрузчика.

При загрузке BIOS просто грузит в бинарном виде в оперативную память эту самую первую часть в 512 байт, она перехватывает управление и уже грузит в оперативную память оставшийся мебибайт загрузчика GRUB2. И уже этот загрузчик отображает меню вариантов и грузит выбранную ОС.

Но это все равно очень маленькая программа, многое туда не влезает. Поэтому чтобы сконфигурировать её нужно загрузить ОС, запустить там особые скрипты и бинарники (целую связку), которые рассчитают нужные настройки и запишут их в виде чистого кода в само тело GRUB2, что лежит в начале диска.

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

Так вот, чтобы настроить дуалбут в GRUB2 есть скрипт os-prober, что ищет иные ОС на подмонтированых в Linux разделах и прописывает их в меню.

Исходная версия Vsevolod-linuxoid, :

Да просто всё.

Смотри, первичная часть загрузчика GRUB2 пишется в MBR. Спойлер — там мало места, всего 512 байт, плюс обычно ещё 1 мебибайт перед первым разделом есть на вторую часть загрузчика.

При загрузке BIOS просто грузит в бинарном виде в оперативную память эту самую первую часть в 512 байт, она перехватывает управление и уже грузит в оперативную память оставшийся мебибайт загрузчика GRUB2. И уже этот загрузчик отображает меню вариантов и грузит выбранную ОС.

Но это все равно очень маленькая программа, многое туда не влезает. Поэтому чтобы сконфигурировать её нужно загрузить ОС, запустить там особые скрипты и бинарники (целую связку), которые рассчитают нужные настройки и запишут их в виде чистого кода в само тело GRUB2, что лежит в начале диска.

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