FreeLoader

Материал из Русский WINE
Перейти к: навигация, поиск

FreeLoader (Иногда FreeLdr) - это начальный загрузчик ReactOS. Он также может выполнять функции менеджера загрузки для нескольких операционных систем.

FreeLoader состоит из двух файлов, исполняемого (FREELDR.SYS) и конфигурационного файла в формате Windows INI (FREELDR.INI), и загрузочного сектора, предназначенного для загрузки файлов. Эти два файла скопированы в корневую директорию (:\ или / в зависимости от операционной системы) активного раздела.

Автоматическая установка FreeLoader программой установки ReactOS

Загрузочный код FreeLoader может быть установлен множеством способов, в зависимости от уже существующей операционной системы. Алгоритм программы установки пытается по порядку выполнить следующие шаги:

ОС Windows NT

Если на активном разделе обнаружен начальный загрузчик (NTLDR) операционных систем Windows NT, Windows 2000, Windows XP, Windows 2003, то существующий загрузчик конфигурируется для запуска ReactOS. Загрузочный код FreeLoader записывается в файл с именем BOOTSECT.ROS в корне активного раздела, и в BOOT.INI добавляется запись с именем "ReactOS", указывающая на BOOTSECT.ROS.

Обнаружение

Менеджер начальной загрузки NT обнаруживается по присутствию файлов NTLDR и BOOT.INI в корневой директории активного раздела. Если Windows настроена на скрытие системных файлов, то вы не сможете увидеть эти файлы.

Удаление FreeLoader

Чтобы удалить FreeLoader, удалите файл BOOTSECT.ROS а также запись "ReactOS" из скрытого файла BOOT.INI.

Не-Windows

Если на активном разделе не обнаружена ни одна из известных операционных систем, то оригинальный загрузочный сектор сохраняется в файл BOOTSECT.OLD в корневой директории активного раздела. Затем, в загрузочный сектор активного раздела записывается загрузочный код FreeLoader. FreeLoader становится основным менеджером загрузки. Имейте ввиду, что вы можете самостоятельно отредактировать конфигурационный файл FREELDR.INI для добавления возможности загрузки уже установленных операционных систем, так как FreeLoader не умеет этого делать.

Удаление FreeLoader

Чтобы удалить FreeLoader, восстановите загрузочный сектор активного раздела из файла BOOTSECT.OLD. Способ, которым это можно сделать, зависит от используемой вами операционной системы.

Примечание: Если на активном разделе используется файловая система FAT32, то загрузочный код не уместится на один сектор. Microsoft использует сектора с номерами 0 и 12, тогда как FreeLoader использует сектора с номерами 0 и 14, так что конфликтов с существующими начальными загрузчиками возникнуть не должно.

Установка FreeLoader вручную

Вы можете установить FreeLoader просто скопировав FREELDR.SYS и FREELDR.INI на раздел, который должен иметь поддержку чтения загрузчиком FreeLoader (а какой из них имеет, кроме FAT?).

Затем, вам необходимо, чтобы FREELDR.INI (корректно) загрузился в память и был выполнен:

  • Вы можете установить официальный загрузочный сектор FreeLoader на первый сектор этого раздела. Однако, будьте осторожны, поскольку вы можете повредить "superblock" файловой системы, который обычно располагается на первом секторе. Точнее, вы не можете просто скопировать загрузочный сектор FAT на первый сектор раздела FAT, поскольку при этом *будет* перезаписан блок параметров Bios (он называется FAT superblock). Существует несколько программ, которые могут это сделать, так что поищите их в Google.
  • Или вы можете пойти по простейшему пути. Правильно установите начальный загрузчик с поддержкой мультизагрузки (GRUB, к примеру), и настройте его на загрузку файла "FREELDR.SYS" как мультизагрузочного ядра (FreeLoader это поддерживает). Прочтите статью Загрузка FreeLoader из GRUB. Вы не сможете напрямую загрузить ntoskrnl.exe как ядро мультизагрузчика, так как для его работы необходима загрузочная информация, получаемая из реестра и другая специфическая информация, которая не поддерживается общим стандартом мультизагрузки.

После этого, разумеется, вам необходимо создать и отредактировать файл FREELDR.INI в соответствии с вашими потребностями.

См. также

ReactOS
Search.png
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP