| Dr.Spectre писал(а) чт, 20 октября 2005 20:10 |
|
| Цитата: |
|
А давайте переедем во Флейм и Вы объясните, почему это недостаток?
|
а давайте вы сначала прочитаете что вы сказали
|
Прочитал. И что Вам здесь не нравится? White Mouse, например, все понял правильно
| Цитата: |
|
| Цитата: |
|
(или ЛИЛО на худой конец)
|
и надеюсь поймете что мои слова были всего лишь повторением ваших за исключением одного слова.
|
Речь-то не о том шла, что там для кого является последним выходом, а о том, что к ГРУБу НЕ НУЖНО применять тот же подход, что к АСПЛодеру или ЛИЛО. Я не придираюсь к словам, я говорю о сути!
2 White Mouse
Вы правы, привязка к разделам - это минус. Впрочем, ГРУБ может работать и без нее, но - без конфига
Чтоб мы не говорили на разных языках, попробую несколько углубиться в принцип работы ЛИЛО и ГРУБа.
Простейший случай - записываем загрузчик в MBR.
- ЛИЛО
При запуске lilo читает конфиг, формирует исполняемый код и помещает его в MSB. При этом в процессе загрузки загрузчик оперирует фиксированными адресами, поэтому для корректной его работы необходимо, чтобы все используемые объекты - цепные загрузчики других ОС, ядра и пр. лежали на тех же местах - имели тот же физический адрес. Сами разделы (базовые адреса, ФС) также не должны изменяться, если это затрагивает местоположение объектов. Статические загрузчики с фиксированными адресами объектов - это быстро и экономно. Но негибко.
- ГРУБ
При записи в MSB помещается код (stage1), в котором содержится один фиксированный адрес - адрес т.н. stage2. Понятно, что в 442 байта, отведенные под загрузочную запись в MBR, поместятся только статические загрузчики, тут уж ничего не поделаешь. В ГРУБ stage1 всего лишь загружает stage2, который уже можно поместить в память и получить код достаточного размера, чтобы там поместилась поддержка ФС, на которых лежат необходимые объекты, и шелла с довольно серьезным набором команд, необходимых для решения возможных проблем с загрузкой (кстати, когда возникали проблемы, ГРУБ меня часто выручал в тех случаях, в которых, когда у меня был ЛИЛО, приходилось грузиться с болванки, чтобы попасть в свою систему). Поскольку не должно меняться местонахождение только одного файла - stage2, с остальными может происходить что угодно. Можно в командном режиме указать, с какого раздела что грузить. Очень хорошо такая система работает, когда /boot вынесен на отдельный раздел, причем не подвержен возможным проблемам с ФС (например, не монтируется или монтируется в RO). Тогда возможные проблемы с корнем никак не повлияют на возможность загрузки.
ЗЫ: Кстати, теоретически, подменив адрес stage2 адресом другого объекта (ядра, например), можно имитировать статический загрузчик типа ЛИЛО (правда, все равно без конфига и менюшек)
А какова мораль? Всему свое место. Несколько загрузчиков могут вполне спокойно жить на одном устройстве, выполняя каждый свою функцию. Но если речь идет о загрузке конкретно Линуха, в стандартной ситуации, лично я предпочту ГРУБ. Хотя это дело вкуса