Какие файлы отвечают за загрузку windows xp. Восстановление загрузчика Windows XP. Общие сведения об ошибке

Иногда случается, что загрузчик Windows может полностью перестать функционировать. Несмотря на причину этого неприятного события, будьте уверены, что восстановление загрузчика Windows XP - задача выполнимая.

Сейчас, когда XP начинает уходить в историю, существует не мало программ, очень замечательных и полезных, работающих только под XP. Вот почему она и вопрос её восстановления не продолжают терять актуальность, возводя эту операционку в статус «классики».

Вариант 1: Восстановление записи другой ОС

Описание задачи

Рассмотрим первый вариант проблемы, для случая, если загрузчик пострадал по причине неправильной установки на системный диск другой операционной системы.

Такая ситуация на сегодня максимально вероятная, так как основной операционкой, конечно же, является более современная версия: Windows 7, 8 или 10.

Если у вас было установлено 2 операционки: например, одна на системном диске «C:\», а другая - на «D:\», «E:\» или другом диске. В случае неправильной переустановки системы на диск C вы можете обнаружить, что у вас теперь запускается только одна Windows и в процессе запуска никаких предложений запустить другую ОС компьютер не появляется.

Решение зависит от ситуации. Для описанного случая наиболее простым и эффективным методом восстановления является метод восстановления с помощью программы EasyBCD.

Почему именно EasyBCD

  1. На момент написания этой статьи, программа является бесплатной и может быть скачана с официального сайта разработчика.
  2. Интерфейс EasyBCD очень простой и интуитивный. Потребуется немного слов, чтобы описать как она работает.
  3. У вас есть работающая ОС на системном диске, и выполнять различные шаманские действия, перезагрузившись в командную строку, кажется не рациональным.
  4. Для восстановления с помощью EasyBCD не нужно помнить пароль «Администратора» ОС, который, как правило, многие не помнят.
  5. Программа поддерживает все самые последние версии ОС.

Алгоритм действий

Стоит отметить, что у программы EasyBCD существует и множество других возможностей, в частности, способность восстанавливать загрузчики других версий Windows и операционных систем: Linux, Mac и других.

Вариант 2: Восстановление записи единственной ОС

Продолжим рассмотрение вопроса для случая, когда пострадал загрузчик единственной операционной системы XP на системном диске.

Имейте в виду, что если причина - повреждение жесткого диска или воздействие вируса, то необходимо предпринять все необходимые действия для устранения этой причины.

Алгоритм действий


Вот и всё. Надеемся, что эта информация оказалась для вас полезной и у вас всё получилось.

Видео по теме

Загрузка Windows XP – это сложный и многоэтапный процесс, начинающийся с момента включения компьютера и заканчивающаяся уже после появления на экране рабочего стола. За эти несколько минут выполняется множество скрытых от глаз пользователя операций, каждая из которых длится от долей секунды до нескольких секунд. Сам процесс старта системы можно сравнить с эстафетой, где каждый из участников проходит свою часть пути и решает свои, строго определенные задачи, после чего передает “эстафетную палочку” дальше. Если хотя бы один компонент-участник выпадает из этой цепочки, процесс загрузки останавливается, и на экране, как правило, отображается сообщение об ошибке.

