bcd00000000 в реестре что это

Bcd00000000 в реестре что это

Операционная система Windows Vista использует новое загрузочное меню (рис. 2.07), настройка и работа которого отличается от загрузочного меню предыдущих версий Windows, формируемого при помощи файла boot.ini. Его основные достоинства состоят в поддержке символов Unicode, а также объединения поддержки архитектур загрузочной записи MBR и EFI.

Подробнее о boot.ini можно прочитать в разделе «Что произошло с файлом boot.ini?», который имеет CLSID-номер 4d7d08ba-d61c-4c02-9f94-6d2c0e34ae73.

Рис. 2.07. Загрузочное меню Windows Vista

Хранение сведений о загрузочном меню Сведения о загрузочном меню Windows Vista хранятся в кусте реестра BCD, расположенном в каталоге «системный диск»:\BOOT. После загрузки Windows Vista данный куст реестра проецируется на ветвь реестра HKLM\BCD00000000. Чтобы можно было редактировать данную ветвь реестра, необходимо изменить права доступа к ней, перед этим став ее владельцем. Все изменения данной ветви реестра после перезагрузки компьютера будут сохранены в кусте BCD.

В ветвь реестра HKLM\BCD00000000 содержится два подраздела: description и objects.

Подраздел description определяет глобальные настройки загрузочного меню, например, с его помощью можно запретить Windows Vista отображение ветви реестра HKLM\BCD00000000. После этого никто не сможет редактировать ее настройки (хотя загрузочное меню и дальше будет работать стабильно).

Подраздел objects хранит в себе настройки всех элементов загрузочного меню Windows Vista (команды запуска операционных систем, команды запуска диагностических средств и т.д.), а также самого загрузочного меню. Для этого в подразделе objects находится множество дополнительных подразделов (их названия формируются на основе CLSID-номеров), каждый из которых определяет настройки определенного элемента загрузочного меню. Подразделы элементов загрузочного меню содержат в себе подраздел Elements, который, в свою очередь, содержит набор подразделов, каждый из которых определяет определенную настройку элемента загрузочного меню. Для этого используется параметр Element.

Возможно, понять структуру ветви реестра HKLM\BCD00000000\objects будет проще на шаблоне. Параметр Element хранится в ветви реестра следующего вида HKLM\BCD00000000\objects\\Elements\номер_элемента.

Далее в этой главе мы рассмотрим назначения отдельных параметров Element.

Программа bcdedit.exe Для редактирования нового загрузочного меню Windows Vista используется программа командной строки bcdedit.exe. при запуске данной программы без параметров перед вами отобразится текущая структура загрузочного меню. Иногда это бывает очень полезно. Например, в листинге 2.01 представлен пример части отображаемого после запуска программы bcdedit.exe без параметров загрузочного меню.

Идентификатор записи

Прежде чем начать описание работы с программой bcdedit.exe следует сказать несколько слов об идентификаторах записи. Идентификатором записи называется CLSID-номер элемента загрузочного меню — то есть, именно в честь идентификаторов записи названы подразделы рассмотренной нами выше ветви реестра HKLM\BCD00000000\objects.

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

Иногда бывает необходимо отобразить истинное GUID-имя записи, а не стандартный идентификатор, который ей присвоен, в этом случае используется опция /v. Например, команда bcdedit /enum ACTIVE /v отобразит GUID-номера всех записей загрузочного меню.

Таблица 2.41. Стандартные идентификаторы записи

Работа с хранилищем

Хранилищем в контексте программы bcdedit.exe называется само загрузочное меню операционной системы. Над ним вы можете выполнять такие операции, как создание, экспортирование и импортирование.

Порядок отображения элементов хранилища

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

С помощью команды bcdedit /displayorder «идентификатор записи» «опции» можно изменить порядок отображения элементов в хранилище. Данная команда поддерживает следующие варианты синтаксиса.

Предыдущая команда предназначалась для изменения порядка отображения записей, связанных с загрузкой операционных системы. Если же нужно изменить порядок отображения записей, связанных с запуском дополнительных диагностических программ, тогда следует воспользоваться командой bcdedit /toolsdisplayorder. Ее синтаксис аналогичен синтаксису рассмотренной ранее команды bcdedit /displayorder: bcdedit /toolsdisplayorder «идентификатор записи» /addfirst | /addlast | /remove.

Также вы можете указать однократную последовательность загрузки, которая будет использоваться диспетчером загрузки. Для этого применяется команда bcdedit /bootsequence. Ее синтаксис аналогичен командам, описанным выше.

В таблице ниже представлены подразделы ветви реестра HKLM\BCD00000000\objects\\Elements, параметры Element которых хранят в себе настройки, изменяемые данными командами. Эти параметры имеют тип REG_MULTI_SZ.

Таблица 2.42. Подразделы ветви HKLM\BCD00000000\objects\\Elements

Работа с отдельной записью

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

Таблица 2.43. Опции команды bcdedit /create

Таблица 2.44. Типы записей, используемые в команде bcdedit /enum

Источник

Все что необходимо знать о реестре Windows

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

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

Реестр в операционных системах

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

Где хранится реестр?

Довольно часто можно услышать вопрос о расположении файлов. Реестр Windows располагается по директории C\Windows\System32\config. Здесь в качестве диска указан С, но для Вашего устройства ситуация может быть иной. Все зависит от того, куда именно установлена система.

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

Реестр имеет отдельные файлы, которые заслуживают к себе внимания – это резервные копии. Они необходимы в случае восстановления системы. Данные документы находятся по директории «%SystemRoot%\System32\config\RegBack». Если рассматривать ситуацию по умолчанию, то копия будет создавать один раз в 10 дней. Можно выполнить настройку подобного процесса – периодичности и времени запуска. Пользовательская часть реестра находится в документе %userprofile%\ntuser.dat.

Когда речь заходит о реестре ОС 32х и 64х разрядного типа, тут предусматриваются определенные особенности. В первом случае все папки являются единичными. Для 64х разрядов предусматривается разделение на 32х и, непосредственно, 64х разрядные разделы.

Как открыть реестр?

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

Через утилиту «Выполнить»

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

Посредством поиска через меню «Пуск»

Тут могут быть определенные отличия при работе с различными ОС. Например, для Windows 8 отсутствует классическое меню «Пуск». В любом случае, необходимо получить доступ к строке поиска. В неё требуется ввести regedit и запустить выданную программу.

Посредством проводника Windows

Поставлена задача найти конкретный файл в системой папке C\Windows (ранее уже говорилось о возможности использования другой буквы диска, в зависимости от места установки ОС). Нас интересует regedit. Его нужно найти в общем перечне и запустить.

Структура реестра

Реестр Windows включает в себя 5 ветвей. Каждая из них предусматривает хранение сведений конкретного типа. Данные разделы не разрешается изменять. Они не могут быть перенесены, переименованы или удалены. Требуется описать каждую из ветвей и указать их особенности:

В процессе работы с реестром Windows, интерес представляют HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Здесь находится большинство настроек, которые возникает необходимость изменять.

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

Резервная копия всего реестра или отдельного раздела

Ранее уже говорилось об опасностях работы с реестром. Всегда имеется вероятность причинить вред системе и нужно заранее позаботиться о создании копии. Следует войти в редактор реестра Windows, где открыть раздел «Файл». В появившемся списке происходит выбор пункта «Экспорт». Теперь можно осуществить создание копии всего реестра или конкретного подраздела. Для удобства, процесс демонстрируется на скриншоте ниже.

С целью повышения надежности допускается сохранить копию не только на жёстком диске устройства, но внешнем носителе.

Восстановление реестра

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

Восстановление из файла

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

Определенное время потребуется для восстановления, а сам процесс будет завершен после перезагрузки устройства.

Слияние

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

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

Импорт

Необходимо открыть реестр Windows. Как это сделать уже рассматривалось ранее и было представлено несколько подходов. В самом редакторе нас интересует меню «Файл». Там следует выбрать «Импорт». Будет предложено указать путь до сохраненной копии.

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

Восстановление с использованием live CD

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

Чистка реестра

Нередко можно столкнуться с запросом о том, как очистить реестр на Windows (Виндовс). Здесь можно использовать специализированное ПО или ручной метод. В первом случае, можно порекомендовать достаточно большое количество приложений. К наиболее популярным следует отнести Reg Organizer, CCleaner и Windows Cleaner. Данные программы отлично себя зарекомендовали – их возможности по оптимизации работы системы находятся на весьма высоком уровне.

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

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

Создание и удаление разделов и параметров через файл с расширением reg

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

Создание подразделов или изменение параметров

Удаление разделов реестра или параметров

Для выполнения поставленной задачи требуется поместить дефис перед путем реестра. Следует рассмотреть это на простом примере. Имеем:

