Азбука админа: процесс загрузки Windows. Процесс загрузки: шаг за шагом

  • Основные понятия загрузочного процесса операционных систем Windows XP и 7
  • Метод двойной и многовариантной загрузки Windows.
  • Ограничения загрузки операционной системы Windows и другие возможные варианты.
  • Как работают загрузчики (менеджеры загрузки) сторонних производителей.

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

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

Данный ниже материал, может кому-то показаться слишком упрощенным, но это лишь, то, что действительно необходимо для понимания процесса. Процесс загрузки операционной системы — это последовательный запуск и выполнения работы одной “программки”, которая потом запускает вторую, третью и так далее. Как правило, для загрузки необходим запуск 4 или 5 “программок”, последняя из которых фактически запускает операционную систему Windows.

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

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

В последовательном запуске программ нет ничего секретного или магического, эти программы как и любые другие всего лишь закодированные единицы и нули, которые указывают компьютеру, что необходимо делать. Некоторые из программ имеют странные имена, которые стали уже почти легендами, их названия произносятся часто с чувством почтения и удивления. Они вызывают уважение, даже среди некоторых закалённых компьютерных специалистов. Я не хочу подвергать сомнению, чьи либо убеждения, но это правда.

Последовательность загрузки операционной системы

Первая программа уже встроена в материнскую плату вашего персонального компьютера, точнее, в маленькую микросхему (чип) которая находится всегда в одном и том же месте. При включении компьютера она запускается и выполняет заложенную в неё программу. Эта первая программа называется БИОС (BIOS). Выполнив свою работу, она запускает следующую программу. БИОС весьма “умна” и всегда старается найти следующую для запуска программку, для этого проверяются места её возможного нахождения.

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

Для продолжения загрузки операционной системы с жесткого диска необходима вторая программа, которая находится на жёстком диске. Для простоты поиска второй программы её всегда размещают в одном и том же месте, и БИОС всегда начинает просмотр именно с него.

Запуск второй программы всегда начинается с первых байтов первого сектора. Называется эта программа MBR (Главная загрузочная запись). Она содержит в себе программу начальной загрузки и таблицу разделов (Partition Table ) жесткого диска – вот это двойное предназначение многих вводит в заблуждение. Самое распространённое название загрузочной части MBR это – Программа начальной загрузки (IPL ). Так же как и БИОС, программа IPL универсальна для всех операционных систем, так что не надо беспокоиться, поддерживает она, Windows или Linux. Находясь на жестком диске, её задача лишь запустить следующую программку. Программка IPL от компании Майкрософт имеет маленький размер и ограниченные возможности, её цель и главная задача найти и запустить следующую программку в цепи.

Просматривая таблицу разделов, и заметив “развивающийся” флаг активности, программка понимает, что нашла свою цель. Если раздел отмечен флагом активности, то программа начальной загрузки (IPL) идет к первым байтам первого сектора и запускает следующую программку в цепи загрузки. При изменении (перемещении) флага активности с одного раздела на другой, программа начальной загрузки начнет просмотр и загрузку с другого раздела.

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

Третья программа в цепочке последовательно запускающих программ находится в самом начале раздела. Она называется PBR (Запись Загрузки Раздела) или иногда её называют VBR (Том Записи Загрузок). Когда PBR сделает свою работу, то она запускает следующую за ней программу. PBR весьма специфична, и в отличие от BIOS и IPL, ей требуется знать, точное название и местонахождение файла. Название файла в зависимости от операционной системы будет разным, поэтому в процессе установки операционной системы PBR запишет необходимые данные, для того что бы легко можно было найти нужный файл. Для операционных систем от Windows NT до Vista это будет файл под названием ntldr , который всегда находится в корневом каталоге раздела. Месторасположение файла ntldr всегда в корневом каталоге рядом с папками Windows и Program Files, а не внутри папки или директории.

Для операционных систем, от Windows NT до Vista запуск файла ntldr будет четвертой и последней программой в цепи загрузки. Файл, по сути, является загрузчиком Windows, которая запускается из папки system32.