Чтобы иметь представление о том, как проходит загрузка Windows XP, кратко разберем ее последовательность. Досистемные этапы включения компьютера (самотестирование, инициализацию и начало выполнения кода BIOS и т. д.) рассматривать не будем, а за начало старта системы условно примем момент считывания программой BIOS первого сектора жесткого диска, где находится главная загрузочная запись – MBR, содержащая загрузочный код и таблицу разделов (логических дисков). Итак:

  • BIOS считывает код MBR (Master Boot Code) и передает ему управление.
  • Загрузочный код MBR проверяет таблицу разделов и находит раздел, помеченный как активный, считывает его первый (загрузочный) сектор (Boot Sector) и передает управление записанному туда коду.
  • Код загрузочного сектора передает управление загрузчику Windows NT – файлу NTLDR (NT Loader), который находится в корневом каталоге диска, куда установлена операционная система.
  • Загрузчик Windows переводит процессор в 32-разрядный безопасный режим работы, проверяет наличие файла hiberfil.sys (образ спящего режима) и если находит, загружает его. Если такого образа нет, NTLDR считывает файл конфигурации загрузки Boot.INI. Если в этом файле перечислено более одной операционной системы, на экран выводится меню, чтобы пользователь самостоятельно выбрал, какую систему загружать.

  • При нажатии пользователем клавиши F8 перед стартом системы, NTLDR открывает меню дополнительных вариантов загрузки:

  • Далее загружается программа ntdetect.com для определения конфигурации аппаратных устройств компьютера.
  • Вслед за этим загружается ядро Windows XP (файл ntoskrnl.exe) и библиотека Hal.dll (Hardware Abstraction Layer), задача которой – скрыть различия в оборудовании компьютера от кода ядра.
  • После этого загрузчик NTLDR загружает драйвера, помеченные как загрузочные, и передает управление ядру (ntoskrnl.exe).
  • HAL инициализирует оборудование и подготавливает контроллер прерываний.
  • Далее включается в работу система ввода-вывода и загружаются остальные драйвера, которым назначен тип запуска “авто”.
  • Ядро загружает подсистему управления сеансами Windows – файл Smss.exe, который создает пользовательское окружение и продолжает загрузку – запускает графическую подсистему (драйвер win32k.sys), клиентсерверную подсистему (Csrss.exe) и программу входа пользователя (Winlogon.exe и Lsass.exe).
  • После логина пользователя запускается Userinit.exe, запускающий оболочку системы (проводник Explorer.exe) и сетевые подключения. На экране, тем временем, появляется рабочий стол.

Почему Windows XP не загружается?

Причиной, по которой Windows XP не загружается, может быть любой сбой в “эстафете” процесса загрузки, например, отсутствие или повреждение одного или нескольких компонентов. Это может быть загрузочный код в первом разделе жесткого диска или активного раздела, сам загрузчик NTLDR, файлы, ответственные за запуск Windows, а также системный реестр, где содержится информация о том, что и в какой последовательности запускать.

К нарушению загрузки чаще всего приводит:

  • неквалифицированная установка нескольких операционных систем на жесткий диск, когда вместо создания конфигурации с двойной загрузкой, загрузочный код позже установленной системы затирает код ранее установленной;
  • вирусное заражение, преимущественно – блокираторы-вымогатели, которые могут модифицировать параметры запуска важных для загрузки файлов в системном реестре, сами файлы и загрузочные сектора на диске.
  • дефекты поверхности жесткого диска, приводящие к повреждениям и потере данных на нем;
  • перебои в электропитании компьютера во время операций чтения записи файлов, ответственных за загрузку (если во время запуска или завершения работы Windows произошло неожиданное выключение, вероятность того, что система больше не загрузится, довольно существенна).

Восстановление загрузки Windows XP

Чтобы выяснить, почему система не загружается, важно определить, на каком этапе ее загрузки происходит сбой. Проблемы на самых ранних этапах старта по внешним признакам будут отличаться от проблем с загрузочными файлами, ответственными за вход в систему. Разберемся, как диагностировать типичные сбои загрузки Windows и как с ними бороться.

Повреждение MBR (главной загрузочной записи)

Проявляется тем, что загрузка компьютера прерывается сразу же после старта – после вывода на монитор сведений о производителе компьютера экран остается черным. Иногда выводится сообщение об ошибке, например:

  • Invalid Partition Table – повреждение таблицы разделов;
  • Missing Operating System – не найдена операционная система;
  • Error Loading Operating System – ошибка загрузки операционной системы.

Решение

  • Загрузите с установочного диска с дистрибутивом Windows XP консоль восстановления (Recovery Console): поместите в привод установочный диск, сконфигурируйте BIOS для загрузки с CDDVD и запустите программу установки.
  • После появления на экране текста “Вас приветствует программа установки”, нажмите клавишу “R” (восстановление).

  • Запустится консоль восстановления. На экране будет отображен список установленных на компьютере копий Windows XP и вам будет предложено указать, в какую из них выполнить вход.

  • Далее введите пароль администратора (если есть). Если его нет, просто нажмите Enter, а следом – команду перезаписи загрузочного кода MBR: fixmbr , нажмите Enter и Exit для выхода из консоли и перезагрузки компьютера.

Эта команда восстанавливает только загрузчик MBR (boot code), а таблицу разделов, к сожалению, нет. Восстановление таблицы разделов требует использования сторонних утилит, например, TestDisk – одного из бесплатных и доступных для понимания инструментов.

Повреждение загрузочного сектора

По симптомам похоже на повреждение MBR, но при этом система может выдавать следующие ошибки:

  • А disk read error occurred – ошибки чтения диска;
  • NTLDR is compressed – загрузчик NTLDR заархивирован (сжат);
  • NTLDR is missing – загрузчик не найден.

Решение

  • Загрузите консоль восстановления и выполните вход в нужную вам копию Windows XP;
  • Введите команду: fixboot – загрузчик (код) активного раздела будет перезаписан. Далее – Enter и Exit.

Важно! Если в корневом каталоге вашей системы отсутствует файл NTLDR – загрузчик Windows, его придется скопировать с установочного диска или другой копии Windows XP и поместить на диск C: (если система находится на нем).

С появлением Windows Vista была создана утилита Bootsect.exe , предназначенная для перезаписи загрузочного кода разделов диска. Ее также можно использовать для восстановления загрузки Windows XP.

Утилитой Bootsect.exe можно воспользоваться, если у вас на жестком диске стоит еще одна операционная система Windows или загрузившись с Windows LiveCD (“живого” диска с операционной системой, которая работает при загрузке с DVD или флешки).

Восстановление загрузки системы с помощью Bootsect.exe выполняется следующим образом:

  • скопируйте файл Bootsect.exe (можно взять с дистрибутива Windows Vista и выше) в корневую директорию системы, загрузку которой вам требуется восстановить.
  • запустите командную строку и выполните команду: Путь_к_bootsect.exe /NT52 , например: D:bootsect.exe /NT52.

Ошибки конфигурации загрузки в файле Boot.INI

Если конфигурационный файл загрузки Windows XP содержит ошибки или отсутствует, загрузчик NTLDR не сможет найти систему. О проблемах с Boot.INI свидетельствуют следующие сообщения:

  • Check boot path and disk hardware – предложение проверить путь к загрузочному диску и сам диск;
  • Could not read from selected boot disk – прочитать данные с загрузочного диска не удалось;
  • Windows could not start because of a computer disk hardware configuration problem – из-за проблем с конфигурацией диска загрузить Windows не удалось.

Решение

  • Запустите консоль восстановления.
  • После входа в систему выполните команду: bootcfg /rebuild – каждый раздел диска будет просканирован на наличие установленной в нем копии Windows XP. При обнаружении первой же системы, пользователю будет предложено добавить информацию о ее загрузки в конфигурационный файл:

Восстановление конфигурации загрузки будет выполнено.

Повреждение системных файлов

В загрузке Windows принимает участие множество файлов – помимо тех, которые мы назвали, еще несколько десятков. Отсутствие или повреждение любого из них может привести к тому, что система не сможет стартовать, а вместо этого будет циклически перезагружаться или “радовать” пользователя синими экранами смерти (BSoD). Скриншот одной из типичных ошибок, связанных с системными файлами при загрузке, приведен ниже:

Запись “STOP C000021a {fatal system error}” – говорит о неустранимой ошибке системы, связанная с проблемами в входе выполнения Winlogon.exe или Csrss.exe. Это, вероятнее всего, говорит о том,что файлы повреждены или отсутствуют.

Решение

Для выполнить восстановление загрузки, необходимо найти аналогичные файлы и вернуть их на “законные места” – в каталог WindowsSystem32. Их копии находятся в хранилище Windows – папке WindowsSystem32DllCach или на установочном диске в папке i386. На дистрибутивном диске файлы хранятся в сжатом виде, и перед заменой их необходимо распаковывать. Это можно сделать также при помощи Recovery Console:

  • Скопируйте на флешку с установочного диска папку i386 , подключите ее к компьютеру.
  • Выполните вход в систему, загрузчик которой требуется восстановить.
  • Введите команду: expand d:i386winlogon.ex_ c:windowssystem32 – с ее помощью архивный файл winlogon.ex_ на установочном диске будет распакован в папку system32 под именем winlogon.exe. Аналогичным образом можно провести восстановление и других файлов. D: – в данном случае – буква флешки.

Повреждение куста реестра SYSTEM