Из него необходимо выполнить удаление раздела Program. Это будет выглядеть следующим образом:

Удаление значения имеет схожий способ. В данном случае, дефис должен располагаться непосредственно перед знаком равенства. Расширим прошлый пример – теперь нужно удалить параметр ProgramValue. Это выполняется следующим образом:

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

Источник

Средство командной строки bcdedit.exe позволяет редактировать данные конфигурации загрузки и входит в состав стандартных программ Windows Vista и более поздних, а также может использоваться при загрузке с установочного диска системы или диска аварийного восстановления. Естественно, для изменения конфигурации загрузки Windows, программа должны быть запущена с правами администратора.

Данные конфигурации загрузки можно условно разделить на 3 основных элемента:

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

Перечень псевдонимов (известных идентификаторов):

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

Встроенная справочная система bcdedit.exe содержит довольно подробную информацию по использованию команды и примеры ее применения. Формат командной строки для запроса пордсказки:

Перечень разделов справки, получаемый по команде bcdedit /? Topics в среде Windows 7:

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

Типы данных хранилища конфигурации:

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

bcdedit /? Formats или bcdedit formats /?

Для получения информации о дополнительных типах для устройств, введите команду

bcdedit /? TYPES DEVOBJECT

Для получения информации о дополнительных типах для конкретных приложений, введите команду

bcdedit /? TYPES где может принимать следующие значения:

Просмотреть текущие параметры для приложения загрузки Windows можно с помощью команды:

bcdedit /enum osloader

После выполнения команды bcdedit /set increaseuserva 3072 конфигурация будет выглядеть следующим образом:

Отсутствие в конфигурации загрузки increaseuserva означает, что этот параметр не задан и будет использоваться его значение по умолчанию (2Гб для 32-разрядных и 4Гб для 64-разрядных ОС).

На практике, увеличение размера виртуального адресного пространства обычно используется для того, чтобы устранить аварийное завершение задач, как например, модов игры S.T.A.L.K.E.R, которым не хватает адресного пространства при обработке данных в памяти с настройками максимального качества графики. На 32-разрядных ОС Windows, установленного по умолчанию виртуального адресного пространства размером 2 Гб может не хватать, что приводит к аварийному завершению программы ( «вылету» игры ). Установка размера в 3 Гб командой bcdedit /set increaseuserva 3072 позволяет устранить эту проблему. Использование же, данной команды в 64-разрядных ОС Windows, приводит к уменьшению размера виртуального адресного пространства, поскольку его значение по умолчанию равно 4096 ( 4Гб).

Проверить установленное значение increaseuserva можно с использованием команды find в цепочке с командой bcdedit

bcdedit | find «increaseuserva»

В результате выполнения команды получим :

Примеры использования BCDEDIT

bcdedit /export «C:\My Backup\BCD2012»

Для восстановления конфигурации из ранее сохраненной копии используется команда:

bcdedit /import C:\backup\bdc2012

Пример вывода конфигурации загрузки на компьютере с установленными операционными системами Windows 7 и Windows XP:

bcdedit /default — установить в качестве загружаемой по умолчанию системы Windows XP.

bcdedit [/store ] /enum [ | ] [/v]

bcdedit /enum — отобразить только запись конфигурации загрузки по умолчанию:

bcdedit /enum — отобразить данные для заданного GUID

Для просмотра и изменения некоторых параметров конфигурации загрузки с помощью графического интерфейса можно использовать стандартное системное приложение Msconfig.exe ( вкладка «Загрузка»).

bcdedit /create [< >] /d [/application |/inherit [ ] | /inherit DEVICE | /device]

Для изменения параметров созданной копированием записи, можно воспользоваться командой bcdedit /set

Для того, чтобы новая запись конфигурации загрузки появилась в меню диспетчера необходимо выполнить команду bcdedit /displayorder:

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS=»MS Windows Server 2003″ /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=»MS Windows XP Professional RUS» /fastdetect

По шагам, простейший алгоритм действий можно представить следующим образом:

Например, если Windows XP находится в первом разделе 2-го физического диска :

multi(0)disk(0)rdisk(1)partition(1)\WINDOWS=»MS Windows XP Professional RUS» /fastdetect

Создание конфигурации для загрузки продуктов на базе Windows PE.

Пошаговое решение задачи можно выполнить следующим образом:

— копирование файлов с компакт диска ERD Commander 7.0 в каталог, например с именем ERDC на диске C:

— создание записи конфигурации загрузки для виртуального диска в оперативной памяти.

— создание записи конфигурации BCD для выполнения загрузки операционной системы Windows PE из файла образа

— создание параметров, обеспечивающих добавление в меню загрузки соответствующего пункта.

— Создадим в текущей конфигурации загрузки новое устройство:

— Создадим новое приложение загрузки ОС:

— Для записи с GUID устройства (из файла ramdevice.txt) зададим параметры, определяющие местонахождение файла boot.sdi :

— зададим параметры записи для выполнения загрузки (GUID Из файла ramapp.txt) :

Красным цветом выделен GUID устройства ( из файла ramdevice.txt ), используемый в качестве параметра для приложения загрузки ОС.

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

Особенности создания конфигурации BCD для загрузки с использованием приложения загрузочных секторов.

bcdedit /set path \grub.pbr путь к файлу, содержащему загрузочную запись PBR

bcdedit /set description «Windows XP on disk2»

bcdedit /set description «Windows 7 x32 on HDD2»

Источник

Blog of Khlebalin Dmitriy

(Дорогу осилит идущий…)

Загрузчик Windows 7/8/8.1.

Вчера вечером мне по определенным причинам потребовалось поправить загрузчик Windows 7. И если в Windows XP я просто мог открыть TotalCom и быстренько блокнотом поправить файл boot.ini, то сейчас для этого Microsoft предлагает нам встроенную утилиту BCDEDIT. Но «заморачиваться» с ней вчера вечером у меня не было ни времени ни желанья, поэтому я решил найти для себя более легкий альтернативный вариант, ну а сегодня на работе поглубже вдался в теорию…

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

Механизм загрузки операционной системы Windows 7.
Процесс загрузки любой операционной системы начинается всегда одинаково — после проверки оборудования, управление получает подпрограмма BIOS, (Basic Input/Output System), считывающая с устройства загрузки первый сектор, являющийся главной загрузочной записью MBR ( Master Boot Record ). Стандартно MBR располагается в первом секторе загрузочного диска и занимает 512 байт (стандартная длина сектора). Это не обязательное условие — MBR может занимать более одного сектора, что зависит от конкретной разновидности загрузчика. Хотя запись MBR не является строго зависимой от платформы загружаемой ОС, она отличается, например, для файловых систем DOS, Windows и Linux.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Так например, псевдониму используемому в качестве параметра команды bcdedit всегда соответствует GUID, приведенный в таблице — <466f5a88-0af2-4f76-9038-095b170dc21c>.

Каждый из разделов подраздела Objects также состоит из двух подразделов — Descriptions с описанием типа объекта и Elements, определяющего набор элементов с параметрами объекта. В разделе Description имеется ключ Type типа REG_DWORD, значение разрядов 28-31 которого определяет тип объекта ( значение в старшей тетраде старшего байта ) :

0x1 — приложение
0x2 — наследуемый объект
0x3 — устройство.

Имена разделов реестра, связанных с элементами объекта, типы данных и значения параметров зависят от конкретной конфигурации загрузки, созданной для использования диспетчеромBootmgr. Если внимательно присмотреться к именам подразделов, то можно заметить, что имя подраздела связано с его содержимым, так например подраздел с именем 12000004 всегда содержит строковый параметр с текстовым описанием элемента :

[HKEY_LOCAL_MACHINE\BCD00000000\Objects\\Elements\12000004]
«Element»=»Диагностика памяти»

Или для элемента конфигурации диспетчера загрузки bootmgr :

[HKEY_LOCAL_MACHINE\BCD00000000\Objects\<9dea862c-5cdd-4e70-acc1-f32b344d4795>\Elements\12000004]
«Element»=»Windows Boot Manager»

Вполне понятно, что работать с данными конфигурации BCD в среде редактора реестра практически невозможно, поэтому в Windows Vista и более поздних ОС семейства Windows появилась специальная утилита bcdedit.exe предназначенная для работы с хранилищами конфигурации загрузки ( BCD EDITor ).
Раздел реестра HKEY_LOCAL_MACHINE\BCD00000000 используется, существующим в данной системе диспетчером BOOTMGR, и является системным хранилищем конфигурации ( System BCD Store ). Упоминаемая выше команда для редактирования конфигурации загрузки BCDEDIT может использоваться не только для редактирования системного хранилища, но и любого другого, задаваемого параметром командной строки /store

bcdedit /store D:\BCDBackup\bcdsave — команда BCDEDIT выполняется для хранилища конфигурации загрузки в файле bcdsave каталога BCDBackup на диске D:. Если в командной строкеbcdedit не задан ключ /store — то ее действие выполняется по отношению к системному хранилищу (активной конфигурации, используемой для данной загрузки).

bcdedit /v /enum all — отобразить все ( all) записи конфигурации загрузки в системном хранилище без использования псевдонимов.

Более подробное описание команды BCDEDIT — можно найти здесь.

Пример сценария на языке Visual Basic, выполняющего экспорт системного хранилища конфигурации загрузки в файл C:\wmistore:



‘Пример экспорта BCD Store в файл

‘Подключение к WMI
set oLocator = CreateObject( «WbemScripting.SWbemLocator» )
set oRootWMI = oLocator.ConnectServer( «.», «root\wmi» )
oRootWMI.Security_.ImpersonationLevel = 3
‘ Создание объекта BCD
set oBCD = GetObject( «winmgmts:!root/wmi:BcdStore»)
if Err.number <> 0 then
WScript.Echo «ERROR: Failed to connect to WMI BCD Object»
WScript.Quit(1)
end if

‘ Открытие системного хранилища конфигурации
if not oBCD.OpenStore( «», oBcdStore ) then
WScript.Echo «ERROR: Failed to open the system BCD store»
WScript.Quit(1)
end if
‘Экспорт системного хранилища в файл C:\wmistore
if not oBcdStore.ExportStore( «C:\WMISTORE» ) then
WScript.Echo «ERROR: Failed to export BCD Store»
end if

WScript.Echo «Finished Exporting System BCD»

bcdedit /export C:\Backup\bcb — выполнить экспорт в файл C:\backup\bcd

Для просмотра содержимого хранилища конфигурации можно воспользоваться командой:

bcdedit /enum all — отобразить все записи в BCD

Пример конфигурации для диспетчера загрузки:

Пример конфигурации элемента загрузки операционной системы Windows Vista и более поздних ОС семейства Windows:


Загрузка Windows
——————-
идентификатор <52d2064f-3939-11e2-aab2-005056c00008>
device partition=C:
path \windows\system32\winload.exe
description Windows 7
locale ru-ru
inherit <6efb52bf-1766-41db-a6b3-0ee5eff72bd7>
osdevice partition=C:
systemroot \windows
resumeobject <52d2064e-3939-11e2-aab2-005056c00008>
nx OptIn
detecthal Yes

идентификатор — псевдоним или GUID конфигурации для загрузки данной ОС Windows
device — буква, соответствующая логическому диску с установленной ОС Windows.
path — путь приложения загрузки ядра системы.
description — текстовое описание элемента, в данном случае — загружаемой ОС Windows.
osdevice — буква диска для данной ОС
systemroot — корневой каталог загружаемой ОС.
resumeobject — GUID конфигурации для приложения, выполняемого при выходе из спящего режима (гибернации).
nx — настройки безопасности, задающие использование режима предотвращения выполнения данных (Data Execution Prevention, DEP)
detecthal — определение конфигурации оборудования и создание уровня программного доступа к нему.
Большинство параметров элементов конфигурации загрузки можно изменить с помощью утилиты bcdedit.exe с параметром /set:

bcdedit.exe /set nx AlwaysOff — отключить функцию DEP для текущей системы, независимо от наличия аппаратной поддержки DEP.
bcdedit.exe /set <6efb52bf-1766-41db-a6b3-0ee5eff72bd7>nx OptIn — включить функцию DEP для системы с указанным GUID

Примеры изменения конфигурации загрузки можно найти на странице с описанием утилиты командной строки BCDEDIT упоминаемой выше.

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

Программа очень проста в использовании и имеет поддержку нескольких языков, включая русский. В качестве примера приведу последовательность действий при создании конфигурации для загрузки ERD Commander из ISO-образа:

— нажимаем кнопку «Добавить запись»

— В правой нижней части окна, обозначенной как «Съемный внешний носитель» выбираем вкладку «ISO»

— Заполняем поле «Имя» — ERD Commander

— Выбираем путь к файлу ISO-образа ERD Commander. Хотя данное окно программы EasyBCD названо «Съемный внешний носитель», файл ISO-образа может быть на любом диске, в том числе и не съемном, например — на системном — C:\ISO\erdc.iso.

— Нажать кнопку «Добавить»

— Нажать кнопку «Редактировать меню загрузки» в панели инструментов.