На этом рисунке отображена последовательность загрузки. Главная загрузочная запись (MBR) показана как отдельная секция в начале жёсткого диска. Для этого на жестком диске специально зарезервирован маленький раздел, который никак не связан с другими разделами. Запись загрузки раздела (PBR) показана как отдельная секция, хотя на самом деле это часть раздела. Операционная система Windows резервирует первые 16 секторов своего раздела, исключительно для использования загрузочной записи раздела.

Последовательность загрузки старой операционной системы Windows NT и Vista почти не отличается, но в последней операционной системе ntldr была изменена. В старой Windows NT, файл ntldr был и загрузчиком и менеджером загрузок, но в Windows Vista эти две функции были разделены на две разные программы.

Функцию менеджера загрузки, в обязанность которой входит поиск активной операционной системы теперь выполняет — файл bootmng . Загрузчик, который фактически запускает операционную систему, выполняет — файл winload.exe . Файл bootimg находится в корневом разделе установленной операционной системы, а файл winload.exe помещен внутрь папки system32 системной папки Windows. Все эти изменения добавляют еще один шаг в цепочку загрузки операционной системы, поэтому в Viste она составляет пять шагов.

Операционная система Windows 7 наделена огромными возможностями, которые позволяют создать дополнительный раздел для управления загрузкой и файлами BCD и bootmng . Компания Майкрософт сообщает, что изменение в загрузке новой операционной системы Windows 7, возможно в дальнейшем станет постоянным.

Продолжение следует…

В данной статье я поэтапно опишу процесс загрузки операционных систем Windows XP, Vista и Seven. Хотя этот вопрос рассматривается в сети достаточно часто, не затронуть его я не могу. Подобная информация бывает очень полезна при диагностировании неисправности и восстановления работоспособности “умершей” ОСи.

Сегодня мы рассмотрим:

  • Старт BIOS;
  • Загрузку Windows XP;
  • Загрузку Windows Vista/7.

Загрузка BIOS

BIOS - это набор микропрограмм, записанных в ПЗУ компьютера и служащих для инициализации устройств на материнской плате, их проверки и настройки, загрузки операционной системы.

При включении компьютера BIOS проверяет “железо” и если есть проблемы, то информирует нас звуковыми сигналами (набор длинных и коротких гудков). Вот таблица звуковых сигналов BIOS:

Сигналы AMI

Сигнал Возможная неисправность
Отсутствует Неисправен блок питания
Ошибка четности ОЗУ
Ошибка в первых 64 кБ ОЗУ
Неисправность системного таймера
Неисправен CPU
Неисправен контроллер клавиатуры
Неисправна системная плата
Неисправна память видеокарты
Ошибка контрольной суммы BIOS
10к Невозможна запись в CMOS
11к Неисправен кэш на системной плате
1д+2к Неисправна видеокарта
1д+3к Неисправна видеокарта
1д+8к Не подключен монитор

Сигналы AWARD

Если загрузка прервалась на этом этапе, то по сигналу находим вышедшую из строя деталь и заменяем. В случаях с оперативной памятью и видеокартами иногда помогает их извлечение и очистка контактов от пыли.

После проверки BIOS считывает настройки из CMOS и в соответствии с мини стартует загрузчик с указанного носителя (CD, HDD, Flash карта). Если загрузка производится с жёсткого диска, то система считывает первые 512 байт Master Boot Record (MBR) и передаёт ему управление.

Если MBR не найден, то загрузка останавливается. Восстановить MBR можно с помощью консоли восстановления Windows (Recovery Console) командой fixmbr.

Процесс загрузки Windows XP

Загрузкой Windows управляет NTLDR, который состоит из двух частей - первый StartUp переводит процессор в защищённый режим и стартует загрузчик ОС. Загрузчик содержит в себе основные функции для работы с дисками отформатированными в FAT*, NTFS и CDFS системы. Загрузчик считывает содержимое boot.ini и, в соответствии с его содержимым (количество ОС, диски на котором установленны и т.п.), продолжает загрузку. Если Windows была переведена в состояние гибернации, то NTLDR загружает в память компьютера файл hiberfil.sys и передаёт управление в ядро Windows. Если вы завершили работу компьютера простым выключением/перезагрузкой, то NTLDR загружает DOS’овский файл NTDETECT.COM, который строит список аппаратного обеспечения и загружает саму операционную систему Windows.

Если файл NTLDR удалён/перемещён/повреждён, то система не загрузится и выведет сообщение “NTLDR is missing. Press CTRL+ALT+DEL to restart“. Решить эту проблему можно в консоли восстановления Windows (Recovery Console) командой fixboot или скопировав NTLDR с рабочей системы в корень диска.

Перед загрузкой ядра, NTLDR выводит на экран опции запуска (Если была нажата клавиша F8, или работа системы была завершена аварийно). После выбора параметров запуска, стартует ядро системы - ntoskrnl.exe (мы видим анимацию из белых прямоугольников на чёрном экране). Далее загружается тип абстрактного уровня аппаратного обеспечения - HALL.DLL. Это нужно, чтобы ядро могло абстрагироваться от железа, оба файла находятся в директории System32. Далее загружается библиотека расширения ядра отладчика аппаратного обеспечения kdcom.dll и bootvid.dll, который загружает логотип Windows и индикатор статуса загрузки).

Одним из самых ответственных моментов является загрузка системного реестра config\system, очень часто система не может прочитать файл system и загрузка становится невозможна или начинается .

Процесс загрузки Windows Vista/7

Процесс загрузки Windows Vista и Windows 7 (Seven) начинает отличатся от процесса загрузки предыдущих версий ОС уже после чтения MBR. Установщик Windows создаёт небольшой загрузочный раздел, в котором и находяться всё, что нужно для запуска ОС. MBR передаёт загрузку PBR (Partition Boot Record), а затем стартует BOOTMGR (Windows Boot Manager). BOOTMGR пришёл на смену NTLDR и руководит загрузкой операционной системы. BOOTMGR читает параметры загрузки из Boot Configuration Database (BCD, Базы данных загрузочной конфигурации, пришла на смену boot.ini) и загружает Winload.exe (OS loader boot application, загрузчик ОС). Winload.exe загружает ядро операционной системы, далее процесс загрузки похож на старт Windows XP.

Для редактирования Boot Configuration Database (BCD) можно использовать утилиту Bcdedit.exe запустив её из Windows Recovery Environment (WinRE). Там же можно задействовать утилиту Bootrec.exe для исправления ошибок.

Что означают слова «мой компьютер не запускается»?

Каждый сетевой администратор постоянно сталкивается с ситуацией, когда пользователи, жалующиеся на неполадки, произносят туманную фразу, которая может слегка испортить настроение: «Компьютер не запускается!» Обычно при этом пользователи сообщают, что нечто непредвиденное произошло в процессе загрузки - либо во время самотестирования компьютера (Power On Self Test, POST), либо во время процедур начальной загрузки Windows. Для диагностики и устранения подобных проблем администратор должен понимать, что происходит в процессе загрузки.

Термин «сбой в процессе загрузки» относится и к аппаратным проблемам, и к проблемам операционной системы. Во времена компьютеров с MS-DOS, POST занимал больше времени, чем загрузка операционной системы, и аппаратура была источником большинства проблем при начальной загрузке. За последние годы аппаратное обеспечение стало более надежным, а благодаря развитым функциям BIOS возможности мониторинга, диагностики и управления оборудованием стали значительно шире. Поэтому в ситуации сбоя во время загрузки пользователи, скорее всего, сталкиваются именно с проблемой операционной системы. Давайте последовательно изучим процесс начальной загрузки, наблюдая, что происходит на каждом этапе, и уясним смысл каждого появляющегося сообщения об ошибке. Для удобства будем предполагать, что используются Windows 2000 или более поздние версии.

Включение питания

Не жалуется ли пользователь, что ничего не происходит, когда он нажимает кнопку питания? Если да, то сначала проверьте кабель.

Вот старый администраторский трюк на случай, если проходится иметь дело с выключенным из розетки компьютером при разговоре с пользователем по телефону. Пользователи часто не проверяют, включен ли их компьютер в розетку, а когда вы указываете им на такую возможность, возмущаются. Пользователь может воскликнуть: «Конечно, он включен!», но следует проверить, правда ли это. Попросите пользователя вынуть вилку из розетки и вставить заново, ссылаясь на необходимость «проверить полярность». Постарайтесь не хихикать. Просто невероятно, как часто пользователи отвечают: «О, сработало!»

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

Проверка оборудования и BIOS

Если пользователь видит сообщение об ошибке в процессе POST или если компьютер просто зависает, прежде чем запускается операционная система, значит, проблема в оборудовании или в BIOS. Система выводит на экран сообщения об ошибках оборудования и BIOS и подает характерные звуковые сигналы. Некоторые ошибки BIOS выводятся в виде чисел и некогда все производители BIOS использовали одни и те же числа (те, что придумали в IBM), но теперь все изменилось. Теперь, чтобы интерпретировать номер ошибки, администратору требуется документация, пришедшая вместе с компьютером. Также можно поискать ее на Web-сайте производителя BIOS. Однако, скорее всего, на экране появится текст, а не числа, например Hard drive controller failure («Ошибка контроллера жесткого диска») или забавное сообщение Keyboard error, press F1 to continue («Ошибка клавиатуры, нажмите F1 для продолжения»).

Возможно, появится сообщение об ошибке, относящейся к проблемам с памятью. Когда-то память имела дополнительный компонент, называвшийся «чип четности», и частью теста BIOS была проверка на четность. Компоненты памяти больше не содержат чип четности, поскольку теперь в этом нет необходимости: производители памяти так продвинулись по пути совершенствования своих продуктов, что ошибки памяти стали крайне редки. Тем не менее после добавления в компьютер памяти при последующей загрузке может появиться сообщение об ошибке памяти. Сообщение содержит примерно такой текст: Mismatched memory information («Несоответствие параметров памяти»). В действительности это сообщение является подтверждением того, что система видит установленную память, но обнаружила, что она не соответствует общему количеству, записанному в CMOS.

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

Если после добавления в компьютер памяти система выдала сообщение об ошибке, в котором не говорится о разночтении в подсчете объема памяти, значит, проблема оказалась серьезнее. Система не распознает новую память. Эта ситуация почти всегда вызвана неаккуратными действиями при установке памяти, такими как использование неверного слота. В то же время мне доводилось видеть, как проблема вызывалась установкой памяти неверного типа (например, установкой плат памяти DRAM в старый компьютер с Enhanced Data Output, EDO), когда материнская плата не была предназначена для установки памяти смешанного типа, SIMM и DIMM, или когда материнская плата не воспринимала смешивание плат памяти с разными скоростями. Некоторые материнские платы при добавлении памяти нуждаются в изменении положения двухпозиционных переключателей и перемычек, хотя такие требования становятся все менее распространенными. Чтобы избежать подобных проблем, всегда перед добавлением памяти проверяйте документацию материнской платы.

Если во время POST обнаруживается ошибка жесткого диска, значит, работа предстоит немалая. Вообще-то я обнаружила, что в половине случаев проблема оказывается в контроллере, а не в самом диске, и замена контроллера позволяет диску нормально выполнять загрузку с сохранением всех данных неповрежденными (все гениальное просто!). Если контроллер жесткого диска первоначальной комплектации выходит из строя, не нужно сразу бежать за новой материнской платой. Достаточно купить новый контроллер. Вместо поиска встроенной микросхемы прочитайте в документации к материнской плате, что необходимо сделать, чтобы BIOS видел новую плату.

Если проблема действительно в диске, задача не ограничивается только заменой контроллера. Помимо замены диска придется переустановить операционную систему и приложения, а также выполнить восстановление данных из резервной копии, которая, конечно, датирована вчерашним днем, не правда ли?

Управление передается записи Master Boot Record

Далее компьютер начинает загрузку операционной системы. Во время установки программа загрузки Windows помещает данные на первый сектор главного раздела компьютера (загрузочный сектор). Эти данные - не что иное, как Master Boot Record, MBR (главная загрузочная запись), которая содержит исполняемые команды. Программа установки также копирует два файла, инициирующие начальный этап загрузки Windows, - Ntldr и Ntdetect - в корневой каталог загрузочного диска. Кроме того, Windows Setup копирует boot.ini, файл, содержащий параметры загрузки, в корневой каталог загрузочного диска.

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

Системный раздел содержит файлы привязки к аппаратным компонентам, которые необходимы для загрузки Windows, включая MBR. Этот раздел должен быть главным разделом и отмечается как активный. Это всегда диск 0, поскольку именно к этому диску обращается BIOS, чтобы передать процесс загрузки файлу MBR. Загрузочный раздел содержит файлы операционной системы (папка \%systemroot%) и файлы поддержки операционной системы (\%systemroot%System).

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

Запуск Ntldr

Код загрузочного сектора считывает Ntldr в память, чтобы запустить процесс начальной загрузки операционной системы. В Ntldr хранится доступный только для чтения код NTFS и FAT. Он начинает работать в реальном режиме, и первая выполняемая им задача заключается в переключении системы в некоторую форму защищенного режима. Более подробно об этих режимах рассказано во врезке «Реальный режим против защищенного». Этот первоначальный вариант защищенного режима не может в полной мере выполнять аппаратно-зависимых преобразований, которые обеспечивают защиту оборудования, - данная функция становится доступной, когда операционная система загрузится полностью.

Теперь вся физическая память доступна операционной системе, и компьютер работает как 32-разрядная машина. Ntldr делает возможной постраничную загрузку и создает таблицы страниц. Затем Ntldr считывает boot.ini из корневого каталога и, если на машине многовариантная загрузка или если выполнена настройка boot.ini на отображение меню, на экране появляется меню выбора вариантов загрузки. Если Ntldr отсутствует или поврежден, система выдаст сообщение об ошибке Ntldr is missing. Press Ctrl-Alt-Del to restart.

Не стоит зря тратить время, выполняя предложенное действие: после очередного цикла система вернется к тому же сообщению. Необходимо заменить Ntldr. Если создан загрузочный флоппи-диск, можно использовать его для копирования Ntldr в корневой каталог основного загрузочного диска (обычно C). Если Ntldr отсутствует, следует просто скопировать его. Если файл имеется на жестком диске, возможно, он поврежден. Для того чтобы заменить его, сначала нужно изменить его атрибут «только для чтения». Если загрузочного флоппи-диска под рукой нет, придется запустить программу Setup с компакт-диска Windows и выбрать Repair.

Запуск Ntdetect

Ntldr запускает Ntdetect, который запрашивает BIOS системы о данных конфигурации устройств. Система отправляет информацию, которую Ntdetect собирает в реестр и помещает в подразделы HKEY_LOCAL_MACHINEHARDWARE DESCRIPTION.

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

Запуск Ntoskrnl и загрузка HAL

После того как Ntdetect закончит выполнение подпрограмм проверки оборудования, он передает процесс загрузки обратно файлу Ntldr, который запускает ntoskrnl.exe и загружает.dll-файл Hardware Abstraction Layer (HAL). (Оба файла расположены в папке \%systemroot%system32.) Ntoskrnl - это главный файл ядра Windows и исполнительных подсистем. Он содержит Executive, Kernel, Cache Manager, Memory Manager, Scheduler, Security Reference Monitor и другие. Именно Ntoskrnl приводит в действие Windows. Для работы Ntoskrnl необходим файл hal.dll, который содержит код, позволяющий оборудованию взаимодействовать с операционной системой.

На экране может появиться сообщение об ошибке, говорящее о наличии проблемы с Ntoskrnl, но почти всегда это сообщение фиктивно и появляется потому, что ссылка на папку в boot.ini не совпадает с именем папки, в которую были установлены системные файлы Windows.

Как правило, это означает, что кто-то переименовал папку \%systemroot% или создал новую папку и переместил в нее файлы Windows. В таком случае нужно переместить файлы обратно в то место, которое указано в boot.ini. Если boot.ini. был кем-то отредактирован, следует исправить эту ошибку.

Загрузка драйверов и служб

Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются - это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).

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

  • (0) означает, что служба загружается во время фазы основной загрузки.
  • (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
  • (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
  • (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
  • (4) означает, что служба отключена.

Загрузка операционной системы

Ntoskrnl начинает загрузку операционной системы. Инициализируется ядро Windows и загружаются и инициализируются подсистемы. Эти действия формируют базовые элементы, необходимые для завершения загрузки операционной системы. Загрузочные драйверы, которые модуль Ntldr загрузил ранее, теперь инициализируются, вслед за чем инициализируются оставшиеся драйверы и службы. Когда инициализируются драйверы первого уровня, может возникнуть проблема в виде ошибки STOP или Blue Screen of Death. Это почти всегда бывает в процессе первой загрузки после обновления какого-либо драйвера. Во время инициализации драйвера файлом Ntoskrnl операционная система отторгает его.

Для решения проблемы необходимо перезагрузить компьютер, нажать F8 для отображения меню дополнительных возможностей (Advanced Options) и выбрать вариант загрузки последней успешной конфигурации (Last Known Good Configuration), соответствующей предыдущей версии драйвера.

Теперь ядро Windows и исполняющие модули работоспособны. Программа Session Manager Subsystem (smss.exe) настраивает пользовательскую среду. Система выполняет сверку с реестром, для того чтобы иметь возможность начать загрузку оставшихся драйверов и программного обеспечения, которые необходимо добавить. Ядро операционной системы также загружает файлы kernel32.dll, gdi32.dll и user32.dll, которые обеспечивают программное обеспечение пользователя доступом к Win32 API.

Регистрация компьютера в домене

В то время когда загрузка ядра и инициализация драйверов еще не закончилась, компьютер регистрируется в домене. Используя учетную запись компьютера (уникальное имя с собственным паролем), компьютер открывает защищенный канал к контроллеру домена (DC). Все это происходит до того, как на экране появляется диалоговое окно для регистрации пользователя в системе.

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

В качестве дополнительной меры безопасности компьютеры (как и пользователи в сети с усиленной настройкой системы безопасности) должны периодически менять пароли. По умолчанию интервал смены пароля составляет 30 дней. Когда настает время менять пароль, компьютер генерирует новый пароль и отправляет его по защищенному каналу (доступ к которому он получил, используя предыдущий пароль) на ближайший DC. В дальнейшем для доступа к защищенному каналу компьютер должен использовать новый пароль.

DC немедленно обновляет свою базу данных и реплицирует изменение пароля компьютера на другие DC домена. Пароли учетных записей компьютера содержат отметку о событии первостепенной важности (Announce Immediately), поэтому они не дожидаются следующей репликации DC по расписанию. Иногда эти события могут вызывать заметное снижение производительности. Если у многих или у всех компьютеров домена срок действия паролей заканчивается в один и тот же день, работа, которую должны будут выполнить контроллеры домена, сразу же затормозит другие важные задачи DC, такие как аутентификация пользователей или выполнение запланированных репликаций. Ситуация может осложниться еще и в том случае, если DC предоставляет другие услуги, такие как, например, услуги сервера DNS. Можно изменить способ обслуживания паролей компьютера для домена, для организационной единицы (OU) и для индивидуального компьютера, хотя стремление повысить производительность путем настройки компьютеров по одному неэффективно. В следующей статье я планирую рассказать о методах изменения процедуры регистрации компьютера в домене.

Загрузка служб регистрации пользователя

Подсистема Win32 запускает winlogon.exe, которая выводит на экран диалоговое окно регистрации пользователя и загружает процесс Local Security Authority (lsass.exe). Начинается процесс регистрации, и пользователь должен ввести имя и пароль в диалоговом окне Windows Log On To. Если пользователь указывает правильные имя и пароль, система завершает процесс регистрации, и пользователь может начинать работать. В этот момент загрузка Windows окончена, а текущие параметры загрузки сохраняются в так называемой последней успешной конфигурации (Last Known Good Configuration). Нужно иметь в виду, что успешная регистрация пользователя необходима для сохранения Last Known Good Configuration.

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

Реальный режим против защищенного

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

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

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

Кэти Ивенс ([email protected]) - редактор Windows & .NET Magazine. Является соавтором более 40 книг по компьютерной тематике, включая «Windows 2000: The Complete Reference»

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

Решением данного парадокса является использование специальной маленькой компьютерной программы , называемой начальным загрузчиком , или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.

В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд, расположенных в постоянной памяти (например на IBM PC - команд BIOS), начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи). Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела выбранного устройства (чаще всего загрузочного сектора данного устройства) загрузчик ОС .

Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байт главной загрузочной записи , оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры AA55, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.

История

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

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

0: записать в регистр P число 8 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: увеличить значение регистра P на единицу 7: перейти к п. 1

Данный пример основан на начальном загрузчике одного из миникомпьютеров , выпущенного в 1970-х годах фирмой Nicolet Instrument Corporation.

0: записать в регистр P число 106 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: уменьшить значение регистра P на единицу 7: перейти к п. 1

Длина загрузчика второго уровня была такой, что последний байт загрузчика изменял команду, расположенную по адресу 6. Таким образом, после выполнения пункта 5 стартовал загрузчик второго уровня. Загрузчик второго уровня ожидал заправки в устройство считывания перфолент длинной перфоленты, содержащей операционную систему. Различием между загрузчиком первого уровня и загрузчиком второго уровня были проверки на ошибки считывания с перфоленты, которые часто встречались в то время, и, в частности, на используемых в данном случае телетайпах ASR-33.

Некоторые операционные системы, наиболее характерными из которых являются старые (до 1995 года) операционные системы компьютеров Macintosh производимых Apple Computer , настолько тесно связаны с аппаратным обеспечением компьютеров, что на данных компьютерах невозможно загрузить какую либо другую операционную систему. В данных случаях обычно разрабатывается начальный загрузчик, который работает как загрузчик стандартной ОС , а затем передает управление альтернативной операционной системе. Apple использовала данный способ для запуска A/UX версию Unix , а затем он использовался различными бесплатными операционными системами.

Устройства, инициализируемые BIOS

Загрузочное устройство - устройство, которое должно быть проинициализировано до загрузки операционной системы. К ним относятся устройства ввода (клавиатура , мышь), базовое устройство вывода (дисплей), и устройство, с которого будет произведена - дисковод , жесткий диск , CD-ROM , флэш-диск , SCSI -устройство, сетевая карта (при загрузке по сети; например, при помощи PXE).

Загрузочная последовательность стандартного IBM-совместимого персонального компьютера

Загружается персональный компьютер


Wikimedia Foundation . 2010 .

К сожалению, иногда можно встретить достаточно серьезные проблемы с включением компьютеров и стартом операционных систем, хотя до определенного момента беды ничто не предвещало. Бывает так, что но чаще всего компьютер включается, но не запускается операционная система. Именно о таких ситуациях далее и пойдет речь. Рассмотрим вопросы, связанные с тем, почему не загружается компьютер, и что делать в таких ситуациях. Тут есть несколько универсальных решений.

Компьютер включается, но не запускается операционная система: причины

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

Тут есть три варианта:

  • появляется черный экран;
  • возникает синий экран BSoD;
  • операционная система стартует, но не может полностью загрузиться.

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

Если же компьютер включается, но не запускается загрузка, и вместо этого на черном экране появляются предупреждения о программных сбоях или отсутствующих файлах, причин такого поведения системы может быть достаточно много. Среди них в первую очередь можно выделить проблемы с винчестером, повреждение операционной системы (случайное или намеренное удаление системных компонентов или записей реестра), воздействие вирусов, неправильные записи загрузочного сектора, конфликты оперативной памяти и т.д. Кстати сказать, если выскакивает синий экран, это в большей степени относится к «оперативке» или недавно установленным драйверам устройств, которые и вызывают появление конфликтов уже не на программном, а на физическом уровне.

Что делать, если не загружается компьютер, и операционная система не стартует по вышеуказанным причинам? В зависимости от ситуации есть несколько решений. Непосвященному пользователю они могут показаться достаточно сложными, однако в определенных ситуациях для реанимации системы можно применить только их. Поэтому придется потратить и время, и силы.

Компьютер включается, но не загружается: что делать в первую очередь?

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

Как правило, практически все сегодня используемые модификации Windows обычно при рестарте автоматически активируют запуск Если этого не произошло, перед стартом системы придется использовать клавишу F8 для вызова дополнительного загрузочного меню (в Windows 10 используется другой метод).

Компьютер включается, но не запускается операционная система? Расстраиваться не стоит. Здесь в самом простом варианте можно выбрать строку загрузки последней работоспособной конфигурации. Если с системными компонентами все в порядке, система загрузится без проблем. Если это не поможет, придется использовать раздел устранения неполадок, а иногда успехом может увенчаться даже попытка загрузки в безопасном режиме.

Возможное вирусное заражение

К сожалению, и вирусы могут вызывать появление таких ситуаций. Что делать, если компьютер не включается? Способы решения именно этой проблемы сводятся к тому, чтобы использовать мощный который мог бы произвести проверку на предмет наличия угроз еще до старта самой ОС.

Среди всего многообразия антивирусного ПО отдельно стоит отметить дисковые утилиты, которые стартуют непосредственно с оптического носителя или USB-устройства, имеют собственные загрузочные записи и даже графический интерфейс наподобие Windows. Одним из самых мощных средств можно назвать Kaspersky Rescue Disk. Его использование может гарантировать почти стопроцентное обнаружение вирусов, даже скрывающихся в оперативной памяти.

Конфликты оперативной памяти

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

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

Если же систему удастся хоть как-нибудь загрузить, используя тот же безопасный режим, «оперативку» сразу же следует проверить утилитой Memtest86+, которая и поможет выявить истинную причину неполадок.

Система не видит жесткий диск

Теперь наихудшая ситуация, когда не загружается компьютер. Причины и способы их устранения могут быть связаны с жестким диском.

Винчестер может иметь неполадки и программного, и физического характера, хотя иногда дело даже не в этом. Проблема может быть совершенно банальной: у пользователя в настройках BIOS установлен приоритет загрузки со съемного устройства, например, с оптического диска, который в данный момент находится в дисководе, но системным не является. Его следует просто извлечь и повторить загрузку.

С другой стороны, еще одна проблема того, что не запускается компьютер (не включается старт системы), может быть связана с тем, что поврежден загрузчик и записи соответствующего сектора. О решении этой ситуации будет сказано чуть позже. Но в самом простом случае можно попытаться произвести восстановление дисковых данных при помощи Recovery-утилит.

Иногда помогает и изменение настроек первичной системы ввода/вывода BIOS. Здесь нужно найти раздел, связанный с настройкой винчестера, и в параметрах конфигурации SATA деактивировать использование режима AHCI.

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

Использование установочного диска

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

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

Проблемы с загрузчиком BOOTMGR

Считается, что наиболее распространенной проблемой, когда компьютер включается, но не запускается операционная система, является повреждение загрузчика Windows (Boot Manager). В этом случае система как раз и пишет, что отсутствует системный раздел (она попросту не видит винчестер).

Исправить эту проблему можно при условии старта с загрузочного диска и перехода к командной строке в консоли восстановления, для вызова которой следует нажать клавишу «R». Далее нужно сначала использовать команду проверки диска, а затем исправить (восстановить) загрузочные записи.

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

  • chkdsk c: /f /r;
  • Bootrec.exe /FixMbr;
  • Bootrec.exe /FixBoot.

После ввода команд знаки препинания не ставятся, а нажимается клавиша ввода. Если по каким-то причинам выполнение этих команд положительного эффекта не возымело, как вариант можно использовать полную перезапись загрузочного сектора, которая производится командой Bootrec.exe /RebuildBcd. Если жесткий диск не имеет физических повреждений, это должно сработать, как говорится, на все сто.

Можно применять и некоторые сторонние утилиты. Наиболее подходящей программой выглядит средство под названием MbrFix, которое входит в состав загрузочного комплекта Hiren’s Boot CD. После ее вызова, например, для Windows 7 при условии того, что именно эта система установлена, причем только на одном диске (разбиение на разделы отсутствует), следует прописать следующее:

  • MbrFix.exe /drive 0 fixmbr /win7.

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

Проблемы с доступом к файлу NTLDR

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

Однако если результат достигнут не будет, нужно будет скопировать оригинальный файл в корень системного раздела. Например, если это диск «C», а дисковод - «E», команда будет иметь следующий вид:

  • E:\i386> copy ntldr C:\ (после копирования система загрузится без проблем).

Поврежденный или отсутствующий файл HAL.dll

В случае, когда компьютер включается, но не грузится операционная система в нормальном режиме, причина может состоять в поврежденном компоненте HAL.dll (соответствующее уведомление может быть показано на экране).

В этой ситуации нужно загрузить систему в безопасном режиме, вызвать командную консоль и прописать в ней такую строку:

  • C:\windows\system32\restore\rstrui.exe (далее нажимается клавиша Enter и производится рестарт).

Вместо итога

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