непонятные моменты в исходниках GRUB

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Amouse
Сообщения: 59

непонятные моменты в исходниках GRUB

Сообщение Amouse »

Может кто копался в его исходниках...

GRUB загружается примерно так:
запускается stage1, находящийся в MBR (или в загрузочном секторе партиции),
stage1 запускает stage1.5 (если тот был установлен), находящийся в секторах следующих за загрузочным,
stage1.5 (или stage1, если 1.5 не установлен) загружает stage2, находящийся где-угодно в boot-партиции.

точка в коде (и бинарнике) stage1, где размещается адрес stage2 на диске, найти было не сложно, всего 512байт.
Но остались некоторые непонятки с stage1.5 и stage2:
- в stage2 вроде бы тоже есть точки, в которые прописывается немного измененный адрес stage2 на диске, какие там должны быть значения? не нашел ответа.
- если установлен stage1.5, адрес stage2 должен быть где-то прописан?
- как вообще узнать, есть ли stage1.5 не запуская системы с этого диска?
Спасибо сказали:
Аватара пользователя
fatboy
Сообщения: 156
ОС: Zenwalk Linux, Windows XP

Re: непонятные моменты в исходниках GRUB

Сообщение fatboy »

Amouse писал(а):
28.07.2006 20:17
1- в stage2 вроде бы тоже есть точки, в которые прописывается немного измененный адрес stage2 на диске, какие там должны быть значения? не нашел ответа.
2- если установлен stage1.5, адрес stage2 должен быть где-то прописан?
3- как вообще узнать, есть ли stage1.5 не запуская системы с этого диска?

Вопросы для ясности пронумеровал сам.

Скажу сразу - в исходниках именно GRUB я никогда не рылся.
Все что будет написано будет лтшь предположениями.

Теперь по сути:
1. Если адрес "немного изменен" то может это и не stage2 адрес вообще?
2. Возможно. А если 1.5 не установлен? Тогда адрес stage2 будет, скорее всего в stage1. Возможно stage1.5 берет его именно оттуда.
3. Наверное посмотреть те самые байты "находящиеся в секторах, следующих за загрузочным".
Zenwalk 4.0
TOSHIBA Satellite A100
Спасибо сказали:
Amouse
Сообщения: 59

Re: непонятные моменты в исходниках GRUB

Сообщение Amouse »

fatboy писал(а):
01.08.2006 03:28
1. Если адрес "немного изменен" то может это и не stage2 адрес вообще?
2. Возможно. А если 1.5 не установлен? Тогда адрес stage2 будет, скорее всего в stage1. Возможно stage1.5 берет его именно оттуда.
3. Наверное посмотреть те самые байты "находящиеся в секторах, следующих за загрузочным".


1. Там отличие в 10-20 байт, и похоже постоянное (относительно адреса stage2).
3. Далеко не факт, что если там записан stage1.5, то он обязательно используется при загрузке.
Спасибо сказали: