Восстановление файла конфигурации загрузки (BCD). Редактирование загрузки нескольких операционных систем Windows Как отредактировать файл bcd

Привет друзья! В сегодняшней статье мы с вами создадим заново загрузчик Windows 7. В каких случаях это может пригодится. К примеру у вас не загружается Windows 7 и выдаёт ошибки, связанные с неисправностью загрузчика, например: "An operating system was not found" (Операционная система не найдена), BOOTMGR is missing. Press ctrl+alt+del, NTLDR is missing при загрузке Windows 7. А может вы перенесли Windows 7 с жёсткого диска на твердотельный накопитель, но система не стартует с SSD и выводит ошибку или показывает чёрный экран. Вы пытаетесь восстановить загрузку операционной системы , но у вас это не получается. В таких случаях нужно удалить и затем создать заново скрытый раздел - System Reserved (Зарезервировано системой, объём 100 МБ), именно на этом разделе находятся файлы загрузки Windows 7.

При установке Windows 7 на ноутбук или компьютер с обычным BIOS (жёсткий диск MBR), автоматически создаётся скрытый раздел System Reserved (Зарезервировано системой, объём 100 МБ), назначение которого - хранить и защищать файлы загрузки операционной системы. Данный раздел всегда имеет атрибуты: (Активен, Система, Основной раздел), и с него происходит запуск операционной системы, установленной на вашем компьютере.

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

Для успеха нашего дела, вспомним механизм загрузки Windows 7 и поможет нам программа BOOTICE.

В первую очередь, после включения компьютера, управление получает подпрограмма BIOS, которая производит проверку на работоспособность всех комплектующих системного блока, затем БИОС смотрит в своих настройках приоритетное для загрузки устройство (жёсткий диск, флешка, DVD-диск) и найдя такое (к примеру жёсткий диск) считывает с него загрузочную запись MBR (Windows 7 обычно устанавливается на диск разметки MBR) . MBR располагается в первом секторе загрузочного диска, имеет размер 512 байт, и содержит в себе программный код NT 6.x ,

Который выполняет поиск активного раздела (Active), с которого может осуществляться загрузка операционной системы, данный активный раздел

называется PBR (Partition Boot Record) и имеет свою загрузочную запись Bootmgr.

После этого управление переходит

менеджеру загрузки файлу «bootmgr» , который запускает файл winload.exe Windows 7. Что такое winload.exe?

Операционная система (в нашем случае Windows 7) это программа и чтобы она заработала (стала загружаться) необходимо запустить исполняемый файл OS: winload.exe или winload.efi. З апускает эти файлы загрузчик. З агрузчик это маленькая программа. Файл winload.exe запускает MBR- загрузчик, а файл winload.efi запускает EFI-загрузчик. Windows 7 в большинстве случаев установлена на диск с MBR загрузчиком.

Загрузка Windows 7 происходит в такой последовательности, менеджер загрузки файл «bootmgr» обрабатывает имеющуюся информацию в хранилище загрузки (файле BCD), а это - меню, время отображения, список операционных систем (если их несколько) и так далее, еcли данные корректные, то следует загрузка операционной системы. Но! Если хоть один из упомянутых мной файлов (bootmgr или BCD) окажется некорректным или вовсе будет отсутствовать, то проблемы при загрузке системы нам обеспечены. Часто бывает, что целостность данных файлов бывает нарушена в силу каких-либо причин (неосторожные действия пользователя, установка менеджеров загрузки сторонних разработчиков, вирусы и т.д), в этом случае стандартные действия по восстановлению загрузчика могут не помочь и тогда лучше всего удалить этот раздел полностью, затем форматировать и создать файлы загрузки заново. Как это можно сделать.

Удаляем скрытый раздел System Reserved (Зарезервировано системой, объём 100 МБ) и создаём его заново с помощью встроенной в систему утилиты командной строки diskpart

Загружаемся с установочной флешки Windows 7. Если не найдёте ISO-образ семёрки, то можете использовать загр. флешку Windows 8.1 или Win 10.

В начальном окне установки системы открываем командную строку клавиатурным сочетанием Shift+F10.

Вводим последовательно команды:

diskpart

lis vol (эта команда отображает буквы, номера, метки, размер и файловую систему. Б уква раздела 100 мб (С:). Том 1. Б уква раздела с установленной Windows 7 - (D:).

sel vol 1 (выбор тома с которым будем работать - 100 мб (С:). Том 1)

del vol (удаляем том 100 мб).

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

creat par prim (создаём основной раздел в этой неразмеченной области)

format fs=ntfs (создаём на разделе файловую систему NTFS)

assign letter С (присваиваем созданному разделу букву С )

activ (делаем раздел активным)

exit (выходим из diskpart)

bootsect /nt60 C: /mbr (данная команда записывает на жёсткий диск нужные коды PBR ( Bootmgr) и MBR (NT 6.x ))

bcdboot D:\windows /s C: (создаём загрузчик для Windows 7, находящийся на (D:), расположение загрузчика (С:))

Файлы загрузки успешно созданы.

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

На данных дисках мы не используем средства bootrec /fixmbr и bootrec /fixboot для обновления кодов MBR и PBR. Эти команды работают только с жёстким диском 0.

Команда bootsect работает с диском который мы укажем. То же самое касается и bcdboot. Без параметра /s , bcdboot работает с активным разделом на жёстком диске 0. И спользуемый нами параметр /s указывает на активный раздел нужного жёсткого диска.

В Windows XP загрузочная информация хранилась в файле boot.ini, и для внесения изменений в меню загрузки достаточно было просто отредактировать этот файл в текстовом редакторе. Начиная с Windows Vista все поменялось, и теперь меню загрузки операционной системы находится в хранилище загрузки (Boot Configuration Data, BCD ). Некоторые параметры меню загрузки можно изменить привычным способом, используя графический интерфейс, но полный доступ к BCD возможен только из командной строки.

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

Апплет панели управления Свойства системы.

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

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


В открывшемся окне мы можем посмотреть:
1. Список установленных ОС, а также изменить систему загружаемую по умолчанию.
2. Установить время ожидания до загрузки выбранной системы.
3. Убрать отображение списка ОС при загрузке.
Добавить новую запись, изменить или удалить существующую отсюда не получится (в XP была еще кнопка «Правка», при нажатии на которую можно было вручную отредактировать загрузочное меню в Блокноте).

Настроек мало, есть другой способ.
Оснастка Конфигурация системы.

Чтобы открыть окно Конфигурация системы, набираем сочетание клавиш Win+R , в строке Выполнить вводим команду msconfig и нажимаем «ОК».
В открывшемся окне конфигурации системы переходим на вкладку Загрузка. Здесь мы можем проделать следующие действия:
посмотреть информацию о том, какая система загружена сейчас и какая загружается по умолчанию.
изменить систему, загружаемую по умолчанию.
отредактировать время (timeout), по истечении которого будет загружена операционная система по умолчанию.
удалить запись из меню загрузки.
Добавить или изменить запись мы по прежнему не можем.


Если необходимо изменить положение записи в меню загрузки или переименовать ее? Для этого есть третий способ:
Утилита командной строки bcdedit

Утилита bcdedit.exe находится в системной папке Windows\System32. Для работы ей необходим административный доступ к компьютеру, поэтому оболочку командной строки запускаем от имени администратора (иначе при попытке запустить программу будет выдана ошибка).


Если просто ввести команду bcdedit без параметров, то на экран будет выведена информация, хранящаяся в BCD. Информация представлена в виде двух столбцов: слева расположены названия параметров, справа – их значения.

Вот основные параметры, отвечающие за загрузку:
идентификатор - идентификационный номер, указывающий на запись в меню загрузки. Для стандартных идентификаторов используются названия, например {current} - текущая система, {default} - система по умолчанию;
device - указывает раздел, на котором расположен загрузчик операционной системы;
osdevice - указывает раздел, на котором находится сама операционная система. Как правило, значения device и osdevice идентичны;
path - остальной путь к загрузчику операционной системы;
description - описание операционной системы, отображающееся в меню при загрузке;
default - операционная система, загружаемая по умолчанию;
timeout - время ожидания перед загрузкой ОС по умолчанию;
displayorder - порядок, в котором системы отображаются при загрузке.
А теперь рассмотрим варианты применения bcdedit:
bcdedit /default {ID} - задаем систему, загружаемую по умолчанию.
bcdedit /displayorder — управляем порядком размещения записей в меню загрузки:
bcdedit /displayorder {ID} /addlast - добавляем систему в конец списка;
bcdedit /displayorder {ID} /addfirst - добавляем систему в начало списка;
bcdedit /displayorder {ID2} {ID1} - указываем порядок отображения систем в списке;
bcdedit /displayorder {ID} /remove - удаляем запись из меню загрузки.
Имейте ввиду, что при удалении записи из меню загрузки информация о параметрах выбранной системы не удаляется из BCD и при необходимости может быть восстановлена.
bcdedit /timeout XX - задаем время выхода в секундах.
bcdedit /set {ID} description ″Название системы″ - изменяем название системы, отображаемое в меню загрузки.
bcdedit /create /d ″Windows Vista″ /application osloader — создаем новую загрузочную запись.
bcdedit /create {ntldr} /d ″Windows XP″ - создаем загрузочную запись для ОС предыдущих версий (XP и старше).
bcdedit /copy {ID} /d ″Новая система″ - копируем загрузочную запись. Таким образом тоже можно добавить новую запись в меню загрузки.
bcdedit /delete {ID} /cleanup — удаляем загрузочную запись. При этом удаляется вся информация об установленной операционной системе из BCD и меню загрузки. У этой команды есть одна особенность - если в качестве ID указывается название, например {default}, то команда должна выполняться с ключом /f, если же ID записывается в буквенно-цифровом коде, ключ /f не нужен.
bcdedit /export ″C:\Backup\bcd″ - экспортируем содержимое хранилища в указанный файл.
bcdedit /import ″C:\Backup\bcd″ - восстанавливаем состояние системного хранилища из резервной копии, созданной с помощью команды /export.
Несколько примеров

Добавление новой загрузочной записи, «мультизагрузка»:
bcdedit /copy {current} /d ″New Windows 7 ″ — копируем текущую запись и называем ее по новому;
bcdedit /set {ID} device partition=D: — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice device partition=D: — указываем местоположение операционной системы;
bcdedit /displayorder {ID} /addlast - добавляем запись о системе в меню загрузки, в конец списка.
Добавление загрузочной записи для загрузки системы с виртуального диска (VHD):
bcdedit /copy {current} /d ″Загрузка с VHD″ — копируем текущую запись;
bcdedit /set {ID} device vhd=\DIR\filename.vhd — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice vhd= \DIR\filename.vhd — указываем местоположение операционной системы;
bcdedit /set {ID} detecthal on - включаем принудительное обнаружение аппаратно-зависимого уровня (Hardware Abstraction Layer, HAL);
bcdedit /displayorder {ID} /addlast — добавляем запись о системе в меню загрузки, в конец списка.
Примечание. \DIR\filename.vhd – это полный путь к VHD-файлу и указание имени файла.
Добавление загрузочной записи для загрузки Windows XP:
bcdedit /create {ntldr} /d ″Microsoft Windows XP″ — создаем новую загрузочную запись;
bcdedit /set {ntldr} device partition=\Device\HarddiskVolume1 — указываем расположение файлов загрузки системы;
bcdedit /set {ntldr} path \ntldr — указываем путь к загрузчику системы;
bcdedit /displayorder {ntldr} /addlast — добавляем запись о системе в меню загрузки.

Вконтакте

Начиная с Windows Vista, корпорация Microsoft усложнила процесс редактирования загрузчика Windows. Мы уже касались утилиты bcdedit.exe . Эта статья посвящена ей подробнее.

Для начала разберемся, почему Microsoft решила отказаться от столь простого понятного текстового файла boot.ini . Дело, как это часто водится, в безопасности.

Для усложнения получения доступа к параметрам загрузчика было придумано специальное хранилище данных конфигурации загрузчика (BCD). В Windows Vista и более поздних версиях данные конфигурации загрузчика хранятся в виде специальных программных объектов, которые уже не являются простыми текстовыми элементами. Каждый объект в хранилище имеет уникальный идентификатор (GUID) и хранится в специальном формате. Каждый идентификатор является уникальным для конкретной копии операционной системы. Для удобства редактирования параметров загрузчика некоторым из объектов помимо идентификаторов присвоены псевдонимы, по которым к ним и можно обращаться посредством утилиты bcdedit.exe. Вот список основных псевдонимов:

{bootmgr} Указание записи диспетчера загрузки Windows.
{fwbootmgr} Указание записи диспетчера загрузки микропрограмм в энергонезависимой ОЗУ, часто используемых в системах с UEFI.
{memdiag} Указание записи приложения диагностики памяти.
{ntldr} Указание на загрузчик Ntldr, используемых в прошлых версиях ОС (до Windows Vista).
{current} Виртуальный идентификатор, обозначающий загрузочную запись запущенной в данной момент операционной системы.
{default} Виртуальный идентификатор, обозначающий используемую по умолчанию загрузочную запись.
{ramdiskoptions} Включает в себя параметры диспетчера загрузки при работе с электронными дисками (т.е. располагающимися в оперативной памяти).
{dbgsettings} Содержит глобальные параметры отладки, которые наследуются любой записью в приложении загрузки.
{emssettings} Содержит глобальные параметры служб аварийного управления, которые наследуются любой записью в приложении загрузки.
{badmemory} Включает в себя общий список дефектов оперативной памяти, который наследуется любой записью в приложении загрузки.
{globalsettings} Общие параметры, которые наследуются всеми записями в приложении загрузки.
{bootloadersettings} Набор общих параметров, наследуемых всеми записями приложений загрузки Windows.
{resumeloadersettings} Набор общих параметров, наследуемых всеми возобновлениями работы Windows из спящего режима.
{hypervisorsettings} Параметры гипервизора, которые могут наследоваться любой записью в приложении загрузки.

Коснемся команд, доступных в утилите bcdedit.exe . Для получения списка команд запустите командную строку и введите

bcdedit.exe /?

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

bcdedit.exe /? [команда]

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

bcdedit.exe bcdedit.exe > C:\bootconf.txt

Путь для сохранения и имя можно, конечно, указать и другие.

Если же вместо псевдонимов Вы хотите видеть GUID, то команду можно видоизменить:

bcdedit.exe /v > C:\bootconf.txt

Можно использовать и другие форматы для экспорта информации. Например rtf, doc (не docx) или csv. Это позволяет не отвлекаться на проблемы с кодировками.

Перед редактированием загрузчика всегда разумно сделать его резервную копию. Делается это командой:

bcdedit.exe /export C:\BackupBCD\BCDfile

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

bcdedit.exe /export "C:\My BackupBCD\BCDfile"

Восстановление загрузчика производится командой

bcdedit.exe /import C:\BackupBCD\BCDfile

Разберем изменение основных настроек загрузчика Windows при помощи утилиты bcdedit.exe.

bcdedit.exe /timeout 15

Приведенная выше команда устанавливает время вывода списка загрузки равным 15 секундам.

Если помимо современных версий Windows, на компьютере также установлены старые версии ОС, относящиеся к семейству NT (2000, XP, Server 2003 и пр.), установить такую ОС в качестве загружаемой по умолчанию можно командой

bcdedit.exe /default {ntldr}

Если же в качестве загружаемой по умолчанию нужно использовать текущую ОС, используйте команду

bcdedit.exe /default {current}

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

bcdedit.exe /default

В данном случае в конце должен содержаться GUID в виде набора букв и цифр. Помните, что GUID должен быть заключен в фигурные скобки ({} ).

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

bcdedit.exe /displayorder {ntldr} {current}

В таком примере первой в списке будет отображаться устаревшая версия Windows, затем текущая, из-под которой вводилась эта команда. Вместо псевдонимов можно использовать и GUID систем.

Теперь разберем как создавать новые записи в загрузчике Windows при помощи утилиты bcdedit.exe. В общем виде команда создания новой записи выглядит так:

bcdedit.exe /create [{}] /d <описание> | /inherit DEVICE | /device]

разберем синтаксис команды подробнее.

ID — идентификатор, который будет использоваться для новой записи загрузки. В качестве идентификатора может быть использован GUID или псевдоним;

описание — то, как новая запись загрузки будет отображаться в списке;

application — указание на то, что новая запись является записью приложения, в данном случае тип_приложения может принимать один из следующих вариантов: BOOTSECTOR , OSLOADER , RESUME , STARTUP .

inherit — указание на то, что новая запись является наследуемой записью. тип_приложения может принимать одно из следующих значений: BOOTMGR , BOOTSECTOR , FWBOOTMGR , MEMDIAG , NTLDR , OSLOADER , RESUME . Если тип_приложения не указан, то новая запись может наследоваться от любой записи.

inherit DEVICE — указание на то, что новая запись является наследуемой и может быть унаследована только записью параметров устройства.

device — указание на то, что новая запись является дополнительной записью параметров устройства.

Добавить новую запись загрузки ОС семейства Windows NT данной командой довольно просто. Мы уже знакомы с псевдонимом ntldr , поэтому сгенерировать нужную команду не составит труда.

Прежде чем приступать к созданию новой записи, нам нужно скопировать файлы ntldr , boot.ini , ntdetect.con , bootfont.bin из раздела со старой ОС на тот раздел, где лежит загрузчик Windows. Им может быть как раздел, куда установлена свежая версия Windows, так и отдельный скрытый раздел, который может не отображаться в проводнике, но отображаться в консоли Управление дисками . Такой раздел будет носить описание Зарезервировано системой (System reserved ).

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

После копирования файлов создаем новую запись загрузки:

bcdedit.exe /create {ntldr} /d "Загрузчик ОС Windows NT"

Создаем параметры передачи загрузчику Windows NT:

bcdedit.exe /set device partition=x:

x в данном случае это имя раздела, где лежит загрузчик Windows NT. Если раздел является скрытым и не имеет буквы, то его нужно указать в том виде, в котором он отображается в текущей конфигурации ОС, например:

bcdedit.exe /set device partition=\Device\HarddiskVolume2 bcdedit.exe /set {ntldr} path \ntldr

И добавить этот пункт в конец списка загрузки:

bcdedit.exe /displayorder {ntldr} /addlast

Но и это еще не всё. Ведь нам надо убедиться, что загрузчик ntldr находит ОС. Если что-то идет не так, то первым делом убедитесь, что в файле boot.ini прописаны верные пути к ядру Windows NT. Например, если речь идет о первом разделе второго жесткого диска, то путь будет выглядеть так:

multi(0)disk(0)rdisk(1)partition(1)\WINDOWS=»ОС семейства Windows NT» /fastdetect

Помните, что нумерация дисков в загрузчике ntldr начинается с нуля, а разделов с единицы.

Разберем синтаксис команды удаления записи загрузки.

bcdedit.exe /delete {}

файл_хранилища — указание на используемое хранилище. Если параметр не задан явно, используется хранилище текущей ОС;

ID — идентификатор записи, которую требуется удалить. В качестве идентификатора может быть использован GUID или псевдоним;

f — параметр удаления указанной записи. Без этого параметра утилита bcdedit.exe не удаляет записи, имеющие известные псевдоним;

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

nocleanup — удаление записи загрузки без удаления из списка загрузки.

Например, загрузчик ОС семейства Windows NT имеет известный нам псевдоним ntldr , а потому запись загрузки не удалится без параметра f . Пример удаления:

bcdedit.exe /delete {ntldr} /f

Если у записи нет псевдонима, а только GUID, то достаточно указать его в фигурных скобках и не дописывать параметр f .

На самом деле, возможности нынешнего загрузчика Windows довольно обширны, чтобы описать их в одной статье. «За кадром» остались такие вопросы как создание специфических конфигураций загрузки или, например, добавление в меню загрузки пункта загрузки иной ОС (в первую очередь речь о Linux). К данным темам нам обязательно придется вернуться в дальнейшем. Ну а дотошный читатель всегда может изучить справку к утилите bcdedit.exe самостоятельно.

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

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

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

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

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

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

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

Файл BCD (Boot Configuratin Data) - преемник загрузочного файла boot.ini , начиная с Windows Vista. Он содержит информацию о загрузчиках операционных систем и их параметрах, доступных на компьютере. Файл BCD находится в активном разделе, в папке boot. В случае его удаления, повреждения или неправильной настройки - операционная система (ОС) перестаёт загружаться.

