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
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP