Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС
В этой статье я не планирую подробно рассказывать обо всех типах загрузчиков, но хочу свести воедино всю необходимую информацию, которую нужно знать для создания загрузочных дисков, флэшек, а также для восстановления загрузчиков.
При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.
Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.
При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.
Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.
Общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
1CEh 16 Раздел 2
1DEh 16 Раздел 3
1EEh 16 Раздел 4
1FEh 2 Сигнатура (55h AAh)
Длина указана в байтах.
Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.
Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.
Второй этап
На втором этапе запуском компьютера управляют устройства. Точнее — материнская плата. Еще точнее — микросхема постоянного запоминающего устройства (ПЗУ), находящаяся на ней. Совсем точно — пакет встроенных программ, который называется BIOS. Как настроить Boot menu в BOIS Вы можете прочитать в другой инструкции.
Этапы загрузки операционной системы для ОС Windows 7
- Он обращается к первому сектору активного тома для считывания содержимого основной загрузочной записи (MBR).
- Получив сведения о таблице разделов и адресе активного диска, MBR помещает в ОЗУ содержимое его первого сектора – запускает boot manager – файл bootmgr.
- Последний считывает BCD (Boot Configuration Data) из каталога Boot на активном разделе.
Если на компьютере установлено несколько ОС, появится меню с предложением выбрать нужную. По истечении определённого времени (30 секунд) грузится указанная по умолчанию операционная система.
- Далее активируется модуль winload. exe.
- Он запускает следующие составляющие ядра Windows: файлы hal.dll, ntoskrnl.exe.
- Далее стартуют критические сервисы, драйверы.
В это время на дисплее отображается логотип Windows 7.
- Выполняется winlogon.exe, управляющий авторизацией пользователей.
Если на ПК один аккаунт без пароля – загрузится Рабочий стол, в ином случае нужно выбрать пользователя, указать пароль. Финальный этап – запуск оставшихся драйверов, приложений из автозагрузки, выполнение запланированных задач, прорисовка графического интерфейса, подготовка рабочего пространства.
Перечислите основные этапы загрузки устаревшей операционной системы компьютера.
Основные определения и этапы загрузки операционной системы
Включение компьютера, POST, BootMonitor
Начальный этап загрузки операционной системы после включения компьютера начинается в BIOS (Basic Input/Output System — базовая система ввода-вывода). В настройках BIOS мы указываем загрузочное устройство, или ряд загрузочных устройств в порядке их приоритета. Возможны различные варианты загрузки и их комбинации: с жесткого диска, CD/DVD – диска, USB-flash и другие.
Сразу после прохождения POST (Power-On Self-Test — самотестирование после включения) BIOS компьютера начнет поочередно перебирать указанные загрузочные устройства до тех пор, пока на одном из них не найдет подходящую специальную запись, в которой содержится информация о дальнейших действиях.
Загрузчик 1-го уровня. Master Boot Record
Master Boot Record — главная загрузочная запись, расположена в первых физических секторах загрузочных устройств хранения. Она содержит таблицу разделов (Partition Table) и исполняемый код.
Главной задачей программы, записанной в MBR, является поиск активного системного раздела диска и передача управления его загрузочному сектору. Таким образом, эту стадию можно назвать подготовительной, в силу того, что непосредственно загрузки самой ОС еще не происходит.
Системным принято называть раздел диска (устройства хранения) на котором расположены файлы операционной системы, отвечающие за процесс загрузки ОС (сама операционная система может размещаться в другом разделе). В принципе, системных разделов может быть несколько, поэтому один из них отмечается как активный. Именно его ищет программа, загруженная с MBR.
Загрузчик 2-го уровня. Partition Boot Sector
Следующим этапом загрузки компьютера является передача управления исполняемому коду, записанному в PBS (Partition Boot Sector — загрузочный сектор активного раздела). PBS расположен в первом секторе (секторах) соответствующего раздела диска. В коде PBS прописано имя файла загрузчика операционной системы, которому и передается управление на этом этапе.
Начальный этап загрузки операционной системы. Менеджер загрузки ОС
Первоначально в Linux загрузчиком являлся LILO (Linux Loader). В силу имевшихся в нем недостатков, главным из которых была неспособность понимать используемые в Linux файловые системы, позднее начал использоваться загрузчик GRUB (GRand Unified Bootloader) в котором недостатки LILO были исправлены.
Если речь идет о версиях Windows до Vista, например, Windows XP, то будет загружен Ntldr. Он, в свою очередь, считывает информацию из текстового файла Boot.ini, в котором записана информация об установленных операционных системах.
Загрузка ядра операционной системы
Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.
Несколько лет назад в моей практике был такой забавный случай.
Меня попросили помочь одному человеку купить и привести в порядок компьютер для дома. Товарищ этот на тот момент времени только-только вышел на пенсию, а до этого работал в должности начальника и компьютер видел, по большей части, издалека, на столе у своей секретарши. После выхода на пенсию у него появилось время и желание компьютер освоить. Ну что, по-моему, замечательно. Компьютер мы ему подобрали недорогой, но добротный и с хорошим, по тем временам, монитором. Я поставил и настроил кое-какие программы, показал как ими пользоваться. Господин обзавелся книжкой из серии «Что-то там для чайников» и мы расстались абсолютно довольные друг другом.
Примерно через неделю мой подопечный позвонил мне по телефону и чуть не плача сообщил, что все пропало и компьютер больше не работает. Благо, запираться он не стал и честно рассказал, как было дело. А дело было так. Товарищ полез исследовать содержимое своего компьютера и нашел в корне диска С: несколько подозрительных и «ненужных», на его взгляд, файлов. Он решил освободить место и файлики эти попросту удалил. Думаю, что все уже догадались, что это были boot.ini, ntldr, ntdetect и др. Поправить ситуацию сложности не представляло, разве что пришлось ехать к нему еще раз.
К слову сказать, для того, чтобы получить проблемы с загрузкой Windows XP, можно было и ничего не стирать, а слегка «подправить», например, boot.ini.
Видимо Microsoft как то узнала об этом случае и в следующей версии своей ОС решила припрятать файлы загрузчика получше.
Загрузчик второй ступени
Второй этап загрузчика, хранящийся в загрузочном секторе раздела в разделе начальной загрузки и, необязательно, продолжающий его, выполняет следующий шаг в процессе загрузчика: он ищет файл, хранящийся на самом разделе (как обычный файл). и сообщает ЦПУ о необходимости выполнить его содержимое, чтобы начать заключительную часть процесса загрузки.
В отличие от предыдущих сегментов начальной загрузки MBR и загрузочного сектора раздела, следующий шаг в процессе загрузки не сохраняется с выделенным смещением в пределах раздела (т. Е. Код начальной загрузки не может просто сообщить ЦПУ JMP о расположении 0xABC и выполнить оттуда загрузочный файл) – это обычный файл, который хранится среди других обычных файлов в файловой системе на диске.
Этот значительно более сложный код начальной загрузки должен фактически прочитать оглавление для файловой системы в разделе 7. Загрузчик второго уровня в более старых версиях файловых систем часто накладывал сложные ограничения на файлы загрузчика, которые они должны были загрузить, такие как требование их появления в первых нескольких килобайтах раздела или невозможность загрузки не смежно распределённых файлов в раздел. Этот файл является последним фрагментом головоломки загрузчика, и обычно нет никаких ограничений относительно его размера или содержимого, то есть он может быть настолько большим и сложным, насколько это необходимо для загрузки ядра операционной системы с диска и передачи управления ПК с ОС.
Программа настройки BIOS
BIOS является конфигурируемой системой и имеет собственную программу настройки некоторых параметров оборудования ПК, называемую BIOS Setup Utility или CMOS Setup Utility. Вызывается она нажатием специальной клавиши во время проведения процедуры самотестирования POST. В настольных компьютерах чаще всего для этой цели используется клавиша Del, а в ноутбуках F2.
Графический интерфейс утилиты конфигурирования оборудования очень аскетичен и практически не изменился с 80-ых годов. Все настройки здесь осуществляются только с помощью клавиатуры — работа мыши не предусмотрена.
CMOS/BIOS Setup имеет массу настроек, но к наиболее востребованным, которые могут понадобиться рядовому пользователю, можно отнести: установку системного времени и даты, выбор порядка загрузочных устройств, включение/отключение встроенного в материнскую плату дополнительного оборудования (звуковых, видео или сетевых адаптеров), управление системой охлаждения и мониторинг температуры процессора, а так же изменение частоты системной шины (разгон).
У различных моделей системных плат, количество настраиваемых параметров BIOS может сильно разниться. Наиболее широкий спектр настроек обычно имеют дорогие системные платы для настольных ПК, ориентированные на энтузиастов, любителей компьютерных игр и разгона. Самый же скудный арсенал, как правило, у бюджетных плат, рассчитанных на установку в офисные компьютеры. Так же не блещут разнообразием настроек BIOS подавляющее большинство мобильных устройств. Более подробно о различных настройках BIOSи их влиянии на работу компьютера мы поговорим в отдельном материале.
Запуск 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. был кем-то отредактирован, следует исправить эту ошибку.
4.4. Включение загрузки с DVD
2.4.4. Включение загрузки с DVD Чтобы загрузиться с установочного диска Windows, нужно изменить порядок загрузки в BIOS Setup (чтобы система загружалась с DVD, а не с жесткого диска). В случае со стационарным компьютером для входа в BIOS Setup обычно достаточно нажать клавишу <Del> сразу,
Первое включение Заветная кнопка находится всегда на передней панели системного блока. Она – самая крупная на этой панели, не ошибетесь.Наберите воздуха, почувствуйте торжественность момента… Пора! Жмите и смотрите на монитор!Ничего не видите? Не пугайтесь, так часто