Этот куст реестра содержит информацию о типе запуска драйверов, без которых старт Windows невозможен, а также некоторые сведенья о конфигурации загрузки. Поэтому, если раздел будет поврежден, загрузчик NTLDR приостановит работу и выведет сообщение об ошибке.

Файлы реестра уникальны для каждой системы, поэтому их восстановление при помощи переноса с другой копии Windows невозможно – необходим свой собственный раздел. Копия реестра, созданного на момент установки системы, хранится в каталоге WindowsRepair

Решение

Восстановление поврежденного раздела также несложно выполнить через консоль.

  • Выполните вход в Windows.
  • Введите команду: rename c:windowssystem32configsystem system.old и нажмите Enter. Поврежденный куст реестра будет переименован, теперь на его место можно копировать новый.
  • Выполните вторую команду: copy c:windowsrepairsystem c:windowssystem32configsystem – будет произведено восстановление раздела. После этого вы сможете загрузить систему.

Данная инструкция хоть и не имеет прямого отношения к методам борьбы с заразой под общим кодовым названием «WinLocker» , но находится она здесь потому что есть оказывается совершенно примитивные блокираторы Microsoft Windows которые «ограничиваются» подменой загрузчика. По-видимому, какие-то школьники развлекались (их бы энергию, да в мирное русло).

Если Вы видите текст с вымогательством просто сразу до загрузки операционной системы в виде обычного текстового режима, довольно часто с ошибками или «артефактами» на экране, то попытайтесь просто восстановить главную загрузочную запись MBR .

Если Вы планируете разработку сайта и заказать сайт в Казани – стоит обращаться только к профессионалам. Веб-студия RafMedia сделает все быстро и качественно.

И так сам процесс. Сначала пройдемся по «старушке» Windows XP или в простонародии «хрюше». Для восстановления MBR здесь нам понадобится установочный диск с дистрибутивом системы. Грузимся с него и в самом начале выбираем режим восстановления, нажимая клавишу «r» . В открывшемся окне терминала наблюдаем список возможных систем для загрузки. В нормальной ситуации там только одна. Вводим необходимый номер и жмем «Enter» .

На следующем этапе необходимо восстановить поврежденную главную загрузочную запись . Это выполняется командой FIXMBR . На запрос о нашей уверенности в своих действиях конечно отвечаем «y» .

Теперь запишем новый загрузчик в восстановленный MBR . Это делается командой FIXBOOT . И, как и в предыдущем случае соглашаемся на внесение изменений, вводя «y» .

Ну вот, почти и все. Осталось скопировать ntldr и NTDETECT.COM . И «реанимировать» boot.ini .

Для копирования поможет команда «MAP» , которая показывает список всех подключенных(смонтированных) дисков. Находим наш привод с дистрибутивом. Как правило это будет диск «D:» . Копируем тогда следующими командами:

copy D:\i386\NTLDR C:\
copy D:\i386\NTDETECT.COM C:\

В случае возникновения вопроса на перезапись, отвечаем утвердительно.

Остался только boot.ini . Команда «Bootcfg /add» вновь выведет на экран список доступных для загрузки систем.

  • Вводим номер добавляемой системы, обычно «1» .
  • Жмем «Enter» .
  • Вводим имя добавляемой системы, пусть будет «Windows XP Professional» .
  • Жмем «Enter» .
  • Можем ввести, и лучше это сделать, ключ «/fastdetect» . Это спрячет при загрузке запрос на выбор системы для запуска.

Все готово, можно перегружаться и работать.
А вариант для операционной системы «Windows 7» будет рассмотрен .

Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в оперативной памяти. Этот процесс называется загрузкой операционной системы.

Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным .
Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
Поэтапно загрузку ОС можно представить следующим образом:
В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются BIOS (Basic Input/Output System – базовая система ввода-вывода). После включения компьютера эти программы начинают выполняться. Причем информация о ходе этого процесса высвечивается на экране дисплея. Сначала производится тестирование и настройка аппаратных средств, затем начинается загрузка ОС. На этом этапе процессор обращается к диску и ищет в 1 секторе диска наличие небольшой программы-загрузчика Master Boot .

Master Boot ищет на диске основной загрузчик Boot Sector , загружает его в память и передает ему управление. Boot sector (сектор начальной загрузки) – часть диска, зарезервированная для программы самозагрузки ОС. В этом секторе обычно содержится короткая программа на машинном языке, которая загружает ОС.
Далее основной загрузчик ищет остальные модули операционной системы и загружает их в оперативную память.
После окончания загрузки ОС управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы, в противном случае загружается графический интерфейс.
В зависимости от вида ОС, процесс ее загрузки будет отличаться. В состав ОС обязательно входят файлы, отвечающие за процесс загрузки. Рассмотрим «работу» файлов в процессе загрузки Windows XP .

  1. Начальная фаза загрузки.
  2. Выбор системы.
  3. Определение «железа».
  4. Выбор конфигурации.

В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP (FAT-16, FAT-32 и NTFS).

Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу — показывает меню с выбором и ожидает ввода от пользователя определенный период времени.

Если такого файла нет, то NTLDR продолжает загрузку с первого раздела, первого диска, обычно это C:\.
Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP , то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.

Если выбранная операционная система XP, то NTLDR находит и загружает DOS программу NTDETECT.COM для определения «железа», установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.

Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации. После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNL.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и слой Hardware Abstraction Layer (HAL.DLL), для того чтобы ядро могло абстрагироваться от «железа». Оба файла находятся в директории System32.

NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их, NTLDR передает управление компьютером дальше. Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для каждого такого устройства на экране печатается точка.

NTOSKRNL в процессе загрузки проходит через две фазы — так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессора, они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке: Object Manager, Executive, Microkernel, Security Reference Monitor, Memory Manager, Cache Manager, LPCS, I/O Manager, Process Manager.

Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration. Последняя задача фазы 1 инициализации ядра — запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и «родным» приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login. SMSS загружает win32k.sys — графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно, процесс загрузки считается удачным и создается Last Known Good Configuration.

Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.

По терминологии Microsoft эти загрузочные файлы (ntldr, boot.ini, ntdetect.com, ntbootdd.sys и bootsect.dos для мультизагрузочных систем) находятся в системном разделе, загрузочный сектор которого содержит системный загрузчик Windows NT.

В то же время раздел диска или диск, на котором располагается папка Winnt и, соответственно, системные файлы, необходимые для работы ОС (в том числе ntoskrnl.exe, ядро Windows NT), вполне спокойно может не совпадать с системным разделом и поэтому при запуске ПК необходимо сделать так, чтобы загрузчик Windows NT без труда нашел системные файлы. Раздел же, на котором располагается папка Winnt, в Microsoft принято называть загрузочным, простим им эту путаницу - это далеко не самый тяжелый случай.

Таким образом, при включении ПК ход загрузки операционной системы проходит в несколько этапов: BIOS компьютера считывает и загружает в оперативную память главную загрузочную запись Master Boot Record (MBR), в которой находится таблица разделов диска и небольшая программа - эта программа находит начальный адрес системного раздела на диске и загружает в память копию его загрузочного сектора (сектор 0), а затем, если раздел помечен как "активный" в таблице разделов, передает управление другой программе - загрузчику Windows NT из только что перенесенного в память загрузочного сектора.

В нулевом секторе жесткого диска находится загрузочный код, который распознает файловую систему, а затем находит, загружает в память и запускает следующую специальную программу из корневой директории системного диска - ntldr (от NT Loader), предназначенную для инициализации загрузки собственно самой операционной системы, задания некоторых параметров ее работы и для вывода меню вариантов загрузки в мультизагрузочной системе. После этого уже начинается выполнение обычных программ из файлов, находящихся на диске, что и приводит к полной загрузке всей операционной системы и к возможности запускать прикладные программы.

Правда, поскольку Windows NT может работать не только на платформе i386, следует оговориться, что мы рассматриваем применимые в нашем быту "персоналки", не касаясь особенностей загрузки NT на других платформах (на процессорах RISC, например, программа osloader.exe выполняет те же функции, что на PC выполняются файлами ntldr, ntdetect.com и bootsect.dos).

