Не загружается ОС Windows Vista, 7, 8, 8.1 (Status: 0xc000000e). Проблемы BCD.

В операционных системах (ОС) Microsoft Windows Vista, 7, 8, 8.1 загрузчик BOOTMGR заменил NTLDR, который был в ОС Microsoft Windows XP. Потребность в смене загрузчика возникла в связи с необходимостью поддержки загрузки операционной системы с компьютеров, использующих спецификацию Unified Extensible Firmware Interface (UEFI).

Конфигурация загрузки BOOTMGR сохраняется в файле BCD (Boot Configuration Data), который является одной из ветвей системного реестра (HKEY_LOCAL_MACHINE/BCD00000000)

bcd00000000

На скриншоте выше приведен пример содержимого одной из записей "Elements", в которой содержится уникальный номер жесткого диска (цифровая подпись), взятый из LBA 0 по смещению 0x1B8 (DWord - 4 байта) при формировании BCD. Microsoft, согласно своей документации, описывает ее как "The disk signature is a unique number at offset 0x1B8". Исходя из анализа BCD, очевидно, что BOOTMGR и сами Microsoft Windows Vista, 7, 8, 8.1 по прежнему используют данную цифровую подпись для идентификации жестких дисков, как и предшествующие им операционные системы.

ie mbr

Если в записи BCD для тома с ОС Microsoft Windows Vista, 7, 8, 8.1 будет несоответствие подписи, содержащейся в LBA 0 диска, то BOOTMGR не сможет выполнить загрузку, так как согласно логики его кода будет отсутствовать необходимое для загрузки устройство. Загрузка будет остановлена с сообщением "Status: 0xc000000e Info: The boot selection failed because reqired device is inaccessible". Также это сообщение будет при невозможности чтения метаданных файловой системы с тома, содержащего ОС Windows.

Причины возникновения ошибок:

1. Разрушение файловой системы на томе с ОС Microsoft Windows

2. Дефектообразования, попадающие на элементы метаданных файловой системы тома с ОС Microsoft Windows.

3. Отключен физически или неисправен жесткий диск, содержащий ОС Microsoft Windows

4. Разрушение BCD вследствие некорректных действий пользователя либо некого программного обеспечения.

5. Изменение цифровой подписи в LBA 0 по смещению 0x1B8

Также обнаружилось, что при подключении жесткого диска с загрузочным разделом и ОС Microsoft Windows Vista, 7, 8, 8.1 к другому персональному компьютеру под управлением ОС Microsoft Windows Vista, 7, 8, 8,1, могут быть внесены изменения в BCD на загрузочный том подключаемого диска, что приведет к невозможности загрузки ОС с жесткого диска при возврате его в первоначальный ПК.

При обнаружении проблемы, прежде, чем запускать консоль восстановления ОС (Windows Recovery Environment), необходимо удостовериться в том, что жесткий диск исправен, и только в случае исправного диска приступать к дальнейшим действиям. Под проверкой подразумевается просмотр SMART и проверка LBA диапазона в рамках системного раздела на предмет наличия дефектообразований. При наличии дефектов дальнейшая работа с жестким диском противопаказана в силу высоких рисков развития деградационных процессов в отношении как пластин, так и БМГ накопителя.

Далее следует загрузить консоль восстановления и выполнить команду проверки диска, содержащего ОС, "chkdsk x:" (команды вводить без кавычек), где х - буква диска, содержащего ОС в консоли. При некоторых проблемах это не обязательно будет "С". Если том операционной системы не содержит ошибок, то можно переходить к следующему абзацу. Если ошибки есть, то сначала рекомендуется резервное копирование всех важных данных с системного тома, и только потом исправлять ошибки, так как некоторые действия chkdsk необратимы. После того, как резервирование важных данных выполнено, необходимо выполнить "chkdsk x: /f".

Учитывая, что ошибка проявляется после загрузки BOOTMGR, можно утверждать, что MBR и boot сектор загрузочного тома исправны, так как управление передано загрузчику ОС, т.е. задачи, поставленные перед кодом в MBR и boot сектором успешно выполнены. Поэтому команды "bootrec.exe /fixmbr", "bootrec.exe /fixboot" могут быть необходимы только в том случае, если Вы уверены, что код, содержащийся там, чем-то модифицирован, и желательно его заменить на оригинальный.

Убедившись, что жесткий диск, содержащий ОС, исправен, и файловая система не содержит ошибок, а загрузка ОС все равно не происходит, нужно выполнить пересоздание BCD:

"bcdedit /export c:\bcdold.bak" на всякий случай создаем резервную копию BCD в корне загрузочного тома с именем bcdold.bak;

"attrib -s -h -r c:\boot\bcd" с оригинального файла удаляем атрибуты системный, скрытый, только для чтения;

"del c:\boot\bcd" удаляем оригинальную конфигурацию BCD;

"bootrec /rebuildbcd" после запуска утилита bootrec проанализирует все диски в системе на предмет наличия ОС и создаст новую конфигурацию BCD.

 

 

Павел Янчарский

 

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

Поделиться
|