— Убедиться в наличии изменений загрузочного меню, при необходимости изменить порядок отображения пунктов или время ожидания и нажать кнопку «Сохранить.»

Кроме вышеперечисленных программ, для создания и редактирования данных конфигурации загрузки, можно воспользоваться довольно продвинутой программой BCDTool.exe, не требующей инсталляции и работающей в среде любой версии Windows, в том числе и в среде средств восстановления системы на базе Windows PE ( ERD Commander, MSDaRT, прочие LiveCD ). При весьма скромных размерах, утилита BCDTool имеет поддержку русского языка и позволяет выполнить практически любые операции с данными хранилища BCD:

— редактировать существующее хранилище BCD и/или создавать новое пустое

— создавать отдельные пункты меню конфигурации загрузки и изменять их параметры.

— выполнять экспорт хранилища BCD в файл и импорт из файла в хранилище.

— создавать и редактировать отдельные элементы конфигурации для обеспечения загрузки Windows /XP/2000/Vista/7/8, а также для загрузки Real-Mode (Grub, Linux, DOS ) и загрузки с RAM-диска ( WinPE )

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

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

Следующий важный момент — для устранения проблем потребуется загрузка в какой-либо другой системе с компакт-диска, флешки, съемного USB-диска, или по сети. В крайнем случае, перенос диска с проблемной системой на другой компьютер. Самый простой вариант — создать диск аварийного восстановления стандартными средствами Windows 7:

— Перейти в Панель управления
— Выбрать «Архивация и восстановления»
— «Создать диск восстановления системы».

Вставить в привод чистый компакт диск и нажать кнопку «Создать диск»

1. Создать загрузочные записи MBR и PBR. Используя командную строку, выполнить :

bootsect /nt60 D: /mbr /force — для флешки, которой присвоена буква D:

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

— в строке приглашения ввести команду для отображения списка дисков:

— выбрать в качестве текущего диска флешку:

select disk 3 — если флешка отображалась в списке дисков как «Диск 3»

— выбрать раздел на флешке:

select partition 1 — выбрать раздел 1

— сделать текущий раздел флешки активным :

Завершить работу с DISKPART командой exit

3. Скопировать содержимое компакт-диска восстановления системы на флешку.

Если флешка уже имела активный раздел ( отображалась в диспетчере логических дисков с признаком «Активный»), то в использовании DISKPART нет необходимости.

Если копирование содержимого компакт — диска на флешку выполнено «один-в-один», с сохранением путей и имен, то изменение конфигурации загрузки для диспетчера не требуется.

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

bcdboot C:\WINDOWS — скопировать в системный раздел файлы и каталоги, необходимые для загрузки Windows 7, из каталога C:\WINDOWS, и создать новую конфигурацию BCD

— Для добавления возможности загрузки Windows XP, необходимо создать нужную для загрузки ntldr, запись в хранилище конфигурации BCD, добавить в меню пункт для выбора данной ОС, определить порядок отображения пунктов, и систему, загружаемую по умолчанию. При установке предыдущей версии Windows ( WinXP ), необходимые загрузчику ntldr файлы уже имеются на диске ( boot.ini, ntdetect.com, bootfont.bin).

Пример создания конфигурации загрузки Windows XP с помощью команды bcdedit:

bcdedit /create /d «Microsoft Windows XP» — создать объект для загрузки Windows XP

bcdedit /set device partition=C: — указать устройство загрузки (активный раздел)

bcdedit /set path \ntldr — указать путь к загрузчику ntldr

bcdedit /displayorder /addlast — добавить в конец меню выбора вариантов загрузки новый пункт.

Если команда bcdedit выполняется в среде операционной системы, для которой не определено местонахождение хранилища конфигурации загрузки, или расположение системного хранилища отличается от того, которое будет использоваться диспетчером bootmgr при загрузке с жесткого диска, то необходимо указывать полный путь к файлу bcd в параметре /store :

bcdedit /store D:\BOOT\bcd /create /d «Microsoft Windows XP» — создать объект для загрузки Windows XP в хранилище конфигурации D:\BOOT\bcd

Если создание конфигурации загрузки для Windows XP выполняется с помощью EasyBCD, то файл загрузчика ntldr размещается в подкаталоге \NST активного раздела.

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

BOOTMGR is missing

При повреждении содержимого файла :

Invalid or unsupported executable format

Источник

Читайте также:  при какой температуре нельзя играть в футбол в рфпл
Сказочный портал