Если рассматривать работу начала начал операционных систем класса NT - загрузчика ntldr подробнее, то ее также можно разбить на несколько этапов: ntldr переключает процессор в режим 32-разрядной модели памяти с прямой адресацией запускает минифайловую систему для доступа к томам FAT, FAT32 и NTFS считывает файл boot.ini, также расположенный в корневом каталоге системного диска отображает меню выбора операционной системы (если выбирается ОС, отличная от Windows NT, то считывается файл bootsect.dos с копией загрузочного сектора предыдущей ОС и управление передается ему) запускает файл ntdetect.com, собирающий информацию о физических устройствах, подключенных к компьютеру в момент загрузки загружает и запускает ядро ОС - файл ntoskrnl.exe и передает ему информацию, собранную ntdetect.com.

NT Loader использует в процессе своей работы специальный текстовый конфигурационный файл boot.ini - один из важнейших системных файлов Windows NT / 2000 / XP, несколько напоминающий по своей сути файл msdos.sys из Windows 9x. Именно он позволяет системе находить папку Winnt, если она расположена не на системном разделе диска.

На файл boot.ini возложено несколько функций: управление содержимым меню выбора операционной системы во время загрузки ПК, управление самим процессом загрузки системы, а также задание некоторых параметров ее дальнейшего функционирования.

Файл составлен по привычному стандарту ini-файлов - разделы с названиями в квадратных скобках и параметры в каждом из разделов (в boot.ini предусмотрено два раздела можно добавить и еще какой-нибудь раздел, но системой он будет просто проигнорирован - это нередко используется для того, чтобы временно закомментировать тот или иной параметр).

И хотя в нем может находиться довольно много различных параметров, редактируется все это малопонятное простому пользователю хозяйство, к сожалению, самым простым и самым неудобным способом - в любом текстовом редакторе. А отредактировать это файл вполне может понадобиться любому пользователю, соблазнившемуся красивыми финтифлюшками сыроватой Windows XP (в конференции нашего журнала проблемы с этой операционкой - хит сезона), причем не только при его повреждении, случайном удалении и последующем воссоздании, но и, например, в случае добавления в систему или удаления из нее дисков или их разделов.

Разумеется, для работы с этим скрытым файлом, находящимся в корневой директории загрузочного диска, необходимо снять с него атрибут "только чтение", иначе текстовый редактор не сможет сохранить внесенные в boot.ini изменения.

Некоторые возможности по внесению изменений в этот файл дает, правда, меню "Загрузка операционной системы" (System Startup) диалога "Загрузка и восстановление" ("Startup and Recovery") свойств системы, а также появившаяся в Windows XP утилита msconfig.exe, однако полный доступ к его параметрам возможен только при ручном редактировании, либо при использовании небольшой дополнительной программы, предоставляющей понятный графический интерфейс - System Configuration Editor.
Эта программа предназначена для безопасного редактирования файлов конфигурации: Autoexec.bat, Config.sys, Win.ini, System.ini, Networks, Lmhosts, Hosts, Boot.ini.

В Windows XP, кстати говоря, появилось и еще одно не менее ценное дополнительное средство восстановления этого файла - команда bootcfg консоли восстановления, после выполнения которой с таким ключом - bootcfg /rebuild происходит сканирование жестких дисков в поисках инсталляций систем класса NT и восстановление файла boot.ini в соответствии с полученными результатами поиска. В более старых же системах альтернативой ручному восстановлению файла является только запуск программы переустановки системы.

Строение файла boot.ini в простейшем случае, с одной операционной системой на диске ПК Intel х86, выглядит следующим образом:


timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows XP Professional" /fastdetect

При использовании двух операционных систем, например, Windows Me и Windows XP, содержимое файла будет примерно такое:


timeout=5
default=C:\
C:\="Windows Millennium Edition"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional" /fastdetect

Как можно заметить, в данных примерах раздел служит для задания двух параметров загрузки операционной системы, в частности, параметр timeout=5 определяет количество секунд, в течение которых пользователь имеет возможность выбрать либо загружаемую ОС, либо один из пунктов загрузочного меню (например, загрузить систему в режиме защиты от сбоев).

При timeout=0 загрузочное меню не отображается, а при timeout=-1 это меню будет находиться на экране неограниченное время в ожидании выбора пользователя.

Каждый пользователь волен выставить это время по своим вкусам - для меня удобной цифрой является 5 секунд. По умолчанию же задержка составляет 30 секунд, максимум - 999.

Параметр default определяет путь к загружаемой по умолчанию операционной системе. Путь этот в случае с Windows NT задается в формате ARC (Advanced RISC Computing), о правилах которого чуть ниже. Если же в мультизагрузочной системе ОС по умолчанию является, например, Windows 98 (или MS-DOS, Linux), то достаточно указать default=C:\, где С: - диск, на котором находятся системные файлы Windows 9x (вернее - образ ее загрузочного сектора bootsect.dos, а также io.sys, msdos.sys и т. д.).

Такой операционной системе и в следующем разделе будет соответствовать строка типа C:\="Windows Millennium Edition" или C:\bootsect.lnx="Linux" - то есть путь к файлу-образу ее загрузочного сектора (его название может быть любым, по выбору пользователя). Кстати, для создания такого файла-образа удобно использовать утилиту BootPart, предназначенную как раз для расширенной работы с загрузчиком NT.

В разделе находятся сведения об установленных операционных системах, на основании которых и формируется загрузочное меню. Так, в каждой строке этого раздела прописан ARC-путь к загрузочному разделу Windows NT плюс имя папки Windows и текст, отображаемый в соответствующей этой операционной системе строке загрузочного меню, плюс некоторые параметры, используемые при выборе данной системы.

Учтите, что ARC-путь (кроме имени папки и названия ОС) должен быть записан маленькими (строчными) буквами - по крайней мере, в Windows NT 4 заглавные буквы приводили к невозможности загрузить систему. Максимально возможное число строк в этом разделе - 10, следовательно, и операционных систем на своем ПК вы можете иметь одновременно аж 10 штук.

Если вы вдруг утратили файл boot.ini, то самое сложное при его ручном восстановлении - правильно воссоздать путь к загрузочному разделу в формате ARC. Путь этот может начинаться либо с метки multi(), либо с метки signature(). Метку multi() можно наблюдать в подавляющем большинстве случаев, применяется она для дисков IDE, ESDI, SCSI в тех случаях, когда ОС для своей загрузки использует механизмы системного BIOS (прерывание INT13).

При таком раскладе запись пути к загрузочному диску и к директории загружаемой операционной системы в файле boot.ini будет выглядеть следующим образом: multi(0)disk(0)rdisk(x)partition(y)\ имя_каталога_Windows = "Название_ОС, отображаемое_в_загрузочном_меню" / параметр

  • multi(0) указывает порядковый номер адаптера, с которого осуществляется загрузка и всегда имеет значение "0" (нумерация начинается с нуля, начиная с контроллера, расположенного ближе к слоту 0 на материнской плате);
  • disk(0) - всегда равен нулю, так как прерывание INT13 не может использоваться для идентификации нескольких дисковых контроллеров (для большинства BIOS);
  • rdisk(x) определяет порядковый номер жесткого диска, с которого производится загрузка, нумерация начинается с 0, и обычно x - число от 0 до 3;
  • partition(y) - порядковый номер раздела жесткого диска, с которого загружается ОС, нумерация начинается с 1 (соответствует диску С: в привычном обозначении), в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 - неиспользуемые.

Формат записи, начинающийся с метки signature() - ранее, в NT для этого служила метка scsi(), теперь применяется signature(), поддерживающая работу с механизмами Plug-n-Play Windows 2000 / XP - встречается реже и используется при работе как со SCSI-дисками (если у контроллера SCSI отключен BIOS), так и с IDE-дисками в отсутствие поддержки INT13. В этом случае запись в boot.ini принимает такой вид: signature(x)disk(y)rdisk(z)partition(w)\имя_каталога_ Windows="Название_ОС, отображаемое_в_загрузочном_меню" /параметр

  • signature(x) указывает уникальную сигнатуру диска (шестнадцатеричное число - signature(8b467c12)), содержащуюся в его MBR. Сигнатура эта вписывается в главную загрузочную запись диска в процессе установки Windows, в начале ее текстового этапа;
  • disk(y) - идентификатор SCSI ID жесткого диска;
  • rdisk(z) - номер SCSI LUN (Logical Unit Number) жесткого диска, практически всегда это 0;
  • partition(w) - порядковый номер раздела жесткого диска, с которого загружается ОС, нумерация начинается с 1, в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 - неиспользуемые.

Обратите внимание, что если используется формат signature(), то в корне системного диска должен находиться файл ntbootdd.sys - переименованная копия драйвера мини-порта SCSI, предназначенная для доступа к SCSI-адаптеру при загрузке.