Загрузка операционной системы начинается с выполнения POST (Power-On Self-Test) после включения компьютера, когда BIOS проверяет основные аппаратные компоненты, такие как процессор, оперативная память и устройства ввода-вывода. Если все устройства работают корректно, BIOS ищет загрузочные устройства в установленной последовательности, определенной в настройках BIOS.
После нахождения загрузочного устройства, BIOS считывает загрузочный сектор, на котором находятся инструкции для дальнейшей загрузки операционной системы. Эти инструкции передают управление загруженному программному обеспечению, что и запускает саму операционную систему, позволяя пользователю взаимодействовать с компьютером.
Что такое POST (самотестирование при включении)?
Самопроверка при запуске (POST) представляет собой серию операций, которые выполняются программным обеспечением или микропрограммами сразу после включения устройства, с целью установить правильность работы аппаратного обеспечения. Процесс будет продолжаться только при условии корректной работы необходимых компонентов, в противном случае BIOS (базовое программное обеспечение ввода-вывода) уведомит о возникшей ошибке.
Под_sequence POST_ осуществляется независимо от операционной системы и обрабатывается системным BIOS. Обычно после успешного завершения тестирования POST сообщает операционной системе звуковыми сигналами, количество которых может варьироваться в зависимости от конфигурации системы. После успешного завершения POST начинается процесс загрузки, который активирует инициализацию операционной системы.
Роль POST в последовательности загрузки
Процесс загрузки системы — это этап инициализации компьютера. Он начинается с нажатия кнопки включения, что запускает подачу питания на загрузчик в кэш-память. Загрузчик выполняет предварительные тесты (POST), и если все проходит успешно, активируется BIOS (базовая система ввода-вывода), который находит и запускает операционную систему.
- Определите, узнайте размеры и проверьте основную память устройства.
- Запустите BIOS.
- Определите, систематизируйте и выберите устройства, доступные для загрузки.
- Проверьте регистры центрального процессора.
- Убедитесь в целостности кода BIOS.
- Проверьте ключевые компоненты, такие как DMA, таймер и контроллер прерываний.
- Передайте управление специальным расширениям BIOS (если они присутствуют).
- Компоненты аппаратного обеспечения, включая процессор, системы хранения данных и оперативную память.
- Ключевые системные устройства, такие как клавиатура и другие внешние устройства.
- Регистр центрального процессора
- ДМA (прямой доступ к памяти)
- Таймерные устройства
- Управляющий модуль прерываний
Типы ошибок, возникающих во время POST
Если в POST есть какие-либо ошибки, система не сможет перейти к следующим шагам (процессу загрузки), так как это приведет к фатальной ошибке. Последовательность POST выполняется независимо от операционной системы. Однако способ обработки POST и типы выдаваемых ошибок могут быть изменены поставщиком в соответствии с системными требованиями.
Ошибочные уведомления могут проявляться как текстовые сообщения на экране или звуковыми сигналами. Вне зависимости от производителя, будет доступно руководство, объясняющее различные виды ошибок и соответствующие сообщения, что поможет в диагностике проблем. Ошибки могут варьироваться от проблем с четностью до неисправностей материнской платы. Примеры звуковых сигналов для MAC:
Действия по устранению неполадок для устранения ошибок
- Определите время, когда возникла неполадка.
- Проверьте, изменялось ли какое-либо оборудование с последнего успешного запуска системы.
- Если было добавлено новое оборудование, постарайтесь его удалить и протестировать, чтобы локализовать проблему.
- Отключите все диски и USB-устройства, затем перезагрузите систему для проверки изменений.
- Подключите рабочий кабель питания, чтобы удостовериться, что система запускается.
- Если заметили перегрев, убедитесь, что все вентиляторы функционируют должным образом.
- Если замечаете какие-либо коды ошибок (звуковые сигналы, световые индикаторы, сообщения на экране), следуйте рекомендациям для устранения неисправностей.
- https://en.wikipedia.org/wiki/Booting
- https://ru.wikipedia.org/wiki/Самодиагностика_при_включении
Прохождение POST и загрузка ОС(ликбез)
При прохождении каждой секции POST записывает ее код (номер) в диагностический регистр (обычно порт 80h) . Этот регистр физически располагается на специальной диагностической плате, устанавливаемой в слот системной шины. Плата содержит 8-битный регистр со световой (двоичной или шестнадцатеричной) индикацией состояния бит.
В системе ввода/вывода регистр занимает один адрес, который зависит от архитектуры ПК, а именно от версии BIOS (80h — 84h, 90h, 680h, 300h). По светодиодам на материнской плате можно установить, на каком этапе завершился POST, и выяснить причину сбоя.
Тем не менее, для реализации такой диагностики необходимы, во-первых, сама индикаторная плата, а во-вторых, "словарь" ошибок — специализированная таблица для конкретной версии BIOS и модели материнской платы. В процессе выполнения POST могут возникать диагностические сообщения в виде последовательности коротких и длинных звуковых сигналов (эти сигналы варьируются в зависимости от версии BIOS и производителей), а после успешной инициализации видеокарты краткие текстовые сообщения отображаются на экране монитора.
Типовая последовательность этапов POST: 1) Проверка состояния регистров процессора. 2) Верификация контрольной суммы ROM BIOS. 3) Инициализация и проверка таймера. 4) Инициализация и тестирование контроллеров DMA. 5) Проверка регенерации оперативной памяти. 6) Тестирование 64 Кбайт нижней зоны памяти. 7) Загружение векторов прерывания и стека в нижнюю область памяти.
8) Инициализация видеоконтроллера: на экране появляется заставка Video BIOS, где обычно указывается модель видеокарты и объем установленной видеопамяти. Если этот шаг успешен, заставка меняется на заставку системной BIOS, показывающую счетчик объема тестируемой динамической памяти. С этого момента диагностические сообщения выводятся на экран.
9) Тестирование полного объема ОЗУ. 10) Тестирование клавиатуры. 11) Тестирование CMOS-памяти и часов. 12) Инициализация СОМ и LPT портов. 13) Инициализация и тест контроллера НГМД. 14) Инициализация и тест контроллера НЖМД. 15) Сканирование области дополнительного ПЗУ (ROM BIOS).
16) Вызов Bootstrap (INT 19h) — инициация загрузки операционной системы, в случае неудачи происходит остановка процессора с уведомлением "System Halted" (система остановлена). Во время загрузки системы, если дисковод готов, загружается Master Boot сектор (первый сектор нулевого цилиндра нулевой поверхности) с диска C:, которому затем передается управление.
Master Boot осуществляет загрузку Boot Sector активного раздела в оперативную память и передает управление на его начальный адрес. Порядок загрузки может изменяться дополнительным ПЗУ BIOS сетевого адаптера, если происходит удаленная загрузка по сети. В процессе выполнения POST используются ячейки CMOS: — 0Fh (Shutdown Flag) — идентификаторы состояния перед началом тестирования; — BIOS DATA AREA [0 : 0472] — тип рестарта (1234h = CTRL+ALT+DEL — "теплый" перезапуск, 4321h — сброс с сохранением содержимого памяти). Это позволяет определять причины перезагрузки (перезагрузка, выход из защищенного режима и т. д.) для обхода определенных секций POST; — результаты выполнения тестов фиксируются в CMOS 0Eh — Post Diagnostic Status Byte. — в байтах 2Еh-2Fh хранится контрольная сумма CMOS.
Принцип загрузки ОС
В современных компьютерах процесс загрузки большей частью автоматизирован, однако это не означает, что он не заслуживает того, чтобы с ним познакомиться.
Ключевые термины и стадии установки операционной системы
Включение компьютера, POST, BootMonitor Начальный этап загрузки операционной системы после включения компьютера начинается в BIOS (Basic Input/Output System — базовая система ввода-вывода). В настройках BIOS мы указываем загрузочное устройство, или ряд загрузочных устройств в порядке их приоритета. Возможны различные варианты загрузки и их комбинации: с жесткого диска, CD/DVD – диска, USB-flash и другие.
Непосредственно после завершения процедуры POST (Power-On Self-Test — самотестирование после включения) BIOS ПК начнет последовательное исследование указанных устройств для загрузки, пока не обнаружит соответствующую запись, содержащую информацию о последующих действиях. Загрузчик первого уровня.
Master Boot Record (MBR) — это основная загрузочная запись, расположенная в первых физических секторах устройств хранения. Она включает таблицу разделов (Partition Table) и исполняемый код. Основная задача, предусмотренная в MBR, заключается в определении активного системного раздела на диске и передаче управления его загрузочному сектору.
Таким образом, эту стадию можно назвать подготовительной, в силу того, что непосредственно загрузки самой ОС еще не происходит. Системным принято называть раздел диска (устройства хранения) на котором расположены файлы операционной системы, отвечающие за процесс загрузки ОС (сама операционная система может размещаться в другом разделе).
Фактически, на диске может существовать несколько системных разделов, из которых один назначается активным. Именно его находит программа, загруженная с MBR. Далее идет загрузка второго уровня. Загрузочный сектор раздела (PBS — Partition Boot Sector) представляет собой следующий этап в процессе загрузки компьютера, на котором управление передается исполняемому коду, находящемуся в активном разделном загрузочном секторе.
Как и ожидалось, в корне раздела мы видим загрузчик Bootmgr. А так выглядит часть содержимого папки «Boot» >
В папке располагается база данных конфигурации загрузки BCD, а также связанные с ней каталоги с языковыми файлами и шрифтами. Для завершения картины необходимо уточнить, какой из разделов считается загрузочным. Ответ на этот вопрос уже демонстрируется на изображении с томами Windows 7. Ясно, что это тот раздел, где хранятся все ключевые файлы операционной системы.
Так что запомнить названия разделов диска достаточно просто, если следовать принципу «всё наоборот» — на системном разделе отсутствует система (операционная), но находится загрузчик третьего уровня, тогда как на загрузочном разделе нет загрузчика, но есть сама система. Конечно, эта «мнемоника» сработает только в том случае, если присутствует несколько разделов.
Если раздел один, то он может быть сразу системным, активным и загрузочным. Главной задачей загрузчика 3-го уровня, в роли которого выступает, в зависимости от типа ОС, Bootmgr, Ntldr или GRUB, является чтение с загрузочного диска и загрузка ядра операционной системы.
Кроме того, если на компьютере имеется несколько операционных систем, загрузчик 3-го уровня предоставляет возможность выбирать нужную при каждом включении устройства. Распространенной ошибкой, о которой Microsoft опубликовала отдельную статью, является установка Windows XP после Windows Vista, 7 или 8. Установщик Windows XP отмечает свой раздел как активный, в результате чего MBR передает управление PBS этого раздела, а затем — Ntldr. Загрузчик Windows XP не имеет информации о более современных версиях операционных систем Windows, что делает их загрузку невозможной. Исправить ситуацию довольно просто, однако неопытный пользователь может оказаться в замешательстве.