Последовательность загрузки windows 10 после загрузки диспетчера загрузки bootmgr exe

Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС

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

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

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

Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.

При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.

Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.

Общая структура MBR может быть представлена следующей таблицей:

Смещение Длина Описание

000h 446 Код загрузчика

1BEh 64 Таблица разделов

1CEh 16 Раздел 2

1DEh 16 Раздел 3

1EEh 16 Раздел 4

1FEh 2 Сигнатура (55h AAh)

Длина указана в байтах.

Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.

Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.

Типы MBR

Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в MBR может быть записан как «стандартный» загрузчик, так и альтернативные загрузчики.

Существуют следующие распространенные типы MBR:

  • Windows NT версий 5.х и 6.x, занимает 1 сектор. Может загружать ОС только с первичного активного раздела.
  • GRUB4DOS версий 5.х и 6.x – занимает 16 секторов. Представляет собой файл gbldr.mbr. также его можно установить в качестве PBR прямо в раздел.
  • GRUB 2.0 – универсальный загрузочный менеджер, занимает 63 сектора. Состоит из файлов boot.img и core.img. Может работать с любыми файловыми системами и загружать ОС как с первичных, так и логических разделов.
  • PLoP – занимает 62 сектора и имеет продвинутый интерфейс. Позволяет организовать загрузку с CD/Floppy/USB без поддержки и обращения к BIOS.
  • UltraISO USB-HDD – занимает 1 сектор и позволяет выполнять загрузку с внешних USB HDD дисков.

Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.

Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.

Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.

Разнообразие PBR

Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.

Существуют следующие загрузчики:

Тип MBR — NT 5.x/6.x, 1 сектор

  • io.sys для MS-DOS, Windows 95/98/МЕ
  • ntldr для Windows 2000/XP/2003
  • bootmgr для Windows Vista/7/8/8.1/10

Тип MBR — Grub4DOS, 18 секторов

Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)

  • ldlinux.sys – основной базовый модуль
  • syslinux.sys — для загрузки с FAT, FAT32, NTFS
  • isolinux.bin — для загрузки с iso9660
  • pxelinux — для загрузки по PXE
  • extlinux для загрузки с ext2/ext3/ext4 или btrfs

Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.

  • Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
  • Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
  • Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/¾, FAT, NTFS, CD/DVD дисков, по сети через PXE. Позволяет организовать текстовое или графическое загрузочное меню.
    Чаще всего этот загрузчик используют для запуска Linux с файловых систем FAT/NTFS или же создания мультизагрузочных USB флэшек, позволяющих загружать как Linux-совместимые приложения под DOS, так и Windows PE.

Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).

В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.

Читайте также:  Обновить видеодрайверы для windows 10

Bootmgr что это за файл

В статье разбираем типичные причины возникновения ошибки Bootmgr Is Missing и варианты лечения.

Что такое Bootmgr?

Bootmgr – программа-менеджер последовательной загрузки операционной системы Windows. Был представлен впервые в Windows Vista и пришёл на смену менеджеру загрузки NTLDR в предыдущих версиях системы. Его задача – считывать данные конфигурации загрузки и отобразить список операционных систем в специальном предварительном меню. Именно благодаря ему вы и видите первое окно со списком систем на чёрном фоне. За ним подтягивается winload.exe и т.д. Его типичное расположение: тот диск, где лежит ваша Windows или..

Где Bootmgr находится?

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

диск зарезервирован, однако и буква присвоена

а вот так диск выглядит у большинства пользователей

Как видите, он уже без буквы, так что в проводнике отображаться не будет.

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

Что будет, если bootmgr удалить?

Ну, а как вы думаете? Утилита winload.exe потеряет связь с реальностью и будет терпеливо ждать данных для загрузки. Иногда это сопровождается чёрным экраном:

Но часто система честно предупреждает пользователя, что файла просто нет:

BOOTMGR is missing

У неё существует две разновидности, которые ничем друг от друга не отличаются:

“BOOTMGR is missing
Press Ctrl Alt Del to restart”

BOOTMGR is missing
Press any key to restart

Чтобы планомерно удалить файл bootmgr, необходимы определённые навыки и придётся пройти ряд шагов. Смотрите (повторять не советую!):

  • в консоли Управления дисками присвойте зарезервированному диску любую литеру (если файл лежит в корневой папке Windows, можете эти пункты пропустить)

  • он сразу объявится в проводнике:

  • однако при попытке вмешаться в его существование, файл закономерно ссылается на недостаточность прав с вашей стороны:

  • без проблем, пройдём процедуру смены прав.

bootmgrСвойства – вкладка БезопасностьДополнительно:

  • Жмём пару раз ОК-и и выходим на окно Свойства bootmgr. Жмите Изменить, в списке пользователей выберите свою учётку и выставляйте максимум прав, устанавливая галочки по всем пунктам:

всё готово – можно удалять

bootmgr is действительно missing

Перезагружаем систему – сталкиваемся с проблемой Bootmgr Is Missing …

ОБРАТИТЕ ВНИМАНИЕ

Будьте осторожны при проведении манипуляций с файлом. Как видите по рисункам сверху, зарезервированный диск имеет в своём составе не только файл bootmgr. Так что появление различных ошибок на экране может служить причиной не только повреждением самого файла, но и повреждениями диска или порядка загрузки! Однако это послужит и вам в качестве отправной точки по поиску реальной проблемы.

Bootmgr Is Missing: причины появления

Как вы поняли из ваше описанного, причин несколько:

  1. побита системные файлы на жёстком диске из-за появления плохих секторов
  2. опять же бэд секторы диска, но причина – механическая неисправность
  3. проблемы в BIOS
  4. проблемы – внимание – с оперативной памятью (я столкнулся единожды)
  • Начнём с самого простого. До включения компьютера вынимаем все накопители, подключённые к портам. Любая флешка с простым набором фильмов и музыки способна “отвлечь” BIOS на себя, которая примется искать там загрузочный файл. Так что сразу исключим эту проблему сразу.
  • Загрузочный диск с Windows вам в помощь. Идеальный вариант – именно тот, с какого система и была установлена. Если не уверены, будьте готовы найти подходящий образ системы. Его можно официально скачать с серверов Microsoft (версии Windows XP там нет) с помощью вот утилиты:
  • Последовательность действий изложена в рисунках поэтапно. Вам нужно только выставить загрузку с диска и вперёд:

нажмите, чтобы увеличить

Внимательный пользователь заметит на секунду появившееся фоном окно консоли с запущенной bcdedit.exe, которая просто-напросто заново воссоздаст отсутствующий файл bootmgr. Обычно она этим и занимается при работе с ошибкой bootmgr is missing. И неважно, повреждёны файлы в загрузочной записи или их просто нет – это самый действенный вариант как избавиться от ошибки. Главное – чтобы окно Параметров смогло обнаружить все копии Windows.

У этого способа есть несколько вариаций. Один из них – если после окна с требованием перезагрузки (см. выше) ошибка не исчезает – самостоятельно удалить файл (два местоположения вам уже известны), сначала попав в систему с помощью Live DVD диска, например, Hiren’s LiveCD, а потом уже повторить вышеописанную процедуру. Диск с системой можно будет легко обнаружить, ибо, если у вас будут проблемы с контроллером, что куда более серьёзно, ошибка будет иметь вид:

No bootable device hit any key

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

КСТАТИ

С проблемой bootmgr is missing диск Hiren’s справляется и самостоятельно.

  • Иногда причиной появления ошибки является смена активного диска. Этого не произойдёт, если система при загрузке сначала обращается именно к тому, что зарезервирован. Однако, если bootmgr до того хранился на том же диске, где и все папки Windows, и при всём том у вас несколько томов, вполне вероятно, что диски просто поменялись ролями. И как итог:

Ваша задача проверить это. У вас несколько вариантов также, но придётся поработать с командной консолью. Как вы вызовите командную строку – с помощью загрузочного Windows или Hiren’s – ваш выбор. Такая функция есть в загрузочном диске (можно и через диск от Hiren – только получится как “в Москву через Китай” – так что идём кратчайшим путём):

ну, или по-русски:

К слову сказать, средство восстановления загрузочного диска с этим МОЖЕТ справляться ещё быстрее, моментально определяя неправильную последовательность в дисках, выдавая вот это окно:

Остаётся следовать советам менеджера и нажать на кнопку. Однако так происходит не всегда. Но у нас в запасе несколько инструментов. Вот первый. В консоли попробуйте вызвать утилиту bootrec с флагом:

bootrec /fixboot

Это та самая команда, которая на секунду появляется фоном в окне Параметров восстановления. Но она , как понимаете, не поможет, если диски “перепутались”. Так что запоминайте команды утилиты diskpart от Windows по работе с дисками. Вот они в консоли загрузочного диска:

Так, раздел найден. Активируем его и покидаем консоль через exit:

можно просто перезагрузить компьютер

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

ID 07 присваивает разделу атрибут Скрытый. Да… чуть не забыл, команды списком для ленивых:

Какие ещё варианты?

Следующий способ скорее относится к разделу фишек: сейчас мы просто склонируем файлы загрузки или Зарезервированный системой раздел (тот что в сотню мегабайт) целиком. Нас снова выручит программа EasyBCD 2.2. Она может сделать копию раздела и перенести файлы (по адресу видно куда) на диск С. Оттуда его можно будет восстанавливать бесконечное количество раз:

Читайте также:  Windows sp2 updates downloads

Что здесь нужно знать. Настоящий раздел не затрётся. Однако место, куда будет смотреть система в поисках загрузочных файлов, изменится, и загрузка будет происходить с диска С.

&nbsp &nbsp Существовавший еще с времен Windows NT, загрузчик операционной системы NTLDR , начиная с Windows Vista, заменен новым диспетчером загрузки BOOTMGR . Вызвано это тем, что старый добрый NTLDR уже не годился для выполнения загрузки системы на компьютерах, использующих спецификацию Extensible Firmware Interface (EFI). EFI — новый расширенный интерфейс для доступа к компьютерному оборудованию, призванный заменить базовую систему ввода-вывода BIOS. Модель EFI является новым поколением реализации интерфейса между оборудованием компьютера и операционными системами, и в недалеком будущем полностью заменит просуществовавшую несколько десятилетий модель BIOS.

Новый диспетчер загрузки bootmgr ориентирован на использование специального хранилища конфигурации загрузки BCD ( B oot C onfiguration D ata), а также специально разработанных приложений и данных спецификации EFI. Для совместимости с версиями Windows, предшествующим Windows Vista, новый диспетчер BOOTMGR обеспечивает поддержку загрузки операционных систем предыдущего поколения компьютеров на базе BIOS.

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

Механизм загрузки операционной системы Windows 7.

&nbsp &nbsp Процесс загрузки любой операционной системы начинается всегда одинаково — после проверки оборудования, управление получает подпрограмма BIOS, (Basic Input/Output System), считывающая с устройства загрузки первый сектор, являющийся главной загрузочной записью MBR ( M aster B oot R ecord ). Запись MBR располагается в первом секторе загрузочного диска и занимает 512 байт (стандартная длина сектора). Это не обязательное условие — MBR может занимать более одного сектора, что зависит от конкретной разновидности загрузчика. Хотя запись MBR не является строго зависимой от платформы загружаемой ОС, она отличается, например, для файловых систем DOS, Windows и Linux.

Структура любой записи MBR включает в себя 2 основных элемента — программный код первичного загрузчика и таблицу разделов. Обязательным признаком наличия записи MBR является специальный код (сигнатура) в двух последних байтах — 55AA . Наличие сигнатуры проверяется подпрограммой BIOS в первую очередь, и при ее отсутствии, диск считается не загрузочным.

Для ознакомления с загрузчиками и загрузочными записями, желательно иметь программу для просмотра данных секторов диска, лучше — с возможностью интерпретации содержимого в виде стандартных элементов файловой системы (MBR, PBR, таблицы разделов и т.п.), как например, утилита для поиска, редактирования и восстановления данных DMDE (DM Disk Editor and Data Recovery Software). Программа DMDE распространяется как в платной, так и в бесплатной редакции. DMDE имеет набор бесплатных функций, таких как дисковый редактор, простой менеджер разделов, создание образов и клонирование дисков, реконструкция массивов RAID, восстановление файлов из текущей панели. Платные редакции поддерживают восстановление файлов и директорий без ограничений, в DMDE Professional Edition также предоставляются дополнительные возможности восстановления данных для клиентов. Скачать программу можно на сайте разработчика.

Впрочем, можно обойтись и без относительно сложной специализированной программы DMDE, для освоения которой может потребоваться некоторое время, а воспользоваться более простыми инструментами. Большинство программ для тестирования накопителей и восстановления данных позволяют просматривать и редактировать данные выбранных секторов. Так, например, выглядит запись MBR, просматриваемая с помощью бесплатной версии программы тестирования накопителей Victoria for Widows

&nbsp &nbsp Перед сигнатурой (по смещению 0x1BE относительно начала сектора) располагается таблица разделов (Partition Table), состоящая из 4-х элементов по 16 байт каждый, что определяет максимальное число (не более4-х) первичных разделов на одном жестком диске. Соответственно, размер таблицы разделов — 64 байта.

Каждый элемент таблицы описывает тип раздела , например — 00h — раздел неопределенного типа, попросту — свободное место, 01h — 12 битный FAT, 05h — дополнительный раздел, 07h — раздел NTFS и т.д.). Кроме типа раздела, присутствует признак активности (возможности загрузки) — код 80h, а также адрес начала раздела, адрес конца , смещение относительно MBR и размер — количество блоков выделенное данному разделу.

В общем виде, структура главной загрузочной записи MBR, может быть представлена следующим образом:

— программный код и данные начального загрузчика. (446 байт.)
— таблица разделов диска (4 поля по 16 байт — 64 байта)
— сигнатура 55AA (2 байта)

Программа и данные начального загрузчика. Таблица разделов диска 55AA

После считывания в оперативную память компьютера, программный код начального загрузчика получает управление и выполняет поиск активного раздела (Active), — раздела, с которого может выполняться загрузка конкретной операционной системы. Такой раздел имеет свою загрузочную запись, называемую загрузочной записью раздела PBR ( P artition B oot R ecord ) . Содержимое загрузочной записи активного раздела зависит от загружаемой операционной системы и, обычно имеет размер более чем длина одного сектора.

В случае с загрузкой Windows 7 (а также Windows Vista / Server 2008 и последующих ОС семейства Windows) программный код загрузчика раздела выполняет подготовку и выполнение следующего этапа загрузки системы — считывание в оперативную память и передачу управления специальной программе — диспетчеру загрузки BOOTMGR .

Диспетчер загрузки bootmgr представляет собой файл небольшого размера, расположенный в корневом каталоге активного раздела. Основное его предназначение — обеспечение дальнейшей процедуры загрузки в соответствии с существующей конфигурацией , хранящейся в специальном хранилище — хранилище данных конфигурации ( BCD — B oot C onfiguratin D ata ), представляющем собой файл с именем BCD , находящийся в каталоге BOOT активного раздела.

Как видим, следующий этап загрузки операционной системы обеспечивается уже диспетчером bootmgr в соответствии с существующей конфигурацией BCD. В общем случае, диспетчер загрузки может выполнить не только загрузку ядра установленной на данном компьютере Windows, но и другие, имеющиеся в конфигурации варианты — загрузку Windows NT/2000/XP, операционных систем семейства Linux, загрузку ОС из образов ( файлов wim ) , виртуальных дисков ( файлов VHD ) и т.п.

При стандартной установке современных операционных систем семейства Windows на новый жесткий диск, в качестве активного раздела используется, автоматически создаваемый при инсталляции в первой части диска, раздел небольшого размера ( около 100Мб для Windows 7, 350Мб для Windows 8 и 500Мб для Windows 10 ). Данному разделу не присваивается буква, и в проводнике он не отображается. Это сделано с целью защиты загрузчика от небезопасных для него действий пользователя — удаления файлов конфигурации или самого диспетчера, сжатия файловой системы и т.п. Кроме того, при такой организации структуры диска, легко реализуется процедура восстановления активного раздела из ранее созданного образа без потери установленной системы и пользовательских данных.

При просмотре в Диспетчере логических дисков, активный раздел отображается под названием «Зарезервировано системой» :

Таким образом, для того, чтобы выполнилась загрузка Windows с диспетчером BOOTMGR, активный раздел, как минимум, должен содержать правильную загрузочную запись PBR , файл диспетчера bootmgr и конфигурационные данные в файле BOOTBCD , являющимся системным хранилищем конфигурации загрузки . В случае с загрузкой Windows, диспетчер bootmgr считывает из хранилища конфигурации данные, необходимые для загрузки ядра системы, и передает управление приложению, выполняющему следующий этап ( winload.exe ) .

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

Хранилище данных конфигурации загрузки (BCD Store).

Обычно файл bootmgr и каталог Boot имеет атрибуты «скрытый» и «системный». Для получения доступа к активному разделу стандартными средствами, можно присвоить ему букву и включить отображение скрытых файлов, однако, нужно понимать, что любое неквалифицированное вмешательство в конфигурацию загрузки может привести к невозможности загрузки системы. При чем, неработоспособную конфигурацию загрузки можно получить даже без выполнения вышеперечисленных действий. Например, при неверном использовании стандартного редактора хранилища конфигурации — утилиты командной строки BCDEDIT . Поэтому, прежде чем вносить какие-либо изменения в конфигурацию загрузки, необходимо позаботиться о том, чтобы иметь возможность восстановления работоспособности системы в том случае, когда ее загрузка станет невозможной. Вопросам восстановления загрузки посвящен отдельный раздел статьи и, настоятельно рекомендую, прежде чем приступать к практическим действиям, внимательно ознакомиться с ним.

Читайте также:  Linux service все сервисы

Программный код диспетчера загрузки , получив управление, выполняет поиск и обработку данных конфигурации загрузки (файл BCD в папке BOOT активного раздела), в соответствии с которыми выполняется дальнейшие этапы загрузки ( отображение меню, выбор загружаемой ОС или средств диагностики, загрузка ядра и т.п. ). По своей структуре, файл \bootBCD является кустом реестра и отображается в редакторе реестра Windows как раздел HKLMBCD0000000x

Таким образом, диспетчер загрузки bootmgr работает с данными хранилища конфигурации загрузки BCD как с обычным разделом реестра Windows. Поскольку, данный раздел реестра предназначен для использования загрузчиком BOOTMGR, при ручном просмотре c использованием редактором реестра, он имеет разрешение только на чтение, которое можно изменить с помощью контекстного меню, вызываемого правой кнопкой мышки. Естественно, на данный раздел реестра, как и на любой другой, распространяются все допустимые действия, выполняемые в редакторе — просмотр, изменение, удаление, импорт и экспорт.

Раздел конфигурации BCD содержит подраздел Description с параметрами описания и подраздел Objects с объектами конфигурации загрузки. Данные конфигурации загрузки можно условно разделить на 3 основных составляющих:

— хранилище BCD (Store)
— записи в хранилище (Entries)
— параметры записей (Entry Options)

Иерархически, хранилище конфигурации загрузки представляет собой совокупность объектов (Objects ), состоящих из отдельных элементов (Elements):

Каждый из объектов представляет собой упорядоченную структуру элементов, обрабатываемую диспетчером загрузки. Существует 3 типа объектов:

— приложения ( application objects)
— наследуемые объекты ( inheritable objects)
— устройства (device objects)

Если вернуться к отображаемой редактором реестра структуре хранилища конфигурации, то заметно, что каждый подраздел раздела Objects имеет имя, представляющее собой глобальный уникальный идентификатор — GUID . Идентификатор GUID формируется программным путем и однозначно является уникальным для той системы, где он создается. Алгоритм формирования GUID построен таким образом, что каждый новый генерируемый идентификатор никогда не совпадает с другим, существующим в данной системе. Обозначается GUID в виде групп из шестнадцатеричных цифр, разделяемых дефисами, и заключенными в фигурные скобки:

Некоторые объекты стандартных приложений конфигурации загрузки имеют предопределенные идентификаторы , связывающие некоторые из идентификаторов GUID с внутренними идентификаторами (псевдонимами) редактора bcdedit

Bootmgr (Boot manager, Windows Boot Manager) — это очередной этап развития загрузчиков (менеджеров загрузки) для операционных систем MS Windows. Bootmgr Windows 7 представляет собой дальнейшее эволюционирование хорошо известного нам по предыдущим версиям Windows загрузчика NTLDR , который был переписан с учетом потребности поддержки интерфейса EFI (Extensible Firmware Interface, Расширенный интерфейс прошивки), осуществляющего взаимодействие между кодом операционной системой и микрокодом, управляющим оборудованием. Тем не менее, загрузчик сохранил совместимость и со старой, традиционной схемой загрузки ОС, использующей последовательность BIOS -> MBR -> PBR (VBR) -> BOOTMGR -> winload.exe -> ntoskrnl.exe -> SMSS -> Winlogon , часть каковой мы и будем рассматривать в данной статье. Начиная с Windows Vista загрузчик операционной системы получил название bootmgr ( bootmgfw.efi / bootmgr.efi для механизма загрузки EFI) и представляет собой гибридный исполняемый файл, располагающийся на скрытом системном разделе, и предназначающийся для подготовки среды загрузки ядра, обеспечения простого интерфейса взаимодействия с пользователем на начальном этапе, и загрузки непосредственно кода ядра операционной системы.

Тут самое время задаться вопросом, зачем разработчикам вводить отдельный раздел для классической схемы загрузки (BIOS/MBR)? Ведь раньше то ничего подобного не создавалось, все прекрасно загружалось без всяких там скрытых разделов, все файлы цепочки загрузки находились на основном системном разделе, куда же проще? А ответ, как мне кажется, достаточно прост. Выше мы уже упомянули, что схема загрузки была переделана Microsoft с учетом потребностей новой технологии UEFI, в которой для этих целей активно используется специальный раздел ESP. Так что же, для UEFI использовать один алгоритм загрузки, а для классической BIOS/MBR оставлять традиционный? Подобное решение влечет за собой огромное количество проблем и необходимость обновления двух веток кода, не проще ли привести все «к одному знаменателю», и традиционную и UEFI-загрузки реализовать в рамках единого алгоритма, и для традиционной схемы создав специальный раздел? Собственно что и было сделано.
Поэтому, раздел System Reserved в традиционной схеме загрузки (BIOS/MBR) предназначается для:

  • приведения иерархий разметки диска/файловой системы (используемых при традиционной (legacy) загрузке) в соответствие с аналогичной структурой стандарта UEFI: размещение на разделе (в классифицированном дереве директорий) файлов операционной системы, фигурирующих в начальном этапе загрузки ОС ( Bootmgr / BCD );
  • дополнительной защиты загрузочных файлов операционной системы от (не)преднамеренных деструктивных действий приложений/пользователя;
  • хранения загрузочных файлов BitLocker Drive Encryption в случае, если используется шифрование разделов;

Раздел этот создается автоматически на этапе установки операционной системы и имеет типовой размер порядка 100Mb (хотя может быть уменьшен до 30Mb без потери функционала).
Но вернемся к нашему загрузчику Bootmgr. По внутренней структуре файла, которую мы подробнее рассмотрим далее, bootmgr представляет из себя некий гибрид из блока кода на языке ассемблера, и встроенного образа PE-формата (написанного на языке C) с ресурсами и дополнительными секциями, содержащими наборы рабочих данных.

Где находится bootmgr Windows 7

В ОС Windows 7 bootmgr имеет довольно ощутимый размер для файла загрузки (в тестовой системе = 383786 байт), поскольку, как мы сможем увидеть позже, по большей части написан на языке высокого уровня, в отличии от кода MBR и PBR, которые реализованы на низкоуровневом языке Ассемблера и имеют более скромные размеры. Располагается bootmgr в корневом каталоге основного активного скрытого раздела размером в 100 мегабайт. Данный раздел размещается в начале диска, предваряю остальные разделы. Партиции этой не присваивается логического имени (буквы диска), поэтому в самой операционной системе она невидима для стандартных пользовательских средств. Как вы можете догадаться, таким вот незатейливым способом данная партиция защищена от деструктивных действий пользователя, могущих повлечь за собой повреждение критически важной загрузочной информации.
Для того, чтобы найти файл bootmgr в системе, необходимо сначала научиться взаимодействовать со скрытым разделом. Для этого открываем апплет Управление компьютером , щелкнув правой кнопкой мыши на иконке «Компьютер» и выбрав пункт «Управление», либо можно запустить ( Win + R ) из командной строки diskmgmt.msc . Текущий пользователь должен иметь права администратора. В ответ на это действие откроется окно следующего вида:

Для того, чтобы увидеть содержимое скрытого раздела, нам необходимо назначить ему логический номер (букву). На рисунке (схематично) я обозначил последовательность действий, которые нам необходимо предпринять. После выбора пункта «Изменить букву диска или путь к диску» у нас появится следующее окно выбора:

После нажатия кнопки ОК логическое имя будет присвоено разделу и он станет доступен в проводнике. Содержимое его, которое нам как раз и необходимо, наконец-то можно увидеть. Но это еще не все, дело в том, что некоторые файлы и директории раздела имеют атрибут «скрытый», поэтому нам нужно включить отображение скрытых и системных файлов. Это можно сделать в свойствах папки (Параметры папок и поиска — Вид). А теперь, давайте взглянем на искомый нами файл bootmgr , который можно увидеть прямо в корне партиции:

На рисунке бывает порой сложно, а чаще и вовсе не получается наглядно отобразить всю структуру раздела, поэтому приведу его в виде текстового списка. Итак, содержимое скрытого раздела «Зарезервировано системой» выглядит следующим образом:

Оцените статью
Adblock
detector