Компьютер включается, но не запускается операционная система: возможные причины и способы решения проблемы. Этапы загрузки операционных систем

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

  1. Power On Self Test (POST) - запускается только один раз и сразу после включения питания. В этом тесте проверяется аппаратура на наличие грубых ошибок (функционирование аппаратуры вообще). Одним из видимых шагов на экране - тестирование памяти.
  2. Инициализация - запускается каждый раз, когда машина перегружается (например, когда пользователь нажимает Ctrl-Alt-Del) - инициализирует все доступные устройства на плате и в слотах расширения (ISA, PCI, AGP).
  3. Третья часть - это собственно BIOS (BASIC INPUT/OUTPUT SYSTEM) - базовая система ввода/вывода на низком уровне. Этими функциями пользуются некоторые операционные системы (DOS, Windows и др.) Обычно, весь BIOS располагается на отдельном чипе, который программируется на заводе, хотя в современных компьютерах может быть перепрограммирован прямо из системы. Т.е. сейчас используется Flash Memory.

Особенность существующих BIOS в том, что они весьма медленны (гораздо медленнее, чем обычная оперативная память). Поэтому, многие системы просто копируют весь BIOS в оперативную память.

Тест памяти - это наиболее видимая часть теста аппаратуры на этапе POST. Кстати, о видимости - видеоадаптер - тоже аппаратура, и его как раз необходимо инициализировать в первую очередь - чтобы пользователь мог видеть процесс тестирования и инициализации устройств. Так же, необходимо установить еще и режим (частоту обновления, разрешение) экрана. Ведь видеокарты могут быть сделаны разными фирмами, да еще и разные модели - кому как не БИОСу самой карточки знать досконально, как ее нужно инициализировать?
На каждой видеокарте есть свой BIOS, который опрашивается на его наличие при тестировании аппаратуры. Сначала системный БИОС ищет видео по стандартным адресам ISA VGA, - если там нет адаптера, то он ищется на PCI , потом на AGP (или сначала AGP, а потом PCI - это прописывается в установках BIOS SETUP). И если, видеобиос найден в одном из слотов, то управление передается на него.

И вообще, присутствие БИОСа на различных адаптерах заставляет системный БИОС отдавать им управление - в случае с видеоадаптером - это включение режима и т.д., в случае с сетевой картой - загрузка с сети (в случае с без дисковыми машинами - удаленная загрузка с сети) - при наличие BIOS на сетевой карте и наличие жесткого диска БИОС, например, может спросить - как будем грузиться - с сети или с имеющегося HDD? При наличии SCSI адаптера - он должен проинициализировать свои устройства (диски, CD-приводы, ленточные накопители и т.п.) и если таковые найдутся из числа дисков SCSI - необходимо будет поддержать int13 для того, чтобы система могла обращаться к ним, как к обычным жестким дискам. Хотя, инициализация SCSI устройств необязательна - например, при старте, ее можно отключать - если SCSI устройство не является загрузочным, это разумно.

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

Итак, коротко можно описать следующим образом: все, кроме SCSI, IDE, USB "оживает" сразу - из адаптеров исключение составляет видеоадаптер, который инициализируется даже до проверки памяти.

Далее - если в слотах ISA находятся другие устройства, имеющие свои ПЗУ (с BIOS) - они инициализируются на этапе проверки внешних устройств, потом проходит проверка и назначение PCI (проверка устройств Plug and Play). Кстати, PnP есть и на ISA адаптерах.
Только после этого начинается проверка наличия устройств на IDE шине.

Тут может возникнуть вопрос - а как быть, если на ISA нет видеоадаптера, а есть на PCI - но ведь он "оживает" сразу - не дожидаясь даже проверки всего PCI? Просто на PCI есть BIOS, отображаемый в обычное пространство памяти, и все VGA PCI имеют еще и стандартную VGA программную часть, находящуюся в тех же регистрах, как и в случае, если бы это был ISA адаптер. Системный BIOS проверяет, есть ли VGA на ISA шине - если да, то на PCI шину и "не лезет", если нет - то сканирует PCI.

Ну, и в конце концов, после инициализации - считывается первый сектор первой дорожки первой головки жесткого диска и управление передается загрузочному сектору, который уже управляет дальнейшими действиями (либо выдается сообщение типа "NO SYSTEM TO BOOT"). Или подобным же образом система грузится с дискеты.

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

Если Вы имеете на компьютере 2 и более операционных систем, то наверняка у Вас на определенной стадии загрузки компьютера появляется список этих операционных систем, предлагающий их выбрать в течении, скажем, 30 секунд. Или же, бывает такое, что после установки очередной операционной системы, вторая вдруг исчезла из списка, а то и вовсе перестала загружаться. Еще частая проблема, когда Вы недоустановили (или удалили вовсе) систему, но она уже успела прописаться в загрузчик и висит там мертвой строчкой, или же.. Или что-то еще:-)

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

Немного подробнее о том, что можно, ну а потом уже как это сделать.
Поехали.

Редактирование списка загрузки Windows

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

  • Во-первых , как по мне, 30 секунд - для кого-то много, для кого-то мало. Как может быть много? Ну, например, Вы включаете компьютер и идете ставить чайник, а по возвращению видите, что система, если и выбралась, то всё еще грузится. Так вот можно поменять это самое время на, в общем-то, любое значение от 1 до n . Возможно есть предел сего значения, но я не проверял, да и сильно сомневаюсь, что кому-то надо, чтобы система грузилась через 30 минут:)
  • Во-вторых , как я уже говорил выше, возможно, Вы (или Ваши знакомые) ставили второй\третий\пятый Windows (или другую операционную систему), но прервали установку или что-то не получилось в ходе неё, или Вы вовсе удалили одну из систем с . Только вот запись то об этой самой недопоставленной\удаленной Windows осталась и всячески надоедает, т.к. приходится всё время выбирать рабочую систему из списка. Так вот можно избавиться от лишних строк.
  • В-третьих . Многие любят всякие забавные примочки. В данном случае, можно, например, переименовать системы в списке как угодно, например, вместо поставить Mega Winda Vasi .
  • В-четвертых , допустим, Вам друг принес жесткий диск со своим Windows , но Вы не знаете как добавить операционную систему в список доступных, чтобы её можно было выбрать. Опять же это можно сделать там, где я сейчас расскажу.
  • В-пятых , есть несколько бредовая идея по использованию нижеописанного способа редактирования списка доступных для загрузок систем. Можно создать список из скажем 25 систем, но грузится из них будет одна, остальные в силу своего несуществования будут выдавать ошибку. Какая по счету работает будете знать только Вы, т.к Вы этот список и создадите, а злоумышленнику, включившему Ваш компьютер, придется раз 20 перезагружать компьютер в поисках рабочей системы. Кстати использовать это можно не только , но и просто как розыгрыш друга, или подруги;)

Многие пользователи считают, что компьютер загружает при помощи операционной системы, но на самом деле это верно только отчасти. В этом материале вы узнаете, как же на самом деле происходит загрузка ПК, и познакомитесь с такими важными понятиями, как BIOS, CMOS, UEFI и другими.

Вступление

Для многих людей работа с компьютером начинается после загрузки операционной системы. И это не удивительно, так как подавляющее большинство времени, современные ПК действительно используются при помощи удобной графической оболочки Windows или любой другой ОС. В этой, дружелюбной для нас среде, мы не только запускаем программы, приложения или игры, но и осуществляем настройки, а так же конфигурирование параметров системы под собственные нужды.

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

Для кого-то это может быть новостью, но в действительности Windows не отвечает за загрузку компьютера «от и до», она лишь продолжает ее на определенном этапе и заканчивает. Ключевым же игроком здесь выступает совершенно другая микропрограмма - BIOS, о назначении и основных функциях которой мы поговорим в этом материале.

Что такое BIOS и зачем она нужна

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

Вот здесь и кроется основная проблема. Для того, что бы процессор смог начать выполнять команды операционной системы, они должны находиться в ОЗУ. Но во время включения ПК оперативная память пуста, так как является энергозависимой и не может хранить информацию, когда компьютер выключен. При этом сами по себе, без участия системы, компьютерные устройства поместить нужные данные в память не могут. И здесь мы сталкиваемся с парадоксальной ситуацией. Получается, что для того чтобы загрузить ОС в память, операционная система уже должна быть в оперативной памяти.

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

Слово BIOS (БАйОС) является аббревиатурой от четырех английских слов Basic Input/Output System, что в переводе на русский означает: «Базовая система ввода/вывода». Такое название получил набор микропрограмм, отвечающих за работу базовых функций видеоадаптеров, дисплеев, дисковых накопителей, дисководов, клавиатур, мышей и других основных устройств ввода/вывода информации.

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

Где хранится BIOS и что такое CMOS

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

В самых первых компьютерах для хранения BIOS использовались микросхемы постоянной памяти (ПЗУ или ROM), запись на которые самого кода программы единожды осуществлялась на заводе. Несколько позже стали использовать микросхемы EPROM и EEROM, в которых имелась возможность в случае необходимости осуществлять перезапись BIOS, но только с помощью специального оборудования.

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

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

Флэш-память для хранения BIOS может иметь различную емкость. В прежние времена этот объем был совсем небольшим и составлял не более 512 Кбайт. Современные же версии программы стали несколько больше и имеют объем в несколько мегабайт. Но в любом случае на фоне современных приложений и мультимедийных файлов это просто мизер.

В некоторых продвинутых системных платах, производители могут установить не одну, а сразу две микросхемы BIOS - основную и резервную. В этом случае, если что-то произойдет с основным чипом, то компьютер будет загружаться с резервного.

Помимо флэш-памяти, в которой хранится сама BIOS, на системной плате существует и еще один вид памяти, который предусмотрен для хранения настроек конфигурации этой программы. Изготавливается он с применением комплементарного метало-оксидного полупроводника или CMOS (Complementary Metal Oxide Semiconductor). Именно этой аббревиатурой и называют специализированную память, в которой содержаться данные о запуске компьютера, используемые BIOS.

CMOS-память питается от батарейки, установленной на материнской плате. Благодаря этому, при отключении компьютера от розетки все настройки BIOS сохраняются. На старых компьютерах функции CMOS-памяти были возложены на отдельную микросхему. В современных же ПК она является частью чипсета.

Процедура POST и первоначальная загрузка ПК

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

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

В самом начале процессор получает команду на проведение самотестирования компонентов компьютера (POST - Power-On Self-Test). Процедура POST включает в себя несколько этапов, прохождение большинства которых вы можете наблюдать на экране ПК сразу после его включения. Последовательность происходящего перед началом загрузки операционной системы такова:

1. Сначала происходит определение основных системных устройств.

3. Третий шаг - настройка набора системной логики, или проще говоря, чипсета.

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

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

6. Затем запускается тестирование центрального процессора, по окончании которого на дисплей выводятся данные об установленном чипе: название производителя, модели и его тактовая частота.

7. Следом начинается тестирование оперативной памяти. Если все проходит удачно, то на экран выводится общий установленный объем ОЗУ с надписью ОК.

8. По окончанию проверки основных компонентов ПК, начинается поиск клавиатуры и тестирование других портов ввода/вывода. В некоторых случаях, на этом этапе загрузка компьютера может остановиться, если системе не удастся обнаружить подключенную клавиатуру. При этом на экран сразу же будет выведено об этом предупреждение.

9. Далее начинается определение подключенных к компьютеру накопителей, включая оптические приводы, жесткие диски и флэш-диски. Сведения о найденных устройствах выводятся на экран. В том случае, если на системной плате установлено несколько контроллеров от разных производителей, то процедура их инициализации может быть отображена на разных экранах.

Экран определения контроллера Serial ATA, имеющего собственный BIOS, с выводом всех подключенных к нему устройств.

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