Редактирование файла BCD

На пользовательском уровне , файл BCD создаётся и редактируется менеджером загрузочных записей EasyBCD. У программы - интуитивно понятный интерфейс и бесплатная, свободно распространяемая лицензия. Качается русская версия EasyBCD без проблем из Интернета. Программа постоянно обновляется, выкладывать здесь нет смысла.

После установки и запуска EasyBCD остаётся нажать по-очерёдно кнопки «Добавить запись» и «Редактировать меню загрузки», и - указать расположение дисков своих операционных систем, если их несколько. Остальное, прога сделает сама - создаст или отредактирует файл BCD, в самом лучшем виде. Если BCD ОС уже «убит» и система не грузится, тогда портабл-версия EasyBCD запускается из-под Live-CD с WinPE, или что-нить в этом роде. Независимо от того, откуда была запущена EasyBCD, она создаст правильный файл BCD и запишет его по месту назначения - в папку boot системного раздела (зарезервированного системой). Единственно, за чем нужно следить внимательно - это буквы-метки логических дисков месторасположения ОС. Иногда, они не совпадают. Почему? его знает... Видимо, зависит от сборки Виндовс.

Прим. Иногда, EasyBCD отображает всё правильно, но система не грузится. Как вариант - удалить записи про операционные системы в файле BCD и создать новые. Алгоритм не меняется: «Редактировать меню загрузки», кнопка «Удалить запись», дальше - кнопка «Добавить запись». Всё.

Для восстановление или пересоздания файла BCD - загружаемся с дистрибутива Windows, выбираем язык и открываем командную строку Shift+F10.

Если восстанавливаем BCD на RAID, то проходим дальше в процедуре установки ОС до момента, когда установщику появится возможность передать драйвера RAID контроллера. Когда контроллер определён и RAID опознан появятся разделы.

Проверить доступность дисков и файлов на них можно запустив notepad.exe и использовать его как файловый менеджер через Файл - Открыть (Ctrl+O). Кстати, на этом этапе дозволяется скопировать на флэшку важную информацию с повреждённого диска, используя для этого навигацию по папкам и комбинацию Ctrl+C и Ctrl+V.

Пробуем восстановить BCD файл автоматически:
bootrec /RebuildBCD
Если это не помогло, то создаём BCD файл заново с помощью BCDEdit:

Cоздаём пустой файл,
добавляем (импортируем) его,
создаём запись для диспетчера загрузки bootmgr (приемник ntldr до Windows Vista),
указываем, что он будет отвечать за загрузку
указываем время ожидания при выборе ОС
создаём запись в списке доступных ОС

  1. bcdedit /createstore bcd
  2. bcdedit /import bcd
  3. bcdedit /create {bootmgr}
  4. bcdedit /set {bootmgr} device boot
  5. bcdedit /timeout 10
  6. bcdedit /create /d "Windows 2012" /application osloader

После выполнения последней команды программа вернёт глобальный уникальный идентификатор диска (GUID), который используем для определения записи по-умолчанию, т.е. та ОС, которая будет загружаться когда выйдет время ожидания загрузчика.
bcdedit /default {}
Если мы не уверены на каком томе у нас находится ОС, то ищем папку Windows, перебирая диски: C:dir, D:dir, E:dir или открыв notepad.exe как описано выше. Обычно, системная папка называется Windows и находится она на томе (диске) D. В работающей ОС этот том обозначен буквой С, т.к. первый раздел, который сейчас определился как С, обычно скрыт, помечен как "System Reserved" и не имеет буквы, чтобы не быть доступным для пользователя.

Определяем параметры созданной записи

  1. bcdedit /set {default} device partition=d:
  2. bcdedit /set {default} path\windows\system32\boot\winload.exe
  3. bcdedit /set {default} osdevice partition=d:
  4. bcdedit /set {default} systemroot \Windows
  5. bcdedit /set {default} detecthal yes

Закрываем список ОС
bcdedit /displayorder {default} /addlast
На этом всё. Перезагружаем компьютер и загружаемся в штатном режиме.

Похожие публикации