03.11.2011

Загрузчик



  • Действительность творческого акта. Часть 16

  • НЕ загружается Windows

  • Ответ на вопрос: Как загрузчики определяют между собой какой из них будет использоваться?, особенно если присутствуют загрузчики от разных систем - от Linux и Windows, например.

    Порядок загрузки следующий:
    Шаг1) запускается то что в MBR.
    Шаг2) А всё - нету стандартного шага второго - смотря что там в MBR, то дальше и работает...

    В SUSE'ях щас по-умолчанию инстолятор делает такую схему:

    1. Например у нас на компьютере стоит Виндавс(для сложности картинки, да и для многих это описание действительности). Тогда у ней реализовано так: в MBR - dos'овский загрузчик, который смотрит какой раздел в таблице разделов помечен как bootable(или "активный" еще называют) и начинает грузить то что на этом разделе прописано загрузочном секторе(первые 512байт раздела). Там у Винды обычно(имхо, мне так долго кажется - но умных книг не читал, может у них там чего еще бывает) загрузчик ntloader (настройки, которого прописаны в C:\boot.ini).
    2. SUSE-инстолятор при установке, заменяет содержимое MBR таким же dos'ким загрузчиком как и описано выше (заменяет на всякий случай - мало ли вдруг там чего-то нето и ли вообще пусто).
    3. Дальше он метит раздел с Линухом как bootable. И ставит в загрузочный сектор этого раздела загрузчик(по умолчанию GRUB).
    4. В настройках GRUB'а прописывает как пункт запуска Линукса, так и пункт запуска загрузчика Виндавса(тот ntloader, который всё так же лежит в начале раздела Виндавс)

    Итого: порядок - как после всего этого запускается Винда:
    Вместо ранее:

    [MBR = dos-загрузчик] -> [1сектор Win-раздела = ntloader] -> [запуск Винды],
    теперь:
    [MBR = dos-загрузчик] -> [1сектор Linux-раздела = GRUB] -> [1сектор Win-раздела = ntloader] -> [запуск Винды]
    Ну а Linux:
    [MBR = dos-загрузчик] -> [1сектор Linux-раздела = GRUB] -> [запуск Linux: ядро, initrd и далее по обычной схеме]

    Еще раз - это описана схема по-умолчанию, то есть можно при установке сделать всё совсем по другому.
    Можно GRUB - ставить в MBR(я так обычно и делаю, так как не предпологаю сносить Linux(то есть и не удалятся настройки grub) и GRUB настраивеемее чем dos'кий загрузчик. ).
    Можно даже в виндузовый boot.ini добавить пункт запуска Linux и не перетерать MBR. Но по мне - опять же GRUB более настраиваемый чем ntloader.

    Если где про Винду обманул - поправьте







  • Действительность творческого акта. Часть 16

  • НЕ загружается Windows