Какая программа начинает работать на компьютере сразу после включения
Этапы загрузки операционных систем
Давным-давно, когда я был маленьким работал в институтской лаборатории на большом компьютере СМ-3 (что-то вроде знаменитой PDP-11), bootstrapping (загрузка) ЭВМ выглядела так. В фотосчитыватель заправлялась коротенькая бумажная перфолента с пробитой на ней программой начальной загрузки, запускался процесс считывания, а дальше … как повезет.
Дело в том, что бумажная ленточка постепенно изнашивалась, начинала плохо читаться, и ЭВМ могла с первого раза «не завестись». В этом случае процесс нужно было повторять, порой несколько раз, до победного конца. Когда ленточка окончательно выходила из строя и машина никак не хотела «оживать», приходилось временно вводить программу начальной загрузки вручную при помощи расположенных на передней панели переключателей. Тут, главное, было не торопиться и не делать ошибок.
В современных компьютерах процесс загрузки большей частью автоматизирован, однако это не означает, что он не заслуживает того, чтобы с ним познакомиться.
Основные определения и этапы загрузки операционной системы
Включение компьютера, 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, в котором записана информация об установленных операционных системах.
Загрузка ядра операционной системы
Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.
Видимо Microsoft как то узнала об этом случае и в следующей версии своей ОС решила припрятать файлы загрузчика получше.
Особенности загрузки операционных систем Windows Vista / 7 / 8
В Windows Vista или Windows 7 / 8 диспетчер загрузки называется Bootmgr. Он читает список установленных операционных систем не из простого текстового файла, коим является boot.ini, а из системного хранилища BCD (Boot Configuration Data), доступ к которому осуществляется посредством специальной утилиты bcdedit.exe .
Но это еще не все. Откроем “Управление компьютером” –> “Управление дисками” >
Процесс стандартной инсталляции операционной системы Windows Vista / 7 / 8 создает в начале диска дополнительный раздел «Зарезервировано системой». Ему не присваивается буква диска, благодаря чему, если не сделать дополнительных шагов, и сам раздел и его содержимое будут скрыты от пользователя. Этот основной раздел имеет статус «Системный» и «Активный» и, следовательно, удалить его тоже нельзя.
В Windows 7 размер такого раздела составляет 100 МБ, из которых занято около 30 МБ, в Windows 8 – уже 350 МБ, причем занято из них 105 МБ. Такая разница объясняется тем, что в Windows 8 на этот раздел перенесена папка “Recovery”.
Посмотрим содержимое раздела «Зарезервировано системой». Для этого назначим ему букву диска, например, «W» в “Управление дисками”. Дополнительно откроем «Панель управления» –> «Параметры папок» и на вкладке «Вид» снимем галку с «Скрывать защищенные системные файлы» и поставим отметку на «Показывать скрытые файлы, папки и диски».
Если в системе установлен файловый менеджер FAR Manager, то для просмотра можно воспользоваться им и не заниматься настройкой видимости скрытых файлов.
Так выглядит содержимое раздела «Зарезервировано системой» в Windows 8 >
Как и ожидалось, в корне раздела мы видим загрузчик 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 и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.
Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с загрузочного меню Windows.
- BIOS считывает первые 512 байт с диска (загрузчик)
- передает загрузчику управление
- загрузчик инициализирует настройки процессора
- грузит ядро операционной системы и передает ему управление
- ядро грузит модули, драйвера и остальное системное ПО
Включается тумблер питания.
Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал Power Good процессору. Время между включением питания и уходом сигнала обычно 0.1-0.5 секунд.
Таймер микропроцессора получает сигнал Power Good.
С получением этого сигнала таймер перестает посылать сигнал Reset процессору, позволяя тому включиться.
CPU начинает выполнять код ROM BIOS.
Процессор загружает ROM BIOS начиная с адреса FFFF:0000. По этому адресу прописан только переход на адрес настоящего кода BIOS ROM.
Система выполняет начальный тест железа.
Каждая ошибка, встречающаяся на этом этапе сообщается определенными звуковыми кодами (в прошлом биканьем, сейчас уже вероятно более современно - голосом) , так как видео система еще не инициализирована.
BIOS ищет адаптеры, которые могут потребовать загрузки своего BIOS-а.
Самым типичным случаем в этом случае является видео карта. Загрузочная процедура сканирует память с адреса C000:0000 по C780:0000 для поиска видео ROM. Таким образом загружаются системы всех адаптеров.
ROM BIOS проверяет выключение это или перезагрузка.
Процедура два байта по адресу 0000:0472. Любое значение отличное от 1234h является свидетельством "холодного" старта.
Если это включение ROM BIOS запускает полный POST (Power On Self Test). Если это перезагрузка, то из POST процедуры исключается проверка памяти.
Процедуру POST можно разделить на три компоненты:
Видео тест инициализирует видео адаптер, тестирует карту и видео память, показывает конфигурацию или возникшие ошибки.
Идентификация BIOS-а показывает версию прошивки, производителя и дату.
Тест памяти проверяет чипы памяти и подсчитывает размер установленной памяти.
Ошибки, которые могут возникнуть в ходе POST проверки можно разделить на смертельные и не очень :). Во втором случае они показываются на экране, но позволяют продолжить процесс загрузки. Ясно, что в первом случае процесс загрузки останавливается, что обычно сопровождается серией бип-кодов.
BIOS читает конфигурационную информацию из CMOS.
Небольшая область памяти (64 байт) питается от батарейки на материнской платы. Самое главное для загрузки в ней - порядок, в котором должны опрашиваться приводы, какой из них должен быть первым - дисковод, CD-ROM или винчестер.
Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе.
Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов (партиций) , которая содержит информацию о логических дисках, имеющихся на жестком диске.
Правильная MBR запись записывается в память и управление передается ее коду.
Процесс установки нескольких операционных систем на один компьютер обычно заменяет оригинальный лоадер на свою программу, которая позволяет выбрать с какого диска производить остальную загрузку.
Дальше Boot Loader проверяет таблицу партиций в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела.
В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т. п. ) и переход на первый файл операционной системы (IO.SYS в DOS).
Управление передается операционной системы. Как же она работает, как проходит процесс загрузки?
Boot Record проверяется на правильность и если код признается правильным то код загрузочного сектора исполняется как програм
Тест выполняется после практической работы и завершает изучение темы "BIOS" МДК 01.01 Системное проограммирование.
Вложение | Размер |
---|---|
test1_bios_vybor.doc.docx | 620.74 КБ |
Предварительный просмотр:
ГБОУ СПО СПб КИТ
МДК 01.01 Системное программирование
Тест. Практическая работа №1
Последовательность загрузки компьютера.
BIOS. BIOS SETUP.
Какая программа начинает работать на компьютере сразу после включения?
Как может быть осуществлен запуск программы SETUP?
Щелчок мышью по соответствующему значку
Удерживание кнопки RESET во время включения компьютера
При помощи подключения специального устройства
Замыкание специальной перемычки на системной плате
Нажатие определенной клавиши (клавиш) на начальных этапах запуска компьютера
В чем заключается задача программы POST?
Обеспечить взаимодействие пользователя с компьютером
Информировать о неисправностях оборудования компьютера
Обеспечить запуск операционной системы
Дать возможность установить операционную систему
Восстановление информации с CD на жесткий диск
Что в последнюю очередь пытается осуществить BIOS если POST завершается успешно?
Предпринимает попытку запуска операционной системы
Вывести на экран определенное изображение
Вывести на экран определенный текст
Подать определенный звуковой сигнал
Где хранятся данные о настройках оборудования?
В служебной области жесткого диска
На специальной дискете
В CMOS –памяти на системной плате
Нигде. Вводятся при необходимости
Укажите логотипы фирм, занимающихся разработкой BIOS для IBM-PC подобных машин.
Напишите аббревиатуру названия фирмы-разработчика версии BIOS, экран программы SETUP которой представлен на рисунке: _______________________________________
Обеспечивает простейшее взаимодействие пользователя с машиной
Производит диагностику оборудования
Осуществляет подготовку жесткого диска к установке ОС
Дает справочные данные по работе с компьютером
Позволяет выполнить настройку оборудования
Увеличивает скорость работы графических приложений
Приведен фрагмент экрана работы программы SETUP BIOS. Можно ли сказать, что в настройках оборудования допущены явные ошибки? Если да, введите номера строк, считая сверху, содержащие ошибки. Если строк несколько – введите их номера через запятую: ____________________________
Поставьте в соответствие диагностические надписи программы POST и оборудование, о проблемах которого сообщает самодиагностика:
Выберите правильные ответы. Какие основные кнопки используются при работе с SETUP?
На увеличение времени загрузки компьютера во многом влияют программы, запускающиеся вместе с операционной системой. При необходимости их можно исключить из автозагрузки , но для начала нужно узнать, что именно загружается. Сделать это можно посредством стандартных инструментов Windows и при использовании специализированного стороннего софта.
Просмотр списка автозагрузки стандартными средствами Windows
Отметим, что стандартный инструментарий Windows показывает не полный список программ, загружающихся при включении компьютера. Для просмотра этого списка в Windows 7:
- Откройте приложение "Выполнить" (нажмите "Win + R" на клавиатуре), скопируйте без кавычек в открывшееся окно команду "msconfig" и нажмите "ОК".
1
- Откроется приложение "Конфигурация системы". Перейдите во вкладку "Автозагрузка", в которой будут перечислены приложения, загружающиеся при включении компьютера. При необходимости их можно отключить, сняв галочку напротив нужной программы, и нажав затем кнопку "Применить".
В случае с Windows 10 список автозагрузки находится в системном приложении "Диспетчер задач":
- Вызовите "Диспетчер задач" при помощи комбинации клавиш "Ctrl + Shift + Esc".
- Перейдите во вкладку "Автозагрузка". Чтобы убрать программу из автозагрузки, выделите ее название, затем нажмите кнопку "Отключить".
Многие программы, стартующие при включении компьютера, могут запускаться системой по запланированному заданию. Такие приложения (вернее — системные задания, запускающие их) можно найти в "Планировщике заданий". Чаще всего именно отсюда запускается всевозможное рекламное и вредоносное ПО или отдельные модули обычных программ (например, модули обновления). Чтобы ознакомиться и при необходимости отключить автозапуск таких приложений из "Планировщика заданий", выполните следующие действия:
- Запустите утилиту "Выполнить" (Win + R) и выполните из нее команду — taskschd.msc.
- В отобразившемся приложении "Планировщик заданий" откройте раздел "Библиотека планировщика заданий" (в левой части окна):
- В центральной части окна отобразится список действующих заданий. Не обращайте внимания на значение в колонке "Состояние". Если напротив задания написано "Отключено", это может означать, что оно просто не выполняется в данный момент. Значение "Готово" говорит о том, что задание уже было выполнено. В столбце "Триггеры" перечислены события, при наступлении которых начнется выполнение задания.
- Выберите любое из заданий в этом списке. В нижней части окна отобразятся параметры выбранного задания. Откройте вкладку "Триггеры". Об автоматическом запуске задания при включении компьютера будет свидетельствовать значение "При входе в систему", "При входе любого пользователя" или "При запуске компьютера" в столбце "Триггер".
- Во вкладке "Действия" можно увидеть, какая именно программа запускает выбранное задание, и где она хранится на жестком диске.
- Чтобы удалить задание, кликните по его названию и нажмите клавишу "Del"/"Delete".
При помощи "Планировщика заданий" можно найти и выключить различные навязчивые программы, без конца отображающие уведомления, предлагающие что-то скачать или обновить. Но вовсе необязательно, что задания на их запуск будут приведены в разделе "Библиотека планировщика заданий". Если речь идет о рекламном/вредоносном ПО, то задания на их запуск может быть размещено где угодно в "Планировщике". Также необязательно, что название этих заданий будут соответствовать названию запускающейся программы.
Если задача выполняется в данный момент времени (например, на экране виднеется уведомление от какой-нибудь программы), кликните по разделу "Планировщик заданий (Локальный)", затем вызовите меню "Действие" и в нем выберите "Отображать все выполняемые задачи":
Так можно уточнить название задачи, затем найти и удалить ее. Во всех остальных случаях искать задания придется вручную, посещая каждый из разделов/подразделов всей библиотеки "Планировщика заданий". Ищите триггеры со значениями "При входе в систему", "При входе любого пользователя" или "При запуске компьютера", затем переходите во вкладку "Действия", чтобы определить название запускаемой программы.
Просмотр списка автозагрузки при помощи сторонних утилит
Существует множество программ, позволяющих управлять автозагрузкой в Windows. Одна из наиболее эффективных — Autoruns . Она полностью бесплатная и предназначена исключительно для управления автозагрузкой без каких-либо лишних функций.
Утилита Autoruns позволяет не только просматривать и управлять программами, запускающимися при включении компьютера, но также и рядом других объектов — DLL-библиотеками, файлами драйверов, службами и даже запланированными заданиями в рассмотренном выше "Планировщике заданий".
Программой Autoruns легко пользоваться:
- Распакуйте скачанный архив с утилитой и запустите версию, соответствующую по разрядности с установленной на компьютере системой Windows. Для работы некоторых функций требуется запуск программы от имени администратора.
- В верхней части окна программы расположены вкладки, в которых находятся списки тех или иных автоматически загружающихся объектов. Откройте вкладку "Everything" для просмотра списка всех таких объектов.
- При обнаружении какого-либо приложения в автозагрузке утилита Autoruns рядом с ее названием отобразит соответствующую иконку — так проще найти нужную программу и выключить ее при необходимости. Чтобы сделать это — просто снимите галочку перед ее названием.
Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.
Наверняка многим интересно, как же компьютер загружается? Что за магические действия происходят в нем после нажатия кнопки включения питания и до загрузки всем привычного и знакомого рабочего стола Windows? В этом процессе нет ничего сложного.
При включении компьютера он начинает выполнять программу с заранее определенного адреса, только и всего. Только вот откуда в компьютере берется программа по этому адресу? Он же был выключен, следовательно, если там и было что-то, оно должно было очиститься?
На самом деле, нет. В компьютере есть специальная микросхема, называемая BIOS. BIOS очень страшно расшифровывается как «базовая система ввода-вывода», но на самом деле это просто не очень большой объем памяти с загруженной в него программой. Особенность этой памяти в том, что при выключении компьютера она не очищается, а всегда находится в строю и всегда готова к работе. Программу эту записывают один раз при производстве компьютера на заводе, и после этого, как правило, не меняют (хотя данная возможность предусмотрена).
Содержимое данной памяти очень зависит от модели вашего компьютера. Например, если вы возьмете ноутбук Acer Aspire 5552G, прочитаете в ней BIOS, и попробуете его записать в ноутбук Asus, то последний у вас, скорее всего, после этого перестанет включаться вообще. Если вы не разбираетесь в том, как BIOS работает, лучше вообще его не трогайте.
Что же делает эта программа, которая запускается при старте компьютера? Вполне логичные вещи – инициализирует оборудование, проверяет память, позволяет вам задавать параметры системы.
После этого данная программа проверяет, откуда она должна загружать дальнейшую информацию. Как правило, с какого-то жесткого диска, заданного в параметрах. Этот жесткий диск открывается, и с него считывается самый-самый первый сектор, называемый «MBR» размером всего 512 байт.
Программа в этом секторе может немного (ну еще бы, что такого грандиозного можно уместить в таком маленьком объеме), она лишь может проверить с какого раздела жесткого диска нужно загружаться дальше, и грузит еще один сектор, называемый «загрузочным».
И вот, именно загрузочный сектор далее загружает вашу любимую операционную систему с жесткого диска. Естественно, не всю, а только первый ее файл, который для Windows XP называется ntldr. Дальше уже запускается операционная система, и BIOS несколько отходит от дел.
В последнее время от BIOS начали отказываться, и переходить на новый стандарт под названием UEFI. Если у вас достаточно новый компьютер, то вполне возможно, что именно UEFI стоит у вас на материнской плате. Чем же BIOS не угодил производителям, и зачем они придумали очередной «велосипед»?
Все дело именно в том, что было написано выше. BIOS абсолютно разные даже для похожих моделей компьютеров. Но ведь любой компьютер должен понимать мышь или флешки? Почему бы не создать унифицированную «программу поддержки мышек», чтобы в каждом BIOS она была одинакова? Ну и, наконец, почему бы не позволить пользователю самому что-то дописать к своему BIOS? Чтобы вы могли скачать с Интернета «супер-пупер-программу-позволяющую-вашему-BIOS-рисовать-супер-пупер-рисунки», и добавить ее к процессу начальной загрузки. Именно это позволяет вам сделать UEFI. Именно поэтому, скорее всего, за стандартом UEFI будущее.
Понравилась полезная статья? Подпишитесь на RSS и получайте больше нужной информации!
Читайте также: