Микросхема в которой хранятся программы биос тестирования пк загрузки ос драйверы устройств
Цель работы: знакомство с процедурой первоначальной загрузки компьютера; получение представления о назначении BIOS; знакомство с основными приемами настройки BIOS, со средствами тестирования компьютера.
Назначение BIOS. Прежде операционной системы в компьютере запускается встроенная в чип материнской платы программа BIOS (Base Input/Output System, основная система ввода/вывода). Назначение этого небольшого (256 Кб) программного кода — поиск, тестирование и установка некоторых параметров устройств компьютера. Правильный подбор параметров может ускорить загрузку компьютера. BIOS представляет собой программу, записанную в микросхему ПЗУ по той или иной технологии ROM и, следовательно, не требующую питания, для того чтобы храниться там даже после выключения компьютера. Параметры настройки BIOS хранятся в энергозависимой CMOS RAM, которая питается от батарейки на материнской плате.
После включения питания напряжение подается на центральный процессор и другие микросхемы материнской платы. Центральный процессор запускает из микросхемы программу BIOS, и начинается процедура POST (Power On Self Test, инициализация при первом включении). Ее задача — просканировать и настроить все аппаратное обеспечение. Прежде всего формируется логическая архитектура компьютера. Подается питание на все чипсеты, в их регистрах устанавливаются нужные значения. Затем определяется объем ОЗУ (этот процесс можно наблюдать на экране), включается клавиатура, распознаются LPT- и СОМ-порты. На следующем этапе определяются блочные устройства — жесткие диски IDE и SCSI, флоппи-дисководы. На заключительной стадии происходит отображение итоговой информации. После окончания работы POST BIOS ищет загрузочную запись. Эта запись, в зависимости от настройки, находится на первом или втором жестком диске, флоппи-диске, ZIP или CD-ROM. Загрузочная запись загружается в память, и управление передается ей.
Настройка BIOS. Для изменения настроек BIOS используется программа Setup, для входа в которую обычно используются клавиши Del или F2 (это зависит от производителя и версии BIOS). К сожалению, единого стандарта интерфейса этой программы не существует. Однако некоторое логическое единообразие — следствие единой выполняемой задачи — все же имеется. На сегодняшний день подавляющее большинство настольных ПК оснащено AWARD BIOS. Кроме этого типа BIOS используются также AMI или Phoenix.
Рассмотрим некоторые настройки AWARD BIOS. Программа настройки SETUP разделена на функциональные блоки, каждый из которых выполняет свой класс задач. В версии AWARD BIOS обычно есть следующие разделы:
• общие параметры (STANDARD CMOS SETUP, MAIN);
• свойства самой BIOS (BIOS FEATURES SETUP, ADVANCED);
• свойства других чипсетов (CHIPSET FEATURES SETUP, Chip Configuration);
• свойства интегрированных устройств (INTEGRATED PERIPHERALS, I/O Devices Configuration);
• свойства слотов PCI (PNP/PCI CONFIGURATION, PCI CONFIGURATION);
• управление питанием (POWER MANAGMENT SETUP, POWER);
• пароли системы (SUPERVISOR PASSWORD, USER PASSWORD);
• сохранение и восстановление настроек (SAVE SETUP, LOAD BIOS DEFAULT, LOAD SETUP DEFAULTS);
• выход и сохранение (EXIT).
Общие параметры. В этом разделе устанавливается системное время, настраиваются IDE- и флоппи-дисководы, выбирается реакция системы на ошибки. Здесь же приводится размер инсталлированной в компьютере RAM. Обычно указывать время и дату приходится только при первом включении компьютера или при переходе на зимнее/летнее время. Впоследствии правильное значение поддерживается встроенными часами, питающимися от аккумулятора.
Загрузка компьютера может сопровождаться ошибками. То, как система должна на них реагировать, определяет параметр Halt On:
• All Errors — останавливать загрузку при любой ошибке;
• No Errors — продолжать загрузку в любом случае;
• All, But Keyboard — прекращать загрузку при любой ошибке, кроме отсутствия клавиатуры (этот режим часто используется в серверных ПК, настроенных на удаленное управление);
• All, But Diskette или All, But Disk/Key — прерывать загрузку при любых ошибках, кроме отсутствия дисковода или дисковода и клавиатуры.
Свойства BIOS. В этом разделе находятся различные опции, так или иначе относящиеся к специфичным настройкам BIOS, центрального процессора, кэш-памяти и подобного. Здесь можно встретить следующие параметры:
• CPU Internal Frequency. Конструкция некоторых материнских плат позволяет указать здесь частоту процессора. Однако будьте осторожны: «разгон» процессора может привести к его повреждению.
• Boot Up NumLock Status. Автоматическое включение цифровой клавиатуры, полезно для индивидуальной настройки.
Следующие опции могут быть выделены в отдельный раздел BOOT (в других версиях BIOS):
• Quick Power On Self Test (Quick Mode). Ускоряет загрузку, пропуская некоторые тесты, в том числе тройную проверку ОЗУ.
• Virus Warning, Boot Virus Detection. Защита от загрузочных вирусов. При установке защиты будет запрещен доступ к загрузочной записи жесткого диска. Этот параметр следует отключать при инсталляции ОС.
• Boot Up Floppy Seek. Производит поиск дисковода при загрузке. Этот режим можно отключить, ускорив тем самым выполнение POST.
• Boot Sequence. Последовательность просмотра дисков для поиска загрузочного сектора. Этот режим может быть представлен и другим способом — в виде списка из четырех устройств. Обычно первым загрузочным устройством удобно ставить диск С. Система, настроенная на загрузку с дискеты, у неопытных пользователей вызывает иногда затруднения. Если по окончании работы дискету оставить в дисководе, то при следующем включении система будет безуспешно пытаться с нее загрузиться. Кроме жестких дисков и дисководов современные системы могут загружаться с CD-ROM.
Свойства интегрированных устройств. Как правило, в материнскую плату встроен ряд контроллеров периферийных устройств: контроллер IDE, контроллер последовательных и параллельных портов, клавиатуры, флоппи-дисковода и пр. Иногда возникает необходимость отключения некоторых устройств. В этом разделе обычно можно встретить следующие пункты:
• Onboard IDE-1 Controller — первый контроллер IDE-дисков;
• Onboard IDE-2 Controller — второй контроллер IDE-дисков;
• USB Keyboard support. Как известно, шина USB поддерживается средствами ОС. Таким образом, до загрузки Windows клавиатура работать не должна. Режим USB Keyboard support позволяет BIOS самостоятельно, на этапе загрузки, обрабатывать события, поступающие от клавиатуры;
• Onboard FDD Controller — с помощью этого параметра можно отключить интегрированный в материнскую плату контроллер флоппи-дисковода.
• Onboard Serial Port 1/2. Этот параметр позволяет отключить порты СОМ 1 и COM2.
• Onboard Parallel Port — отключение порта LPT (принтера).
Отметим еще один полезный раздел SETUP — Load Setup Default. Он восстанавливает заводские установки. Как правило, это самая надежная и универсальная комбинация параметров, которой можно воспользоваться, если по-другому компьютер не запускается.
Тестирование компьютера. В состав операционной системы Windows входит целый ряд служебных программ и утилит, позволяющих определить конфигурацию компьютера, установить версии ОС и BIOS, а также выполнить тестирование отдельных устройств.
К их числу относятся:
• утилита «Система» (команда Настройка —> Панель управления);
• утилита «Сведения о системе» (команда Программы Стандартные —> Служебные);
• утилита «Администрирование» (команда Настройка —> Панель управления).
Задание 1
1. Определить тип и версию BIOS на вашем рабочем компьютере.
2. Установить следующий порядок загрузки компьютера: CD-ROM, С, А.
3. Установить параметр ускоренной загрузки компьютера (отмена тройного тестирования памяти).
4. Отключить поиск флоппи-дисковода при загрузке.
5. Установить автоматическое включение цифровой клавиатуры при загрузке компьютера.
6. Установить продолжение загрузки компьютера при возникновении любой ошибки, кроме ошибки клавиатуры.
7. Запретить доступ к загрузочной части жесткого диска (установить защиту от Boot-вирусов).
8. Отключить порты СОМ и LPT.
Задание 2
1. Изучить возможности служебных программ и утилит компьютера.
2. Пользуясь изученными утилитами, определить следующие характеристики компьютера.
3. Понаблюдать за степенью загрузки процессора в различных состояниях и заполнить таблицу.
4. Проверить необходимость дефрагментации жесткого диска и, при необходимости, выполнить его дефрагментирование.
Задание 3*
Материнская плата (Motherboard) — основной компонент каждого ПК. Называется главной (Mainboard), или системной, платой. Это самостоятельный элемент, который управляет внутренними связями и взаимодействует с внешними устройствами. Материнская плата является основным элементом внутри ПК, влияющим на производительность компьютера в целом.
Конструктивно материнская плата является главной платой ПК, на которой размещены все его основные элементы, линии соединения и разъемы для подключения внешних устройств.
Тип установленной материнской платы определяет общую производительность системы, а также возможности модернизации ПК и подключения дополнительных устройств.
Наиболее известными среди фирм — производителей материнских плат в настоящее время являются Intel, FICO, LackyStar, ASUStec.
На рис. 2.4 представлена структура типовой материнской платы:
Рис. 2.4. Структура типовой материнской платы
• процессор, установленный в специальный разъем и охлаждаемый радиатором с вентилятором;
• микросхемы кэш-памяти второго уровня (внешней). В современных процессорах эти микросхемы устанавливаются на плату картриджа центрального процессора;
• слоты для установки модулей оперативной памяти;
• слоты для установки карт расширения. Как правило, на материнских платах имеются разъемы для карт стандарта ISA и PCI. Современные модели материнских плат оборудованы дополнительно слотом AGP. Наличие слотов и возможность установки в них любых карт расширения (видеоадаптера, звуковой карты, модема, карты АЦП и других) определяет открытую архитектуру ПК;
• микросхема перепрограммируемой памяти, в которой хранятся программы BIOS, программы тестирования ПК, загрузки операционной системы, драйверы устройств, начальные установки;
• разъемы для подключения накопителей HDD, FDD.
Все компоненты материнской платы связаны между собой системой проводников (линий), по которым происходит обмен информацией. Эту совокупность линий называют информационной шиной, или просто шиной (Bus).
Взаимодействие между компонентами и устройствами ПК, подключенными к разным шинам, осуществляется с помощью так называемых мостов, реализованных на одной из микросхем Chipset. Например, на рис. 2.4 мост для соединения шины ISA и PCI реализован в микросхеме 82371АВ.
Размеры материнской платы, а также отверстия внутри платы, которые соединяют ее с дном корпуса, стандартизованы. Основные типоразмеры материнских плат различных стандартов даны в табл. 2.4.
Информация о том, что такое BIOS, что такое UEFI, какие возможности они предоставляют пользователю, как зайти в настройки BIOS, UEFI.
Содержание статьи
Что такое BIOS
BIOS компьютера – это главная программа, присутствующая на любом компьютере или ноутбуке, определяющая порядок работы его составных частей, а также их взаимодействия между собой.
Термин «BIOS» происходит от англ. "Basic Input - Output System", что переводится как «Базовая система ввода – вывода». Правильно произносить "Байос", хотя в разговорную речь прочно вошел неверный вариант "Биос".
BIOS является первичной и самой главной программой компьютера. Во время запуска компьютера первым стартует именно BIOS. Он проверяет и инициирует все устройства компьютера, и лишь затем передает функции управления ими загружающейся операционной системе (Windows или другой). От настроек BIOS в первую очередь зависит способ загрузки компьютера, порядок взаимодействия между собой его процессора, материнской платы, видеокарты и других составных частей.
BIOS компьютера хранится непосредственно на материнской плате в специальной запоминающей микросхеме, часто называемой ROM BIOS или микросхемой ПЗУ (см. изображение справа). Благодаря этому, BIOS всегда доступен компьютеру без подключения жесткого диска или других запоминающих устройств (в отличие от операционной системы и обычных программ).
Запоминающая микросхема материнской платы, в которой хранится BIOS, является частично энергозависимой и питается от плоской батарейки типа CR2032 (ее хорошо видно на материнской плате, внешне похожа на монету). Если эту батарейку вынуть из разъема или если она разрядится, ничего страшного не произойдет. Из микросхемы сотрутся лишь изменения, внесенные в настройки BIOS пользователем, а сам BIOS вернется в первоначальное положение (к настройкам "по умолчанию").
Поэтому, не смотря на всю важность BIOS, потенциальные риски, связанные с внесением в него неправильных настроек, являются относительно невысокими. Если в их результате стабильность работы компьютера будет нарушена, BIOS можно легко "откатить" до начального состояния. Достаточно выключить (обесточить) компьютер и на несколько секунд вынуть из разъема его материнской платы батарейку, питающую микросхему ROM BIOS.
О том, как зайти в настройки BIOS компьютера (BIOS Setup) и какие изменения можно в них вносить, описано в последних двух разделах этой статьи, а также в некоторых других статьях этого сайта, посвященных решению конкретных вопросов.
В то же время, существует возможность вносить изменения в BIOS, не исчезающие после обесточивания запоминающей микросхемы. Речь идет о полной замене BIOS на другую его версию. Эта операция в разговорной речи называется перепрошивкой и позволяет решать проблемы совместимости материнской платы с новыми устройствами, добавлять отдельные варианты ее настроек или устранять мелкие недочеты, допущенные при разработке старых версий BIOS.
Однако, перепрошивка BIOS требует серьезного подхода, поскольку в случае неудачи может повлечь за собой плачевные последствия, вплоть до необходимости приобретения новой материнской платы. В Интернете можно найти много инструкций по самостоятельной перепрошивке BIOS, но неопытным пользователям делать это мы настоятельно не рекомендуем. (тем более, без веских на то причин).
Следует также учитывать, что BIOS есть не только у материнских плат, но также и у некоторых других сложных компьютерных устройств. Например, на видеокарте компьютера присутствует собственный BIOS, отвечающий только за ее работу. Однако, чаще всего пользователю приходится иметь дело с BIOS материнской платы. Именно этот BIOS имеется ввиду, когда говорят о BIOS компьютера.
Что такое UEFI
На новых компьютерах вместо BIOS может использоваться UEFI (Unified Extensible Firmware Interface) – унифицированный расширяемый интерфейс прошивки.
По своей сути и предназначению UEFI является тем же BIOS (см. предыдущий пункт этой статьи), но с более широкими возможностями. Использование UEFI было предложено корпорацией Intel в начале 2000-х годов с целью избавиться от некоторых ограничений и неудобств при настройке сложных серверных систем на базе современных (по тем временам) процессоров Itanium.
В отличие от BIOS, UEFI может иметь встроенные драйверы базовых устройств и специальные дополнительные оболочки, а меню его настройки может быть многоязычным. Это позволяет без загрузки операционной системы пользоваться более удобным графическим интерфейсом, манипулятором "Мышь", возможностью выхода в сеть, воспроизведением CD/DVD, некоторыми средствами диагностики компьютера, файловым менеджером и другими удобными инструментами (в зависимости от версии UEFI).
Но кроме улучшений использование UEFI может иметь и негативные последствия. В частности, средствами UEFI производители аппаратного обеспечения могут ограничивать возможности пользователя в плане выбора операционной системы или действий с ней.
Как зайти в настройки BIOS, UEFI
Зайти в настройки BIOS (UEFI) можно только во время включение или перезагрузки компьютера. Для входа необходимо в относительно небольшой промежуток времени после включения компьютера и до начала загрузки Windows успеть нажать специальную кнопку.
Чаще всего для входа в настройки BIOS служит кнопка Del (Delete). На некоторых компьютерах вместо Del может использоваться кнопка F2 или другие клавиши.
Чтобы гарантированно успеть войти в BIOS (UEFI), лучше сразу же после включения (перезагрузки) компьютера начать периодически нажимать соответствующую кнопку (с интервалом 1-2 раза в секунду).
Какую кнопку нужно нажимать для входа в BIOS, компьютер "подсказывает" вскоре после начала загрузки. Достаточно лишь присмотреться. Надпись типа "Press Del to enter setup", "Del - setup" или другая похожая фраза свидетельствует о необходимости нажатия кнопки Del. Если в такой надписи вместо Del будет F2, значит нажимать нужно F2. Если другая кнопка – нажимать следует ее.
На разных компьютерах меню BIOS, как и меню UEFI, может существенно отличаться. Все зависит от их версии. Меню настроек BIOS, как правило, представляет собой разделы (вкладки) на английском языке на синем или белом фоне. В каждом таком разделе размещены конкретные параметры компьютера. Значение большинства из них можно изменять. Меню настройки UEFI в графическом плане выглядит несколько привлекательней BIOS, хотя структура и принципы навигации по нему ничем не отличаются (см. изображения ниже: 1 – BIOS, 2 – UEFI).
Для перехода между разделами служат клавиши со стрелками "Вправо" и "Влево".
Выбор конкретного параметра в открытом разделе осуществляется клавишами со стрелками "Вверх" и "Вниз". Изменение выбранного параметра чаще всего производится нажатием клавиш "Enter", "+", "-" или вводом конкретных числовых показателей. В любом случае, разобраться в порядке изменения параметров BIOS (UEFI) не сложно. Тем более, что в правой части меню есть подсказки по этому поводу.
В UEFI для навигации и изменения настроек можно пользоваться мышкой.
Чтобы сохранить внесенные в BIOS (UEFI) изменения и продолжить загрузку компьютера с их учетом, нужно нажать клавишу F10 и затем Enter.
Для выхода из BIOS (UEFI) без сохранения изменений необходимо нажать Esc и затем Enter.
Основные возможности BIOS, UEFI
Войдя в настройки BIOS или UEFI компьютера, пользователь может:
• получить информацию об основных составных частях компьютера (названия моделей, серийные номера и др.);
• отключить некоторые из устройств (дисководы, сетевые карты, картридеры, запоминающие устройства и др.). Для этого в настройках BIOS (UEFI) возле них значение "Enable" (используется) нужно изменить на "Disable" (отключено). Отключать неиспользуемые устройства целесообразно, например, для экономии заряда батареи ноутбука;
• получить данные о частотных, температурных и других характеристиках работы некоторых устройств, а также использовании ими разнообразных технологий (частота шины процессора, частота оперативной памяти, температура процессора, температура чипсета материнской платы, скорость вращения куллеров, напряжение на процессоре и других устройствах, а также много другой информации);
• изменить частотные и другие показатели работы отдельных устройств компьютера, а также отключить или включить некоторые из используемых ими технологий (изменить частоту шины процессора, частоту оперативной памяти, множитель процессора, напряжение процессора, напряжение оперативной памяти, задержки оперативной памяти и др. параметры).
На каждом конкретном компьютере возможности изменения настроек BIOS (UEFI) существенно отличаются. Все зависит как от характеристик устройств, входящих в состав компьютера, так и от версии его BIOS (UEFI).
Чтобы максимально эффективно использовать возможности BIOS (UEFI) своего компьютера, пользователь должен зайти в его настройки и изучить их содержание.
В Интернете есть много других подобных сайты.
Независимо от компьютера или операционной системы, стандартные («IBM-совместимые») настольные ПК и ноутбуки включаются и запускаются одним из двух способов: традиционным методом BIOS-MBR и более новым методом UEFI-GPT, используемым последними версиями Windows, Linux и Mac OS X на более новых ПК, ноутбуках и планшетах. В этой статье кратко описывается процесс загрузки операционной системы традиционными компьютерами BIOS, а также рассматриваются основы и детали BIOS, MBR и загрузочного сектора.
Обзор процесса загрузки BIOS / MBR
На диаграмме ниже показана последовательность загрузки для всех стандартных компьютеров и операционных систем:
Как видите, процесс загрузки разбит на несколько основных компонентов, каждый из которых является полностью отдельной подсистемой с множеством различных опций и вариантов. В зависимости от вашего оборудования и операционной системы реализации каждого компонента могут сильно различаться, но правила, которым они следуют, и процесс, с помощью которого они работают, всегда одинаковые.
Компоненты процесса загрузки
Когда ваш компьютер впервые включается, многое происходит. Электрические компоненты ПК изначально отвечают за оживление вашего компьютера, и когда вы нажимаете кнопку питания и запускаете переключатель, который активирует источник питания и направляет ток от блока питания к материнской плате и, главным образом через него, ко всем различным компонентам вашего ПК. Поскольку каждый отдельный компонент получает живительную электроэнергию, он включается и переводится в первоначальное состояние. Процедуры запуска и общая функциональность более простых компонентов, таких как ОЗУ и БП, встроены в них в виде последовательности логических схем (вентили AND/NAND и OR/NOR), в то время как более сложные компоненты, такие как видеокарта, имеют свои собственные микроконтроллеры, которые могут выступать в качестве мини-процессоров, управляя оборудованием и взаимодействуя с остальным ПК, чтобы делегировать и контролировать работу.
Процесс POST
Как только ваш компьютер включен, BIOS начинает свою работу как часть процесса POST (Power-On Self Test). Он соединяет все различные части вашего ПК вместе и, при необходимости, взаимодействует между ними, настраивая видеодисплей для приёма основного сигнала VGA и отображения его на экране, инициализируя банки памяти и предоставляя вашему ЦП доступ ко всем аппаратным средствам. Он сканирует шины ввода-вывода для подключенного оборудования, а также идентифицирует и отображает доступ к жёстким дискам, подключенным к вашему ПК. BIOS на новых материнских платах достаточно умён, чтобы даже распознавать и идентифицировать USB-устройства, такие как внешние накопители и USB-мыши, позволяя загружаться с USB-накопителей и использовать мышь с устаревшим программном обеспечении.
BIOS Boot Handoff
После настройки основных устройств ввода и вывода вашего ПК BIOS вступает в финальную стадию, где он всё ещё контролирует ваш компьютер. На этом этапе вам обычно предоставляется возможность быстро нажать клавишу для входа в настройки BIOS, где вы можете настраивать аппаратные параметры и контролировать загрузку своего ПК. Если вы ничего не выберете, BIOS начнёт первый шаг на самом деле «загрузки» вашего ПК с использованием настроек по умолчанию.
Ранее мы упоминали, что важной частью работы BIOS является обнаружение и отображение подключенных жёстких дисков. Этот список теперь пригодится, так как BIOS загрузит очень маленькую программу с первого жёсткого диска в память и скажет ЦПУ выполнить её содержимое, передав управление компьютером всему, что находится на жёстком диске, и завершит его активную роль в загрузке вашего ПК. Этот жёсткий диск известен как «загрузочное устройство», «загрузочный диск» или «диск 0» и обычно может быть выбран или установлен в настройках BIOS.
Загрузочное устройство
Основная загрузочная запись (MBR)
Основная загрузочная запись
Таблица разделов
Прежде всего, MBR содержит нечто, называемое таблицей разделов, которая представляет собой индекс до четырех разделов, существующих на одном диске, если хотите, оглавление. Без него весь диск мог бы содержать только один раздел, что означает, что на одном диске не может быть разных файловых систем, что, в свою очередь, означает, например, что вы никогда не сможете установить Linux и Windows на тот же диск.
Загрузочный код
Таким образом, задача сегмента кода начальной загрузки в MBR довольно простая: найти активный раздел из таблицы разделов и загрузить этот код в память для выполнения ЦП в качестве следующего звена в цепочке загрузки. В зависимости от загружаемой ОС, он может искать на жёстком диске другой раздел вместо активного раздела (например, всегда загружать загрузочный сектор 3-го раздела), и смещение загрузочного кода в загрузочном секторе раздела может измениться (например, вместо того, чтобы быть первыми 2 Кб в разделе, это может быть второй Кб или 6 Кб, начиная со 2-го кратного текущей фазы), но основная концепция остаётся той же. Но по причинам устаревшей совместимости, MBR почти всегда загружает первый сектор активного раздела, что означает ещё только 512 байт.
Boot Signature
Загрузочный сектор раздела
Как уже говорилось выше, код начальной загрузки в MBR обычно загружает последовательность байтов с начала активного раздела. Точная структура раздела зависит от того, с какой файловой системой был создан или отформатирован раздел, но обычно выглядит примерно так:
Опять же, в зависимости от операционной системы и файловой системы, точное расположение раздела, безусловно, будет отличаться. Но это представляет собой близкое приближение к тому, что вы обычно видите:
- Одна инструкция JMP (переход), которая является ассемблером, эквивалентным команде goto.
- Заголовок файловой системы, который будет содержать информацию, специфичную и важную для самой файловой системы.
- Другой сегмент кода начальной загрузки, содержащий следующий этап процесса начального загрузчика.
- Маркер конца сектора, очень похожий на сигнатуру загрузки 0x55 0xAA, которую мы видели ранее в MBR.
Всё это обычно упаковывается в первый сектор раздела, который обычно снова имеет длину всего 512 байт и, опять же, не может вместить слишком много данных или инструкций. В современных файловых системах для более новых операционных систем код начальной загрузки может использовать расширенные функциональные возможности BIOS для чтения и выполнения более 512 байт, но во всех случаях основные шаги остаются прежними:
- MBR загружает первые 512 байтов активного раздела в память и инструктирует ЦП как их выполнять.
- Самые первые (три) байта загрузочного сектора раздела содержат единственную инструкцию JMP, говорящую ЦПУ пропустить хх-байты вперед и выполнить оттуда следующий этап загрузчика.
- Процессор следует инструкции JMP и ищет начало кода начальной загрузки, содержащегося в загрузочном секторе раздела, и начинает выполнение.
Загрузчик второй ступени
Второй этап загрузчика, хранящийся в загрузочном секторе раздела в разделе начальной загрузки и, необязательно, продолжающий его, выполняет следующий шаг в процессе загрузчика: он ищет файл, хранящийся на самом разделе (как обычный файл). и сообщает ЦПУ о необходимости выполнить его содержимое, чтобы начать заключительную часть процесса загрузки.
Этот значительно более сложный код начальной загрузки должен фактически прочитать оглавление для файловой системы в разделе 7. Загрузчик второго уровня в более старых версиях файловых систем часто накладывал сложные ограничения на файлы загрузчика, которые они должны были загрузить, такие как требование их появления в первых нескольких килобайтах раздела или невозможность загрузки не смежно распределённых файлов в раздел. Этот файл является последним фрагментом головоломки загрузчика, и обычно нет никаких ограничений относительно его размера или содержимого, то есть он может быть настолько большим и сложным, насколько это необходимо для загрузки ядра операционной системы с диска и передачи управления ПК с ОС.
Загрузчик
Фактические файлы загрузчика на диске формируют заключительные части процесса загрузки. Когда люди говорят о загрузчиках и загрузочных файлах, они часто ссылаются на этот последний, критический шаг процесса загрузки.
Файлы конфигурации загрузки
Хотя исполняемые файлы загрузчика теоретически могут содержать жёстко запрограммированную информацию, относящуюся к операционным системам, загружаемым с диска, это не очень полезно. Таким образом, почти все загрузчики отделяют фактический исполняемый загрузчик от файла конфигурации или базы данных, которая содержит информацию об операционной системе (ах) для загрузки. Все основные загрузчики, упомянутые ниже, поддерживают загрузку нескольких операционных систем, процесс, известный как «двойная загрузка» или «множественная загрузка».
Популярные загрузчики
NTLDR BOOTMGR GRUB
Каждая из популярных операционных систем имеет свой собственный загрузчик по умолчанию. В Windows Vista был представлен загрузчик BOOTMGR, который в настоящее время используется в Windows 7 и Windows 10, а также в Windows Server 2008 и 2012. Хотя в течение ряда лет для Linux существовало несколько различных загрузчиков, двумя основными загрузчиками были Lilo и GRUB, но теперь большинство дистрибутивов Linux объединились вокруг мощного загрузчика GRUB2.
NTLDR
BOOTMGR
GRUB был преимущественно используемым загрузчиком для Linux в 1990-х и начале 2000-х годов, предназначенным для загрузки не только Linux, но и любой операционной системы, реализующей спецификацию открытой мультизагрузки для своего ядра. Файл конфигурации GRUB, содержащий список операционных систем в формате пробелов, часто назывался menu.lst или grub.lst и находился в каталоге / boot / или / boot / grub /. Поскольку эти значения можно изменить путём перекомпиляции GRUB с разными параметрами, в разных дистрибутивах Linux этот файл находится под разными именами в разных каталогах.
GRUB 2
Хотя в конечном итоге GRUB одержал победу над Lilo и eLilo, в 2002 году его заменили на GRUB 2, а старый GRUB был официально переименован в «Legacy GRUB». Забавно, GRUB 2 теперь официально называется GRUB, а старый GRUB официально переведен в название «Legacy GRUB», но вы можете найти в Интернете большинство ресурсов, ссылающихся на более новое воплощение загрузчика GRUB под названием GRUB 2.
Процесс загрузки
Как упоминалось ранее, этап процесса загрузки немного более сложен, чем предыдущие этапы, в основном из-за дополнительной сложности чтения файловой системы. Загрузчик также должен получить информацию об аппаратном обеспечении компьютера (либо через BIOS, либо самостоятельно), чтобы правильно загрузить нужную операционную систему из правильного раздела и предоставить любые дополнительные файлы или данные, которые могут потребоваться. Он также должен считывать свой собственный файл конфигурации из обычного файла, хранящегося в файловой системе загрузочного раздела, поэтому он должен по крайней мере иметь полную поддержку чтения для любой файловой системы, в которой он находится.
Инициировать доступ к файловой системе
Прежде чем что-либо еще может произойти, при первом запуске загрузчика он должен загрузить и запустить примитивные «драйверы» файловой системы, которые дают ему возможность читать, по крайней мере, файловую систему, в которой он находится. Поскольку он не может прочитать файловую систему до этого момента, по необходимости он читает код, обеспечивающий эту функцию, который должен быть скомпилирован в сам файл ядра загрузчика.
С поддержкой загруженной файловой системы загрузчик теперь может читать список операционных систем с диска и, если указано несколько операционных систем, подготовить её к отображению.
Загрузка и запуск поддерживающих модулей
Показать меню загрузки
На этом этапе, имея под рукой все необходимые настройки, загрузчик может отобразить на экране то, что обычно называют загрузочным меню. Если установлено несколько операционных систем, то через меню загрузки пользователь компьютера может перемещаться по списку операционных систем и выбирать, какую из них загружать. Здесь некоторые загрузчики также позволяют указывать параметры времени выполнения, например, загружать ли выбранную операционную систему в безопасном режиме.
Загрузка ядра ОС
Как только выбор пользователя был записан, загрузчик переходит к последнему этапу процесса загрузки. В зависимости от ОС и типа ядра, загрузчик загрузит образ ядра из пути, указанного в файле конфигурации (с помощью любых подмодулей, если необходимо) в память. Затем он инструктирует процессор JMP в определенное место во вновь загруженном ядре и начинает выполнение загрузки оттуда.
Вывод
Так заканчивается длительный путь, который начинается нажатием кнопки и заканчивается загрузкой в память ядра операционной системы и её выполнением. Процесс начального загрузчика, безусловно, намного более детализирован и сложен, чем многие могут себе представить, и он был спроектирован и усовершенствован для работы достаточно стандартизированным образом на разных платформах и под различными операционными системами.
Отдельные компоненты загрузчика, по большому счету, самодостаточные. Их можно менять по отдельности, не затрагивая в целом, то есть вы можете добавлять диски и загружаться с разных устройств, не беспокоясь о нарушении существующей конфигурации и операционной системе. Это также означает, что вместо того, чтобы иметь один-единственный бит аппаратного/программного обеспечения для настройки, обслуживания и отладки, вы получаете сложную и зачастую очень хрупкую цепочку с множеством точек, подверженных поломкам и сбоям. При правильной работе процесс загрузки представляет собой хорошо смазанную машину, но при возникновении проблем процесс может быть очень сложным для его понимания и отладки.
Читайте также: