Руководство по многовариантной загрузке операционных систем семейства Windows. Начальная загрузка операционной системы

07.09.2019

А вы никогда не задумывались над тем, что же происходит с операционной системой в тот момент, когда она рисует свой логотип и говорит «Starting Windows»? И вообще, почему она долго загружается? Ведь при старте системы уж точно не решаются никакие задачи, сложные с вычислительной точки зрения!

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

Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае - Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.

Mining and crafting

Настройка отладки хорошо гуглится, поэтому описывать подробно этот процесс я не буду. Поскольку нас интересует все происходящее с момента старта системы, нам нужно отметить пункт «Cycle Initial Break», с помощью чего отладчик остановится, как только в отлаживаемой системе будет загружена подсистема отладки ядра. Дублирование вывода в файл можно осуществить при помощи команд ".logopen" и ".logclose", это просто. Другая полезная команда - ".cls". Она очищает экран команд, и да, только экран команд.

Интересующая нас функция - «MiCreateImageFileMap». Это внутренняя функция менеджера памяти, проецирующая исполняемый файл в память. Проецирование в память происходит при создании секции, например, при запуске исполняемого файла. Однако учтите, что если исполняемый файл проецируется в память, это не гарантия того, что будет выполнен его код! Эта функция просто создает проекцию, чаще всего «про запас», чтобы, если кто-то надумает запустить модуль на исполнение, можно было сэкономить время его загрузки. На эту функцию поставим логирующую точку останова.

Если у вас достаточно маны, вводите следующую команду:
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
Магическая строчка буквально означает следующее:

  • bu (Set Unresolved Breakpoint) - установить неразрешенную точку останова. Не то чтобы кто-то или что-то не разрешал, просто для ее установки необходимо определиться, по какому адресу ее ставить. Дело в том, что заранее не известно, по какому адресу она должна располагаться. При загрузке любого модуля проверяется присутствие в нем необходимой функции, и если такая функция найдена, точка останова устанавливается автоматически. Такой способ установки незаменим при включенном ASLR - рандомизации адресного пространства, поскольку модули будут загружаться каждый раз по разным адресам, и точка останова, установленная по фиксированному адресу, с большой вероятностью окажется не у дел.
  • nt!MiCreateImageFileMap - символ, на котором нужно останавливаться. В WinDbg принята запись в форме "module_name!function_name". В данном случае nt является предопределенным псевдонимом для ntoskrnl.exe.
  • далее следует часть WinDbg-скрипта, которая будет выполняться каждый раз при остановке на этой функции. «dt nt!_EPROCESS -d ImageFileName @$proc» по-русски означает «отобразить поле ImageFileName структуры _EPROCESS из модуля nt при условии ее отображения по адресу, определенному в псевдорегистре «текущий процесс»». Следующая после разделителя ";" команда означает примерно то же самое, только адрес структуры берется из регистра rcx, в котором в Microsoft x64 ABI передается первый параметр функции. «g» означает «go», т.е. продолжить исполнение.

Небольшая рекомендация по использованию логирующих точек останова: старайтесь не использовать расширения отладчика (команды, начинающиеся с "!"), поскольку в таком случае логирование будет выполняться на порядок медленнее.

Поехали! Отжимаем тормоз точки останова и ждем. Я ждал, пока не прогрузится рабочий стол, т.е. я залогинился. Полученный «урожай» немного редактируется, обрезается все лишнее для удобства дальнейшей обработки и скармливается дружище питону. Не будем заострять внимание на парсинге лога. Отметим только, что граф укладывался в форму спирали Архимеда с дальнейшей коррекцией вручную, поскольку происходило наложение узлов друг на друга. В полученном графе учитывается порядок загрузки библиотек. К сожалению, пришлось пожертвовать учетом порядка загрузки исполняемых файлов относительно библиотек в угоду удобочитаемости графа.

Карта звездного неба


Условно выделим несколько групп загрузки.

Начинается работа OC в модуле ntoskrnl.exe, являющимся ядром ОС. А если еще конкретнее - с функции KiSystemStartup(). Вместе с загружаемыми системными компонентами она формирует фундамент ОС: разделение режимов работы, базовые сервисы для пользовательских приложений и т.п. В эту же группу входят драйверы, отмеченные для загрузки во время старта системы. В двух словах, в этой ракушке зарождается ОС Windows.

Следующий узел - менеджер сессий (session manager). Его представляет первый после системного процесс, стартующий в Windows - smss.exe. Процесс примечателен тем, что является родным (native) процессом Windows, то есть он не использует подсистему Win32, которая в общем-то еще не загружена. Этот процесс использует только нативные сервисы операционной системы посредством ntdll.dll, представляющей собой интерфейс режима пользователя для сервисов ОС. Также этот процесс является доверенным компонентом операционной системы и обладает исключительными правами, например, он может создавать маркеры безопасности (security tokens). Но главное его предназначение - создание сеансов и инициализация подсистем, как графической, так и различных исполняемых (Windows, POSIX). Эта ракушка воздает каждому по потребностям.

Группа входа в систему (logon) состоит из нескольких процессов. В целом они отвечают за инициализацию сеансов. Это включает в себя отображение экрана приветствия, создание рабочих столов, запуск процессов автозагрузки и инициализацию подсистемы безопасности и т.п. Этот веник отметает всех посторонних.

Самой массивной оказалась группа сервисов. Во многом она обязана своим объемом службе SuperFetch. Эта та самая, про которую говорят, что она по выходным заранее прогружает офисный пакет, а в начале рабочей недели - Steam с игрушками. Superfetch прогружает огромное количество модулей при старте системы, чтобы потом «все быстрее работало». Да и кроме него в системе хватает сервисных приложений и автозапускающихся драйверов. Думаю, все видели оснастку «Службы и приложения». Эта звезда жизни заводит в системе все, что нужно и не очень.

Последним отмечу любимый всеми explorer.exe. Примечательно, что к моменту его запуска все используемые им модули уже загружены в память. В скриншот также попал некий vcredist_x64.exe - бедолага лежал на рабочем столе подопытной виртуальной машины и был прогружен в память проводником.

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

Лично я держу получившуюся картинку под боком. По ней хорошо прослеживаются зависимости, например, драйверов. Также в паре с утилитой Sysinternals Autoruns можно увидеть, на каком этапе загрузки подтягиваются те или иные модули.

Граф загрузки был построен для ОС Windows 7 Enterprise x64, установленной на виртуальной машине VMware. Ниже приведены векторное изображение графа и непосредственно файл в формате gml, с которым можно поиграться в любом редакторе графов.

  • Основные понятия загрузочного процесса операционных систем Windows XP и 7
  • Метод двойной и многовариантной загрузки Windows.
  • Ограничения загрузки операционной системы Windows и другие возможные варианты.
  • Как работают загрузчики (менеджеры загрузки) сторонних производителей.

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

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

Данный ниже материал, может кому-то показаться слишком упрощенным, но это лишь, то, что действительно необходимо для понимания процесса. Процесс загрузки операционной системы — это последовательный запуск и выполнения работы одной “программки”, которая потом запускает вторую, третью и так далее. Как правило, для загрузки необходим запуск 4 или 5 “программок”, последняя из которых фактически запускает операционную систему Windows.

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

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

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

Последовательность загрузки операционной системы

Первая программа уже встроена в материнскую плату вашего персонального компьютера, точнее, в маленькую микросхему (чип) которая находится всегда в одном и том же месте. При включении компьютера она запускается и выполняет заложенную в неё программу. Эта первая программа называется БИОС (BIOS). Выполнив свою работу, она запускает следующую программу. БИОС весьма “умна” и всегда старается найти следующую для запуска программку, для этого проверяются места её возможного нахождения.

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

Для продолжения загрузки операционной системы с жесткого диска необходима вторая программа, которая находится на жёстком диске. Для простоты поиска второй программы её всегда размещают в одном и том же месте, и БИОС всегда начинает просмотр именно с него.

Запуск второй программы всегда начинается с первых байтов первого сектора. Называется эта программа MBR (Главная загрузочная запись). Она содержит в себе программу начальной загрузки и таблицу разделов (Partition Table ) жесткого диска – вот это двойное предназначение многих вводит в заблуждение. Самое распространённое название загрузочной части MBR это – Программа начальной загрузки (IPL ). Так же как и БИОС, программа IPL универсальна для всех операционных систем, так что не надо беспокоиться, поддерживает она, Windows или Linux. Находясь на жестком диске, её задача лишь запустить следующую программку. Программка IPL от компании Майкрософт имеет маленький размер и ограниченные возможности, её цель и главная задача найти и запустить следующую программку в цепи.

Просматривая таблицу разделов, и заметив “развивающийся” флаг активности, программка понимает, что нашла свою цель. Если раздел отмечен флагом активности, то программа начальной загрузки (IPL) идет к первым байтам первого сектора и запускает следующую программку в цепи загрузки. При изменении (перемещении) флага активности с одного раздела на другой, программа начальной загрузки начнет просмотр и загрузку с другого раздела.

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

Третья программа в цепочке последовательно запускающих программ находится в самом начале раздела. Она называется PBR (Запись Загрузки Раздела) или иногда её называют VBR (Том Записи Загрузок). Когда PBR сделает свою работу, то она запускает следующую за ней программу. PBR весьма специфична, и в отличие от BIOS и IPL, ей требуется знать, точное название и местонахождение файла. Название файла в зависимости от операционной системы будет разным, поэтому в процессе установки операционной системы PBR запишет необходимые данные, для того что бы легко можно было найти нужный файл. Для операционных систем от Windows NT до Vista это будет файл под названием ntldr , который всегда находится в корневом каталоге раздела. Месторасположение файла ntldr всегда в корневом каталоге рядом с папками Windows и Program Files, а не внутри папки или директории.

Для операционных систем, от Windows NT до Vista запуск файла ntldr будет четвертой и последней программой в цепи загрузки. Файл, по сути, является загрузчиком Windows, которая запускается из папки system32.

На этом рисунке отображена последовательность загрузки. Главная загрузочная запись (MBR) показана как отдельная секция в начале жёсткого диска. Для этого на жестком диске специально зарезервирован маленький раздел, который никак не связан с другими разделами. Запись загрузки раздела (PBR) показана как отдельная секция, хотя на самом деле это часть раздела. Операционная система Windows резервирует первые 16 секторов своего раздела, исключительно для использования загрузочной записи раздела.

Последовательность загрузки старой операционной системы Windows NT и Vista почти не отличается, но в последней операционной системе ntldr была изменена. В старой Windows NT, файл ntldr был и загрузчиком и менеджером загрузок, но в Windows Vista эти две функции были разделены на две разные программы.

Функцию менеджера загрузки, в обязанность которой входит поиск активной операционной системы теперь выполняет — файл bootmng . Загрузчик, который фактически запускает операционную систему, выполняет — файл winload.exe . Файл bootimg находится в корневом разделе установленной операционной системы, а файл winload.exe помещен внутрь папки system32 системной папки Windows. Все эти изменения добавляют еще один шаг в цепочку загрузки операционной системы, поэтому в Viste она составляет пять шагов.

Операционная система Windows 7 наделена огромными возможностями, которые позволяют создать дополнительный раздел для управления загрузкой и файлами BCD и bootmng . Компания Майкрософт сообщает, что изменение в загрузке новой операционной системы Windows 7, возможно в дальнейшем станет постоянным.

Продолжение следует…

Давным-давно, когда я был маленьким работал в институтской лаборатории на большом компьютере СМ-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, в котором записана информация об установленных операционных системах.

Загрузка ядра операционной системы

Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.

Несколько лет назад в моей практике был такой забавный случай.

Меня попросили помочь одному человеку купить и привести в порядок компьютер для дома. Товарищ этот на тот момент времени только-только вышел на пенсию, а до этого работал в должности начальника и компьютер видел, по большей части, издалека, на столе у своей секретарши. После выхода на пенсию у него появилось время и желание компьютер освоить. Ну что, по-моему, замечательно. Компьютер мы ему подобрали недорогой, но добротный и с хорошим, по тем временам, монитором. Я поставил и настроил кое-какие программы, показал как ими пользоваться. Господин обзавелся книжкой из серии «Что-то там для чайников » и мы расстались абсолютно довольные друг другом.

Примерно через неделю мой подопечный позвонил мне по телефону и чуть не плача сообщил, что все пропало и компьютер больше не работает. Благо, запираться он не стал и честно рассказал, как было дело. А дело было так. Товарищ полез исследовать содержимое своего компьютера и нашел в корне диска С:\ несколько подозрительных и «ненужных», на его взгляд, файлов. Он решил освободить место и файлики эти попросту удалил. Думаю, что все уже догадались, что это были boot.ini, ntldr, ntdetect и др. Поправить ситуацию сложности не представляло, разве что пришлось ехать к нему еще раз.

К слову сказать, для того, чтобы получить проблемы с загрузкой Windows XP, можно было и ничего не стирать, а слегка «подправить», например, 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 и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.

Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с .

9 комментариев

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

  1. Подскажите пожалуйста как именно лечить?:
    «Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.»

    Поставил ХР после Vista на ноутбук — в итоге запуск системи доходит до начала загрузки ХР и все по новой перезагружаєтса, а если отключить (на время загрузки ОС) адаптер питания то все загружается нормально. Если загружать в безопасном режиме, то адаптер отключать не надо. Что ето может бить и как с етим бороться?

    ПОЖАЛУЙСТА ОТПИШИТЕ. ЗАРАНИЕ СПАСИБО. ИЗВИНИТЕ ЗА «ЛОМАННИЙ» РУССКИЙ.

    • По поводу влияния адаптера питания на загрузку ХР ничего не скажу — конкретных идей нет. По поводу восстановления загрузки Vista, если это актуально, то в конце поста есть ссылка на статью суппорта Microsoft (919529), посвященную непосредственно этой теме. Для восстановления потребуется установочный диск Vista. В командной строке с правами администратора нужно выполнить:
      Х:\boot\bootsect.exe /nt60 all
      где X: — буква оптического привода.
      А вот загрузку XP нужно будет добавлять вручную с помощью редактора . Набор команд будет таким:
      Bcdedit /create {ntldr} /d "Microsoft Windows XP"
      если данная команда завершиться неудачей, то:
      Bcdedit /set {ntldr} description "Microsoft Windows XP"
      далее:
      bcdedit /set {ntldr} device partition=X:
      Х: - буква диска раздела, на котором находятся файлы загрузчика XP, и путь к нему:
      bcdedit /set {ntldr} path \ntldr
      bcdedit /displayorder {ntldr} /addlast

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

    • Юрий! Боюсь, что тех сведений, которые Вы сообщили, явно недостаточно для каких-либо рекомендация. Какая Windows и о каких этапах идет речь? Уточните.

    Доброго здоровья, Александр.
    Как понять, предотвратить, а если повторится — правильно выйти из вот такой ситуации.
    Ноутбук. Установлена Windows-7. После включения и ввода пароля выдал «missing operating system» — то бишь «отсутствует операционная система». Выключения с повторным включением дали тот же результат. Запуститься удалось только вынув и спустя некоторое время вставив аккумулятор.
    Накануне, правда, имело место быть некорректное выключение: предварительно не были отключены флешка и модем. Раньше такая забывчивость тоже случалась, но подобного эффекта не было.
    Буду признателен за доступный старому «чайнику» ответ (мне лет на десять больше, чем господину в забавном случае, но познакомился с КОМПом примерно в том же возрасте).

    • Владимир, здравствуйте. С наступающими праздниками и всех благ.
      В данной ситуации Вы сделали все правильно — сбросили «залипший» глюк.
      Как поется в песенке: «Одна дождинка — еще не дождь. Одна снежинка — еще не снег». Возможно, что ничего подобного больше и не произойдет. Вот если с запуском начнутся регулярные проблемы, тогда надо будет разбираться. А вообще, Windows 7 и выше достаточно устойчивы к нештатным выключениям.
      Что делать? Вы сами ответили на свой вопрос — стараться штатно отключать устройства. И если есть возможность подключить по USB внешний диск, то я обязательно сделал бы (на самом деле делаю достаточно регулярно) бекап системы, например с помощью .

Загрузка операционной системы

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

Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным .

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

Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки операционной системы - это BIOS (Basic Input/Output System - базовая система ввода/вывода).

После включения питания компьютера или нажатия кнопки Reset на системном блоке компьютера или одновременного нажатия комбинации клавиш {Ctrl+Alt+Del} на клавиатуре процессор начинает выполнение программы самотестирования компьютера POST (Power-ON Self Test). Производится тестирование работоспособности процессора, памяти и других аппаратных средств компьютера.

В процессе тестирования сначала могут выдаваться диагностические сообщения в виде различных последовательностей коротких и длинных звуковых сигналов (например, 1 длинный и 3 коротких - не подключен монитор, 5 коротких - ошибка процессора и так далее). После успешной инициализации видеокарты краткие диагностические сообщения выводятся на экран монитора.

Для установки правильной даты и времени, а также внесения изменений в конфигурацию аппаратных средств компьютера в процессе выполнения самотестирования необходимо нажать клавишу {Del}. Загрузится системная утилита BIOS Setup, имеющая интерфейс в виде системы иерархических меню. Пользователь может установить новые параметры конфигурации компьютера и запомнить их в специальной микросхеме памяти, которая при выключенном компьютере питается от батарейки, установленной на системной плате. В случае выхода из строя батарейки конфигурационные параметры теряются и компьютер перестает нормально загружаться.

После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы).

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


Рис. 4.20. Процесс загрузки операционной системы

Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение "Non system disk" , и компьютер "зависает", то есть загрузка операционной системы прекращается и компьютер остается неработоспособным.

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

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

Вопросы для размышления

1. Каковы основные этапы самотестирования компьютера?

2. Что хранится в микросхеме конфигурационной памяти компьютера?

3. Каковы основные этапы загрузки операционной системы?

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


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

Как отредактировать процесс загрузки нескольких операционных систем Windows, установленных на одном компьютере – об этом подробнее ниже.

Итак, имеем в нашем случае компьютер с установленными версиями Windows 7 и 8.1. При включении компьютера видим окно загрузчика с перечнем систем для выбора.

Каждый раз при загрузке компьютера попасть в нужную систему можно, сделав соответствующий выбор. В противном случае по истечении определённого времени – а по умолчанию это 30 секунд – автоматически будет загружена Windows, стоящая в списке первой. В нашем случае это Windows 7 , поскольку она установлена на компьютер последней, и именно её загрузчик, как видим, встречает нас после запуска компьютера.

Что же, изменим это. Настроим автоматическую загрузку основной системы – Windows 8.1. Для этого, естественно, необходимо войти в неё.

Нам нужен раздел настроек , и в Windows 8.1 в него можно попасть с помощью контекстного меню на кнопке .

В окошке системы выбираем дополнительные параметры .

Попасть в раздел настроек в Windows 7 можно также с помощью контекстного меню, но вызванном на значке «Компьютер» в проводнике. В числе команд необходимо выбрать .

В Windows 7 также выбираем дополнительные параметры .

Дальнейшие шаги в обоих системах идентичны.

В появившемся окне свойств системы во вкладке «Дополнительно» жмём кнопку параметров в последнем разделе .

Теперь можно приступать к редактированию загрузки нескольких систем. Меняем загружаемую по умолчанию Windows из числа вариантов в выпадающем списке. В нашем случае предустановленную Windows 7 меняем на Windows 8.1.

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

Если преимущественно работа проводится только в одной системе , нет смысла оставлять полминуты ожидания её автоматической загрузки. Другую операционную систему можно не лишать возможности запуска, но сократить предустановленное время для выбора вариантов загрузки. В отображении списка загружаемых систем в нашем случае установим 5-секундное ожидание перед автоматической загрузкой основной системы Windows 8.1. Этого времени хватит с лихвой, чтобы осуществить выбор, если вдруг когда-то понадобится войти в Windows 7.

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

Если вторая операционная система когда-то понадобится, войти в неё можно будет, сделав эту опцию снова активной .

После внесения изменений жмём «Ок» внизу этого окна, а также внизу окна свойств системы.

Всё – список загрузки операционных систем отредактирован.

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

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

В основной системе вызываем команду . В Windows 8.1 быстрый доступ к ней реализован в контекстном меню на кнопке .

Нам нужен раздел конфигурации системы . Вводим в поле команды значение:

Жмём «Ок» .

В Windows 7 запустить окно конфигурации системы можно проще — прописав ключевой запрос в поисковом поле меню .

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

В нашем случае перечень загрузки содержал разные версии Windows, и определиться с удаляемой «Семёркой» нам явно не составило труда. Но если в перечне загрузки числятся записи о двух одинаковых версиях Windows, в ориентации с той, которую нужно удалить, помогут описания систем. Windows, в которой мы по факту находимся, будет обозначена как текущая .

Внесённые изменения сохраняем кнопкой . После нажатия «Ок» система предложит перезагрузиться .

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

Похожие статьи