Алгоритм запуска компьютера. Алгоритм загрузки операционной системы

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

Загрузка начинается с того, что BIOS делает попытку прочитать самый первый сектор дискеты, вставленной в дисковод А: (на загрузочной дискете этот сектор содержит загрузчик операционной системы). Если в дисковод вставлена системная дискета, с нее считывается загрузчик и ему передается управление.

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

Если же дискеты в дисководе А: вообще нет, то BIOS читает основную загрузочную запись диска С: (Master Boot Record). Обычно это самый первый сектор на диске. Управление передается загрузчику, который находится в этом секторе. Загрузчик анализирует содержимое таблицы разделов (она также находится в этом секторе), выбирает активный раздел и читает загрузочную запись этого раздела. Загрузочная запись активного раздела (Boot Record) аналогична загрузочной записи, находящейся в первом секторе системной дискеты.

Загрузочная запись активного раздела считывает с диска файлы IO.SYS и MSDOS.SYS (именно в этом порядке). Затем считываются и загружаются резидентные драйверы. Начинается формирование связанного списка драйверов устройств. Анализируется содержимое файла CONFIG.SYS, загружаются описанные в этом файле драйверы. Сначала загружаются драйверы, описанные параметром DEVICE, затем (только в MS-DOS версии 4.х и 5.0) резидентные программы, указанные операторами INSTALL. После этого считывается командный процессор и ему передается управление.

Командный процессор состоит из трех частей - резидентной, инициализирующей и транзитной. Первой загружается резидентная часть. Она обрабатывает прерывания INT 22H, INT 23H, INT 24H, управляет загрузкой транзитной части. Эта часть командного процессора обрабатывает ошибки MS-DOS и выдает запрос пользователю о действиях при обнаружении ошибок.

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

Транзитная часть командного процессора располагается в старших адресах памяти. В этой части находятся обработчики внутренних команд MS-DOS и интерпретатор командных файлов с расширением имени.BAT. Транзитная часть выдает системное приглашение (например, А:\>), ожидает ввода команды оператора с клавиатуры или из пакетного файла и организует их выполнение.

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

1.3. Общая схема работы dos

Для того чтобы правильно работать с системным программным и аппаратным обеспечением, нужно четко представлять себе механизм взаимодействия прикладной программы с компьютером. На рис. 1.1 показаны функциональные связи программы с программно-аппаратным обеспечением IBM PC.

Рис.1. Функциональные связи программы для MS-DOS с программно-аппаратным обеспечением ПЭВМ

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

    файловая система;

    система управления памятью;

    система управления программами;

    система связи с драйверами устройств;

    система обработки ошибок;

    службу времени;

    систему ввода/вывода консоли оператора.

Эти подсистемы общаются с аппаратурой через BIOS, драйверы или напрямую. Прикладное программное обеспечение может вызывать подсистемы DOS, работать с BIOS или непосредственно с аппаратурой. Обратите, однако, внимание на то, что прикладные программы могут обращаться к драйверам только через соответствующую подсистему DOS.

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

Рассмотрим подсистемы DOS отдельно.

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

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

Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным .

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

Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки операционной системы - это BIOS (Basic Input/Output System - базовая система ввода/вывода).

После включения питания компьютера или нажатия кнопки Reset на системном блоке компьютера или одновременного нажатия комбинации клавиш {Ctrl+Alt+Del} на клавиатуре процессор начинает выполнение программы самотестирования компьютера POST (Power-ON Self Test). Производится тестирование работоспособности процессора, памяти и других аппаратных средств компьютера.

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

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

После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы).

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


Рис. 4.20. Процесс загрузки операционной системы

Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение "Non system disk" , и компьютер "зависает", то есть загрузка операционной системы прекращается и компьютер остается неработоспособным.

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

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

Вопросы для размышления

1. Каковы основные этапы самотестирования компьютера?

2. Что хранится в микросхеме конфигурационной памяти компьютера?

3. Каковы основные этапы загрузки операционной системы?

В данной статье я поэтапно опишу процесс загрузки операционных систем 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 для исправления ошибок.

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

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

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

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

Начинается считывание в оперативную память 0-го сектора 0-й стороны диска, в котором находится загрузчик (BOOT RECORD). Управление передается загрузчику, который проверяет наличие на системном диске модуля расширения IO.SYS и базового модуля MSDOS.SYS. Если они находятся в отведенном для них месте (см. рис. 9.10), то он загружает их в оперативную память, в противном случае будет выдано сообщение об их отсутствии. В этом случае рекомендуется произвести повторную загрузку. Сигнал повторной загрузки передает управление постоянному модулю BIOS, который снова переписывает с диска в оперативную память блок начальной загрузки и т.д.

Запомните! Для повторной загрузки операционной системы в память нажать одновременно клавиши .

После успешно выполненной загрузки в оперативную память модуля расширения IO.SYS и базового модуля MSDOS.SYS загружается командный процессор СОМMAND.COM и обрабатывается файл конфигурации CONFIG.SYS, который содержит команды подключения необходимых драйверов. Этот файл может отсутствовать, если вас устраивает базовый вариант операционной системы.

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

Внимание! Файлы с расширением.ВАТ играют при работе в системной среде особую роль. Они содержат совокупность команд операционной системы или имен исполняемых файлов. После запуска файла с расширением.ВАТ все записанные в нем команды выполняются автоматически одна за другой.

Файл со стандартным именем AUTOEXEC.BAT отличается от других файлов типа.ВАТ тем, что выполнение помещенных в него команд начинается автоматически сразу после загрузки операционной системы.

В случае отсутствия файла AUTOEXEC.BAT вам будет предложено ввести дату и время:

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

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

10-25-1997 (месяц день год)

7:30:10.00р (часы:минуты:секунды)

После окончания работы файла AUTOEXEC.BAT, а также если этот файл не обнаружен, на экран дисплея будет выдано приглашение системного диска, например C:\>. Это является свидетельством нормального завершения процесса загрузки, и вы можете приступить к работе, введя имя прикладной программы или команду операционной системы.

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

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

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

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

  • появляется черный экран;
  • возникает синий экран 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, неплотное прилегание шлейфов, наличие пыли внутри системного блока или другие неисправности. Но в программном плане вышеизложенные методы работают безотказно.