11. Наконец, если процедура POST прошла успешно, BIOS начинает поиск в подключенных накопителях Главной Загрузочной Области (MBR), где содержатся данные о запуске операционной системы и загрузочном устройстве, которому необходимо передать дальнейшее управление.

В зависимости от установленной на компьютер версии BIOS, прохождение процедуры POST может проходить с небольшими изменениями от вышеописанного порядка, но в целом, все основные этапы, которые мы указали, будут выполняться при загрузке каждого ПК.

Программа настройки BIOS

BIOS является конфигурируемой системой и имеет собственную программу настройки некоторых параметров оборудования ПК, называемую BIOS Setup Utility или CMOS Setup Utility . Вызывается она нажатием специальной клавиши во время проведения процедуры самотестирования POST. В настольных компьютерах чаще всего для этой цели используется клавиша Del, а в ноутбуках F2.

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

CMOS/BIOS Setup имеет массу настроек, но к наиболее востребованным, которые могут понадобиться рядовому пользователю, можно отнести: установку системного времени и даты, выбор порядка загрузочных устройств, включение/отключение встроенного в материнскую плату дополнительного оборудования (звуковых, видео или сетевых адаптеров), управление системой охлаждения и мониторинг температуры процессора, а так же изменение частоты системной шины (разгон).

У различных моделей системных плат, количество настраиваемых параметров BIOS может сильно разниться. Наиболее широкий спектр настроек обычно имеют дорогие системные платы для настольных ПК, ориентированные на энтузиастов, любителей компьютерных игр и разгона. Самый же скудный арсенал, как правило, у бюджетных плат, рассчитанных на установку в офисные компьютеры. Так же не блещут разнообразием настроек BIOS подавляющее большинство мобильных устройств. Более подробно о различных настройках BIOSи их влиянии на работу компьютера мы поговорим в отдельном материале.

Разработка BIOS и обновление

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

Разработку BIOS можно разделить на два этапа. Сначала создается базовая версия микропрограммы, в которой реализовываются все функции, вне зависимости от модели чипсета. На сегодняшний день, разработкой подобных версий занимаются в основном компании American Megatrends (AMIBIOS) и Phoenix Technologies, поглотившую в 1998 году тогдашнего крупного игрока на этом рынке - Award Software (AwardBIOS, Award Modular BIOS, Award WorkstationBIOS).

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

Что такое UEFI BIOS

Базовые принципы работы системной BIOS для настольных компьютеров были сформированы в далеких 80-ых годах прошлого века. За прошедшие десятилетия компьютерная индустрия бурно развивалась и за это время постоянно случались ситуации, когда новые модели устройств оказывались несовместимыми с определенными версиями BIOS. Что бы разрешать эти проблемы, разработчикам постоянно приходилось модифицировать код базовой системы ввода/вывода, но в итоге целый ряд программных ограничений так и остался неизменным со времен первых домашних ПК. Такая ситуация привела к тому, что BIOS в своем классическом варианте окончательно перестал удовлетворять требованиям современного компьютерного железа, мешая его распространению в массовом секторе персоналок. Стало понятно, что необходимо что-то менять.

В 2011 году, с запуском в производство материнских плат для процессоров Intel поколения Sandy Bridge, устанавливающихся в разъем LGA1155, началось массовое внедрение нового программного интерфейса для начальной загрузки компьютера - UEFI.

На самом деле первая версия данной альтернативы обычной BIOS была разработана и успешно использована компанией Intel в серверных системах еще в конце 90-ых годов. Тогда, новый интерфейс для начальной загрузки ПК назывался EFI (Extensible Firmware Interface), но уже в 2005 году его новая спецификация получила название UEFI (Unified Extensible Firmware Interface). На сегодняшний день эти две аббревиатуры считаются синонимами.

Как видите, производители системных плат не особо спешили переходить к новому стандарту, до последнего пытаясь совершенствовать традиционные вариации BIOS. Но очевидная отсталость этой системы, включая ее 16-битный интерфейс, не возможность использовать более 1 Мб адресного пространства памяти, отсутствие поддержки накопителей объемом более 2 Тб и другие постоянные неразрешимые проблемы совместимости с новым оборудованием все же стали серьезным аргументом для перехода на новое программное решение.

Какие же изменения принес с собой новый загрузочный интерфейс, предложенный Intel и в чем его отличия от BIOS? Как и в случае с BIOS, основной задачей UEFI является корректное определение оборудования сразу после включения ПК и передача управления компьютером операционной системе. Но при этом, перемены в UEFI настолько глубоки, что сравнивать ее с BIOS было бы просто некорректно.

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

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

Важным преимуществом EFI является ее кроссплатформенность и независимость от процессорной архитекторы. Спецификации этой системы позволяют работать ей практически с любой комбинацией чипов, будь то архитектура х86 (Intel, AMD) или ARM. Более того UEFI имеет прямой доступ ко всему аппаратному обеспечению компьютера и платформенно независимые драйверы, что дает возможность без запуска ОС организовать, например, выход в интернет или резервное копирование дисков.

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

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

Загрузка ПК на базе UEFI, как и в случае с BIOS, начинается с инициализации устройств. Но при этом, данная процедура происходит гораздо быстрее, так как UEFIможет определять сразу несколько компонентов одновременно в параллельном режиме (BIOSинициализирует все устройства по очереди). Затем, происходит загрузка самой системы UEFI, под управлением которой выполняется какой-либо набор необходимых действий (загрузка драйверов, инициализация загрузочного накопителя, запуск загрузочных служб и т.д.), и только после этого осуществляется запуск операционной системы.

Может показаться, что такая многоступенчатая процедура должна увеличить общее время загрузки ПК, но на самом деле все происходит наоборот. С UEFI система запускается гораздо быстрее, благодаря встроенным драйверам и собственному загрузчику. В итоге, перед стартом, ОС получает исчерпывающую информацию об аппаратной начинке компьютера, что позволяет запускаться ей в течение нескольких секунд.

Несмотря на всю прогрессивность UEFI, все же существует ряд ограничений, сдерживающих активное развитие и распространение этого загрузчика. Дело в том, что для реализации всех возможностей нового загрузочного интерфейса требуется полноценная его поддержка со стороны операционных систем. На сегодняшний день в полной мере использовать возможности UEFI позволяет только Windows 8. Ограниченную поддержку нового интерфейса имеют 64-разрядные версии Windows 7, Vista и Linux на ядре 3.2 и выше. Так же возможности UEFI используются в загрузочном менеджере BootCamp компанией Apple в собственных системах Mac OS X.

Ну а как же происходит загрузка компьютера с UEFI, если на нем используются неподдерживаемая операционная система (WindowsXP, 32-битная Windows 7) или файловая разметка (MBR)? Для таких случаев в новый загрузочный интерфейс встроен модуль поддержки совместимости (Compatibility Support Module), по сути, представляющий из себя традиционную BIOS. Именно поэтому, можно видеть, как многие современные компьютеры, оснащенные системными платами с UEFI, загружается традиционным способом в режиме эмуляции BIOS. Чаше всего это происходит потому, что их владельцы продолжают использовать разделы HDD с традиционной MBR и не хотят переходить к разметке GPT.

Заключение

Совершенно очевидно, что, в отличие от традиционной BIOS, интерфейс UEFI способен на много большее, чем просто процесс загрузки. Возможность запуска рабочих сервисов и приложений, как на начальном этапе загрузки ПК, так и после запуска операционной системы открывает широкий спектр новых возможностей, как для разработчиков, так и конечных пользователей.

Но при этом говорить о полном отказе в ближайшее время от базовой системы ввода/вывода пока преждевременно. В первую очередь нужно вспомнить, что до сих пор большинство компьютеров находятся под управлением WindowsXP и 32-битной Windows 7, которые не поддерживаются UEFI. Да и жесткие диски, размеченные по стандарту GPT в большинстве своем можно встретить разве что в новых моделях ноутбуков на базе Windows 8.

Так что до тех пор, пока большинство пользователей в силу своих привычек или еще каких-либо причин, будут привязаны к старым версиям ОС и традиционным способам разметки винчестеров, BIOS так и будет оставаться основной системой для начальной загрузки компьютера.


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

Первый этап

На первом этапе запуском управляет человек. Предварительно он должен убедиться в том, что клавиатура - основное устройство управления - имеется в наличии и подключена, а электропитание подано. Для инициализации запуска достаточно нажать кнопку на лицевой панели - далее процесс развивается автоматически.

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

Второй этап

На втором этапе запуском компьютера управляют устройства. Точнее - материнская плата . Еще точнее - микросхема постоянного запоминающего устройства (ПЗУ), находящаяся на ней. Совсем точно - пакет встроенных программ, который называется BIOS. Как настроить Boot menu в BOIS Вы можете прочитать в другой инструкции.

Третий этап

К третьему этапу компьютер подходит после того, как система BIOS запустит программы, позволяющие читать данные, записанные на внутренних и внешних дисковых носителях. Цель третьего этапа - загрузить операционную систему. На самом деле этот этап сам разбивается на несколько этапов, но мы так далеко погружаться не будем.

Как и на втором этапе, управляющее стороной третьего этапа запуска является программа. Только теперь она не «зашита» в ПЗУ материнской платы, а берется с того диска, который назначен системным. Эта программа - первоначальный загрузчик операционной системы.

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

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

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

Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным .
Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
Поэтапно загрузку ОС можно представить следующим образом:
В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются BIOS (Basic Input/Output System – базовая система ввода-вывода). После включения компьютера эти программы начинают выполняться. Причем информация о ходе этого процесса высвечивается на экране дисплея. Сначала производится тестирование и настройка аппаратных средств, затем начинается загрузка ОС. На этом этапе процессор обращается к диску и ищет в 1 секторе диска наличие небольшой программы-загрузчика Master Boot .

Master Boot ищет на диске основной загрузчик Boot Sector , загружает его в память и передает ему управление. Boot sector (сектор начальной загрузки) – часть диска, зарезервированная для программы самозагрузки ОС. В этом секторе обычно содержится короткая программа на машинном языке, которая загружает ОС.
Далее основной загрузчик ищет остальные модули операционной системы и загружает их в оперативную память.
После окончания загрузки ОС управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы, в противном случае загружается графический интерфейс.
В зависимости от вида ОС, процесс ее загрузки будет отличаться. В состав ОС обязательно входят файлы, отвечающие за процесс загрузки. Рассмотрим «работу» файлов в процессе загрузки Windows XP .

  1. Начальная фаза загрузки.
  2. Выбор системы.
  3. Определение «железа».
  4. Выбор конфигурации.

В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP (FAT-16, FAT-32 и NTFS).

Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу — показывает меню с выбором и ожидает ввода от пользователя определенный период времени.

Если такого файла нет, то NTLDR продолжает загрузку с первого раздела, первого диска, обычно это C:\.
Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP , то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.

Если выбранная операционная система XP, то NTLDR находит и загружает DOS программу NTDETECT.COM для определения «железа», установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.

Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации. После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNL.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и слой Hardware Abstraction Layer (HAL.DLL), для того чтобы ядро могло абстрагироваться от «железа». Оба файла находятся в директории System32.

NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их, NTLDR передает управление компьютером дальше. Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для каждого такого устройства на экране печатается точка.

NTOSKRNL в процессе загрузки проходит через две фазы — так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессора, они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке: Object Manager, Executive, Microkernel, Security Reference Monitor, Memory Manager, Cache Manager, LPCS, I/O Manager, Process Manager.

Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration. Последняя задача фазы 1 инициализации ядра — запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и «родным» приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login. SMSS загружает win32k.sys — графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно, процесс загрузки считается удачным и создается Last Known Good Configuration.

Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.