Файл bcd что это
При запуске Bootmgr необходимы рабочие инструкции, получаемые из двоичного файла, называемого файлом данных конфигурации загрузки (BCD). Обычно этот файл находится в папке\boot активного раздела. Для настройки файла BCD используется команда Bcdedit. Давайте посмотрим, как с ее помощью построить загрузочный файл BCD с нуля
В статье «Восстанавливаем систему с помощью Bootsect», опубликованной в предыдущем номере, речь шла о том, как восстановить систему Windows 7/R2, которая перестала загружаться. В частности, были даны пояснения, касающиеся загрузочной записи Windows 7/R2 и приложения Bootmgr. .
Рабочий файл BCD обычно включает как минимум два объекта. Во-первых, это диспетчер загрузки, содержащий всю загрузочную информацию, в частности указание на то, какой элемент списка загрузки операционных систем следует использовать по умолчанию, и время ожидания выбора пользователя, если существует несколько элементов списка загрузки операционных систем. Во-вторых, файл содержит хотя бы один элемент загрузки операционных систем. Порядок создания этих объектов описан ниже.
Начнем с удаления всех существующих файлов BCD и создания нового пустого файла. По странному свойству Bcdedit, сперва надлежит создать новый файл BCD в каком-либо месте, а затем «импортировать» его, то есть скопировать все его содержимое в «официальный» файл BCD в папке \boot активного тома. Это можно сделать с помощью двух команд, вводимых в окне командной строки с повышенными привилегиями:
Эти команды работают независимо от того, существует папка \boot\bcd в нужном месте либо в загрузочном томе вообще нет файлов BCD. После выполнения описанных выше действий вновь созданный файл BCD больше не нужен, и его можно удалить.
Теперь создадим диспетчер загрузки для файла BCD с помощью следующей команды:
Отметим параметр/create в этом варианте команды вместо применявшегося ранее /create store. Этот параметр позволяет создавать различные виды объектов BCD. С использованием данного параметра в комбинации с идентификатором создается диспетчер загрузки. Я опускаю описание использования команды с параметром /d, которое содержится в любом примере, который я смог найти в Интернете. При создании диспетчера загрузки эта информация не нужна.
Диспетчер загрузки не требует сложной настройки. Необходимо лишь указать загрузочный том и время ожидания выбора пользователем элемента списка загрузки операционных систем:
Перейдем к созданию элемента списка загрузки операционных систем, который укажет диспетчеру загрузки выполнить загрузку Windows из файлов в папке \Windows одного из томов системы. Обычно таким томом является диск C, однако в случае загрузки из среды предустановки Windows (WinPE) необходимо проверить, на каком диске находится папка \Windows, поскольку в WinPE он может называться D или E.
Создадим элемент списка загрузки операционных систем:
Параметры /create (без идентификатора) и /application osloader указывают на то, что элемент списка загрузки операционных систем создается для Vista и более поздней версии Windows. Параметр /d содержит метку, которую диспетчер загрузки указывает, предлагая варианты элементов списка загрузки операционных систем. После выполнения команды система возвращает новый глобально уникальный идентификатор (GUID), который нужно вставить в следующую команду:
На данном этапе мы имеем «голый» объект, для которого нужно установить некоторые значения с помощью команды Bcdedit/set, рассматривавшейся в предыдущих выпусках, посвященных Bcdedit. Какие значения следует устанавливать? Ответ прост. Берем выходные данные Bcdedit, полученные для исправной копии Windows, и используем их как модель. В моем случае папка \Windows находится на диске D, поэтому я ввожу следующее:
Наконец, вводим следующую команду, чтобы система 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.
Общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
1CEh 16 Раздел 2
1DEh 16 Раздел 3
1EEh 16 Раздел 4
1FEh 2 Сигнатура (55h AAh)
Длина указана в байтах.
Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.
Типы 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), который содержит информацию, какой же загрузчик искать.
Существуют следующие загрузчики:
- io.sys для MS-DOS, Windows 95/98/МЕ
- ntldr для Windows 2000/XP/2003
- bootmgr для Windows Vista/7/8/8.1/10
Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.
- Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
- Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
- Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/3/4, 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, и так далее.
Редактирование и установка MBR
Редактирование и установка загрузчика
Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.
Работа с таблицей разделов в BootICE
Кратко о загрузчике Syslinux
Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr . bin или gptmbr . bin . Конечно, это имеет смысл только для Linux.
Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux . efi , однако он еще достаточно сырой.
Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.
Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.
Загрузчики Windows
Конечно, основное внимание мы уделим загрузчикам для Windows.
Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe
Загрузка WINDOWS\system32\winload.exe
Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.
Обычно именно конфигурация BCD становится наибольшим камнем преткновения.
Конфигурирование BOOTMGR и BCD
Для работы с загрузчиком Windows вам понадобятся системные утилиты:
Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.
Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.
При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой и вручную добавленный пункт меню для запуска установки Windows из WIM файла:
А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:
Запуск среды восстановления Windows RE с загрузочной флэшки
Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.
Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.
Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.
bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.
Загрузчик GRUB4DOS
Загрузчик состоит из следующих файлов:
Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.
Установка GRUB загрузчика под Windows
Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:
Вот и все, не так и сложно.
Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):
Приведу примеру рабочих кусков кода из файла меню:
title Установка Windows XP with SP3 x86 RUS. root (hd0,0) map --mem /WINSETUP/XPpSP3.ISO (0xff) map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.BIN
title Установка Windows 7 with SP1 x86-x64 + MSDaRT 7.0 RUS. find --set-root /bootmgr chainloader /bootmgr boot
title Загрузка WinPe RusLive Special Edition 2k10 RUS. find --set-root --ignore-floppies /2K10/WINPE/RLPE.BIN chainloader /2K10/WINPE/RLPE.BIN title Acronis DD 11 and True Image Home 2012 RUS. map /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) || map --mem /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) map --hook chainloader (0xFF)
title Hiren's BootCD v.15.1 RUS. find --set-root /PROG/hiren.ima map /PROG/hiren.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1 boot
title Victoria v.3.52 RUS. find --set-root /PROG/vcr352r.iso map --mem /PROG/vcr352r.iso (0xff) map --hook root (0xff) chainloader (0xff) boot
title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin
Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.
Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:
Выводы
Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.
Диспетчер загрузки в современных версиях Windows использует файл конфигурации загрузки BCD (Boot Configuration Data) для запуска операционной системы, установленной на компьютере. В этом файле хранятся данные об установленной Windows и параметрах ее загрузки. Если файл BCD удален или поврежден, Windows перестает загружаться. Также вы не сможете загрузить Windows, если повреждена MBR запись на жестком диске. В этой статье мы покажем способ ручного пересоздания файла хранилища данных конфигурации загрузки BCD и Master Boot Record (MBR) на примере Windows 10.
Your PC needs to be repairedThe Boot Configuration Data file is missing some required information
File: \Boot\BCD
Error code: 0xc0000034
При повреждении MBR может быть ошибка No operating system found.
Автоматическое восстановление конфигурации загрузчика Windows
Совет. Желательно периодически проверять работоспособность среды WinRE, и если она не работает, воспользоваться для ее восстановления методикой из статьи Восстановление среды WinRE в Windows 10.Если автоматическое восстановление с помощью Startup Repair не помогло решить проблему, вам нужно загрузиться с загрузочного или установочного диска с Windows или в среде WinRe (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt), запустить командную строку и попытаться создать новый файл конфигурации BCD и обновить MBR запись«с нуля».
В этом примере я буду использовать установочный диск с Windows 10. Выберите в настройках BIOS первичным загрузочным устройство DVD диск или USB флешку (в зависимости от того, с какого устройства вы хотите загрузить компьютер). Загрузитесь с установочного диска и на экране выбора языка установки нажмите сочетание клавиш Shift+F10. Перед вами откроется консоль командной строки.
Попробуйте восстановить BCD файл автоматически, выполнив команду:
Перезагрузите компьютер и проверьте, загружается ли Windows (не забудьте изменить приоритет загрузочных устройств в BIOS). Если ОС не загружается, еще раз загрузитесь с установочного диска и откройте окно командной строки.
Идентификация разметки дисков и букв томов
Очень важно. Все инструкции, описанные ниже, подходят для обычных MBR+BIOS систем. На системах с UEFI для пересоздания BCD нужно воспользоваться следующими инструкциями по восстановлению загрузчика для Windows 10/8 c EFI или для Windows 7.Как понять, используется ли у вас BIOS или UEFI система? Проще всего проверить тип таблицы разделов на диске, на котором установлена Windows: GPT или MBR. Для этого выполните команду:
Если у диска в столбце Gpt указана звездочка (*), значит на диске используется таблица разделов GPT (это значит, что у вас компьютер с UEFI, и для восстановления загрузчика нужно использовать статью по ссылке выше). Если в столбце GPT звездочка отсутствует, значит у вас на диске таблица разделов MBR, и вы можете продолжить следовать данной инструкции.
Далее вам нужно идентифицировать локальные диски и разделы системы (скорее всего назначенные им буквы дисков будут отличаться от дисков, которые вы видели при работе в Windows). Проще всего это сделать с помощью утилиты diskpart. Выполните следующие команды:
Перед вами появится список разделов в системе, назначенные им буквы дисков и их размер. В нашем случае к компьютеру подключен 1 жесткий диск, на котором имеются всего два раздела:
- Раздел SystemReserved размером 500 Мб, которому назначена буква диска C:. На этом небольшом служебном разделе по-умолчанию хранится файл конфигурации загрузки BCD (подробнее)
- NTFS раздел размером 39 Гб, которому назначена буква D:. На этом разделе находится установленная Windows, программы и данные пользователя.
Восстановление загрузочного сектора MBR в Windows 10
С помощью следующих команд мы перезапишем данные в MBR и загрузочном секторе, поместим в них ссылки на загрузчик Windows (bootloader).
bootrec.exe /fixmbr
bootsect.exe /nt60 all /force
bootrec /FixBoot – команда создает новые загрузочный сектор на системном разделе.
bootrec /ScanOs
bootrec /RebuildBcd – сканирование всех дисков и поиск установленных Windows, занесение найденных копий в конфигурацию загрузчика BCD
После этого перезагрузите компьютер и проверьте загрузку Windows. Если ОС не загружается, следуйте инструкции.
Если команда bootsect.exe не будет найдена, попробуйте указать путь к ней:
X:\boot\bootsect.exe /nt60 all /force
Пересоздание BCD файла загрузчика Windows 10
Далее с помощью команды BCDedit нужно создать новый файл с конфигурацией загрузчика (предполагается, что у вас нет резервной копии BCD).
Удалите старый (поврежденный) файл BCD на разделе System Reserved и создайте вместо него новый.
del c:\boot\bcd
Выберите диск (в моем случае в компьютере имеется всего один жесткий диск, а вы можете вывести список дисков командой list disk): select disk 0
Из скриншота выше видно, что раздел с меткой System Reserverd называется Volume 1. Выберите его: select volume 1
Назначьте букву диска (я назначил букву C:, но вы можете использовать любую другую букву, в этом случае измените путь в следующих командах): assign letter C:
Создайте временный пустой файл bcd.tmp:
bcdedit /createstore c:\boot\bcd.tmp
Создайте запись для диспетчера загрузки bootmgr:
bcdedit.exe /store c:\boot\bcd.tmp /create /d "Windows Boot Manager"
Импортируйте в BCD настройки из файла bcd.tmp:
bcdedit.exe /import c:\boot\bcd.tmp
Укажите, что загрузчик находится на служебном разделе System Reserved (ему назначена буква диска C: )
bcdedit.exe /set device partition=c:
Настройте время ожидания при выборе ОС:
bcdedit.exe /timeout 10
Удалите временный файл:
del c:\boot\bcd.tmp
Итак, вы создали пустой BCD файл с параметрами загрузчика. Теперь в него нужно добавить записи об установленных на диске Windows .
Создайте в хранилище BCD новую запись для Windows 10:
bcdedit.exe /create /d "Windows 10" /application osloader
Команда должна вернуть уникальный идентификатор (GUID) данной записи загрузчика:
Укажем, что bootmgr должен использовать данную запись по-умолчанию (после истечения времени ожидания при выборе ОС, для загрузки будет используется именно эта запись).
Теперь в новой записи загрузчика осталось указать пути к имеющейся на диске установленной копии Windows 10. Ранее мы определили, что в среде WinPE диску с установленной Windows присвоена буква D:. Используйте эту букву диска в следующих командах:
bcdedit.exe /set device partition=d:
bcdedit.exe /set osdevice partition=d:
bcdedit.exe /set path \Windows\system32\winload.exe
bcdedit.exe /set systemroot \Windows
Осталось сделать данную загрузочную запись в BCD видимой (по умолчанию она скрыта):
bcdedit.exe /displayorder /addlast
Итак, мы полностью пересоздали загрузчик Windows 10 (обновили файл BCD и перезаписали загрузочный сектор в MBR). Теперь вы можете перезагрузить компьютер и убедится, что Windows 10 загружается в штатном режиме.
А не проще ли для пересоздания файла конфигурация загрузки BCD использовать BCDBOOT.exe ?
В данном случае:
ren c:\boot\bcd bcd.bak
bcdboot d:\windows /l ru-ru /s c:
bcdboot c:\windows /l ru-ru
Отработало на отлично и без указания /s C:
Спасибо, целые сутки ковырялся, наконец-то запустил , хорошо что есть скрины командной строки, пробелы оказывается важно! Первый раз не поленился и комент оставил)
Пожалуйста!
Не ленитесь и оставляйте свои комментарии у статей которые Вам помогли. Это дань уважения как автору, так и подсказка другим людям с аналогичной проблемой.
🙂
Спасибо! Думал, уже ничего не поможет, система восстановилась!
Я готов тебя просто расцеловать! , это решение всех проблем! Система снова работает! ?а тебя в закладочку что бы не потерять!
Следовал порядку действий но на 3 этапе возникла проблема
Создайте временный пустой файл bcd.tmp
bcdedit /createstore c:\boot\bcd.tmp
У меня то же самое. Активный загрузочный диск С, система вин7 на диске F. BCD не удалилось,может потоу что папка BOOT скрытая, но временный файл создался. Т.е. файл c:\boot\bcd.tmp существует, а импортироваться не хочет.
Аналогично, на этом пункте та же ошибка.
Проверьте путь, скорее всего буква диска вашей копии Windows не C:, в данном случае это системный диск среды WinPE.
Выведите содержимое диска C: командой dir c:, по каталогам и файлам на нем будет понятно что это за диск
На что именно обратить внимание?
У меня выдало следующее:
У меня та же ошибка про импорт файла.
Судя по моим данным я верно выбрал букву? Не могу понять.
добрый день .у меня Раздел System Reserved не имеет буквы тоесть без имени что делать,
PS
Восстанавливаю загрузку Win7. Разделы имеют назв. букв такие же (с: и d: сответсвенно по примеру статьи)
Не выполнив последних пять команд из-за ошибок, ПК после перезагрузки начал выдавать ошибку 0хс0000034
Не удается найти указанный файл
Проблема все -таки с путями, проверяйте руками правильность букв дисков и существование файлов
Потому что при установке винды на SSD надо было физически отключить все остальные диски.
Поскольку вы этого не сделали, то загрузчик для винды на ССД прописался на старый жесткий диск, который вы впоследствии отформатировали.
Понял и учту на будущее.
Спасибо, Вадим!
Не подскажите в какой теперь раздел прописывать bcd файл? Откуда я его снёс, на С? Ведь на ССД диске у меня так же имеется выделенное пространство (480Мб). В cmd он не обозначен как резервный (как было на С). Является ли этот раздел системным или он от ССДшника?
Установщик винды, если у нее нет возможности создать отдельный раздел под загрузчик, создаёт папку BOOT на том же разделе, на котором расположена папка WINDOWS.
Так что ДА: можно и на диск С:
Если всё же диск в GPT, то проще конвертнуть его в MBR и сделать активным.
Десктопные материнки это спокойно переживут.
Не выходит. Продолжает писать, что ошибка импорта хранилища. Не удается найти запрашиваемое системное устройство. С несколькими разделами пробовал. Всё одно и то же.
Спасибо автору, форматнул неведомый локальный диск в винде на 500 мбайт, вылезла эта ошибка, помогла самая первая команда)
Здравствуйте, спасибо за отве, но том системой имеет букву С
Вы случаем не в Москве находитесь? могли бы вы мне помочь? выезд есть у вас?
Возможно какая-то проблема с самим SSD диском. Я бы снял его и проверил с помощью check SSD health утилиты производителя на другом компьютере.
К сожалению, не могу вытащить диск, т.к. ноут еще на гарантии.
Есть ли какие-то средства проверки из командной строки?
Стандартные команды не находят ошибок на диске.
Это не команда, это результат выполнения предыдущей команды :).
У вас там будет свой идентификатор загрузочной записи, который нужно использовать в следующих командах.
Вопрос.Какой буквой мне обозначить диск system reserved вместо C,если этот диск не имеет буквы?Пробовал писать С,выдаёт не то.
Спасибо,букву назначил.Но после команды del m:\boot\bcd выдало
The system cannot find the path specified.
Это же и выдавало после других команд с диском System Reserved
Подскажите пожалуйста.
Ошибки нет (по крайней мере, ошибка не появляется на мониторе).
При включении компьютера появляется логотип НР (производитель компьютера) и бесконечно крутится колесо загрузки.
Компьютер с UEFI.
По причине обнаружения вируса в файле загрузки, антивирус безвозвратно удалил файл MBR. После этого отсутствует файл c:\boot\bcd
Создание точек восстановления было отключено в системе и в антивирусе, так что откат произвести невозможно.
Выполнил ручное восстановление загрузчика Windows 8.1 с помощью загрузочного диска как описано в статье, рекомендованной Вами. Почти все команды прошли успешно, только после команды ren BCD BCD.bak написано, что не удаётся найти указанный файл, а после команд bootrec /scanos и bootrec /rebuildbcd написано, что найдено операционных систем Windows 0
Лучше обсуждать вашу проблему в статье про восстановление загрузчика на UEFI системе.
Игнорируйте ошибки и выполните инструкцию до конца (ren BCD BCD.bak и bootrec это не критичные моменты).
Если компьютер все еще не загружается, проверьте какие разделы остались у вас на диске.
Что делать, подскажите!
Здравствуйте. Сделала описанные Вами действия, итог черный экран. Подскажите, пожалуйста, что делать? Спасибо.
Здравствуйте, Александр.
1. Есть установочная флешка с win 10 с оф сайта.
2. Нет. Резервной копии нет. Точки восстановления нет.
3. Нет.
4.Есть ноутбук на win 8.1
Решил
ошибся в ключе
Всё перерыл, всё попробовал. На Виндовс 7 32бит. После Работы с Акронис, перестала система запускаться автоматически, приходилась при загрузке жать F10, заходить в Boot option menu, выбирать свой жёсткий диск и жать ентер. Не получалось заходить и в F8 что бы запустить устранение неполадок и восстановление системы, зайти удалось после входа F10, выбора диска, энтер и сразу F8. Пролечилось элементарным обновлением прошивки BIOS
bcdedit.exe /set device partition=c: послей это команды пишет: Указанно недопустимое устройство. Присоединенное к системе устройство не работает
Diskpart видит том с буквой C:? Это тот самый диск, на котором установлена ваша Windows?
Здравствуйте!
Такая трабла, есть диск С: с виндой 10
и диск Е: который никак не обозначен, весит 800мб, предположив что это и есть резервный диск, при попытке начать один из способов, а именно del e:\boot\bcd
Мне выдает что система не смогла найти этот файл(System cannot find the file specified) как быть? На диске оч много важных данных, если проипался то жопа(
Посмотрите, что лежит на диске e:. Команда:
dir e:\
Мне помогло старание разметки диска, и новая разметка тома. При установки в10.
У меня выдаёт ошибку на первом этапе:
C:\Users\Lenovo>bcdedit /createstore C:\boot\bcd.tmp
Ошибка создания хранилища.
Отказано в доступе.
Что делать?
спасибо помогло! bootrec /FixBoot – команда создает новые загрузочный сектор на системном разделе.
bootrec /ScanOs
bootrec /RebuildBcd – сканирование всех дисков и поиск установленных Windows, занесение найденных копий в конфигурацию загрузчика BCD
После этого перезагрузите компьютер и проверьте загрузку Windows. Если ОС не загружается, следуйте инструкции.
Вот на этом моменте всё заработало! Безмерно благодарен! 31.03.21
Добрый день! Столкнулся с ошибкой 0xc0000014c, следуя инструкциям из Вашей статьи, успешно дошел до шага:
Импортируйте в BCD настройки из файла bcd.tmp:
bcdedit.exe /import c:\boot\bcd.tmp
На этом шаге выдается ошибка: Ошибка импорта хранилища. Не удается найти запрошенное системное устройство. Подскажите, в чем может быть проблема?
Никак не могу разобраться с этим. На ПК всего 1 SSD диск, обычный не UEFI BIOS. Работаю с единственным разделом, на котором есть папка Boot (c:\boot), винда стоит на диске f:\windows. Проблема на ноутбуке HP.
Здравствуйте !
мне нравится Ваш ресурс, много полезного и чётко, без лишнего.
Хочу добавить от себя в эту статью. Столкнулся с проблемой. Решил переделать MBR загрузку на GPT.
На работе взял AOMEI Partition Assistent и перевёл MBR в GPT рабочую Windows 10 Pro. Перезагрузился и всё заработало. Загрузочный раздел был FAT32 остальные NTFS.
Потом дома взял DiskGenius, загрузился с флешки и переделал в GPT. Не заработало. Загрузочный раздел NTFS. Переделал в FAT32, не помогло, взял WinRE, отказался помогать, но есть командная строка.
Ничего в этой статье не помогало, не видит BCD и всё. bcdedit не удается найти запрошенное системное устройство.
Оказывается нужно было поставить на партицию специальный идентификатор /> делается diskpart:
sel disk 0
sel part 1
det part
set /> после этого перезагружаемся и всё работает, BCD видит и Windows грузится.
Файл BCD (Boot Configuratin Data) – преемник загрузочного файла boot.ini , начиная с Windows Vista. Он содержит информацию о загрузчиках операционных систем и их параметрах, доступных на компьютере. Файл BCD находится в активном разделе, в папке boot. В случае его удаления, повреждения или неправильной настройки – операционная система (ОС) перестаёт загружаться.
Редактирование файла BCD
На пользовательском уровне , файл BCD создаётся и редактируется менеджером загрузочных записей EasyBCD. У программы – интуитивно понятный интерфейс и бесплатная, свободно распространяемая лицензия. Качается русская версия EasyBCD без проблем из Интернета. Программа постоянно обновляется, выкладывать здесь нет смысла.
EasyBCD - Восстановление файла конфигурации загрузки (BCD)
После установки и запуска EasyBCD остаётся нажать по-очерёдно кнопки «Добавить запись» и «Редактировать меню загрузки», и – указать расположение дисков своих операционных систем, если их несколько. Остальное, прога сделает сама – создаст или отредактирует файл BCD, в самом лучшем виде. Если BCD ОС уже «убит» и система не грузится, тогда портабл-версия EasyBCD запускается из-под Live-CD с WinPE, или что-нить в этом роде. Независимо от того, откуда была запущена EasyBCD, она создаст правильный файл BCD и запишет его по месту назначения – в папку boot системного раздела (зарезервированного системой). Единственно, за чем нужно следить внимательно – это буквы-метки логических дисков месторасположения ОС. Иногда, они не совпадают. Почему? EasyBCD его знает. Видимо, зависит от сборки Виндовс.
Прим. Иногда, EasyBCD отображает всё правильно, но система не грузится. Как вариант – удалить записи про операционные системы в файле BCD и создать новые. Алгоритм не меняется: «Редактировать меню загрузки», кнопка «Удалить запись», дальше – кнопка «Добавить запись». Всё.
Любителям правильного администрирования компьютера:
Источник: Данные конфигурации загрузки – BCD
Для восстановление или пересоздания файла BCD – загружаемся с дистрибутива Windows, выбираем язык и открываем командную строку Shift+F10.
Если восстанавливаем BCD на RAID, то проходим дальше в процедуре установки ОС до момента, когда установщику появится возможность передать драйвера RAID контроллера. Когда контроллер определён и RAID опознан появятся разделы.
Проверить доступность дисков и файлов на них можно запустив notepad.exe и использовать его как файловый менеджер через Файл - Открыть (Ctrl+O). Кстати, на этом этапе дозволяется скопировать на флэшку важную информацию с повреждённого диска, используя для этого навигацию по папкам и комбинацию Ctrl+C и Ctrl+V.
Пробуем восстановить BCD файл автоматически:
bootrec /RebuildBCD
Если это не помогло, то создаём BCD файл заново с помощью BCDEdit[2]:
Cоздаём пустой файл,
добавляем (импортируем) его,
создаём запись для диспетчера загрузки bootmgr (приемник ntldr до Windows Vista),
указываем, что он будет отвечать за загрузку
указываем время ожидания при выборе ОС
создаём запись в списке доступных ОС
- bcdedit /createstore bcd
- bcdedit /import bcd
- bcdedit /create
- bcdedit /set device boot
- bcdedit /timeout 10
- bcdedit /create /d "Windows 2012" /application osloader
После выполнения последней команды программа вернёт глобальный уникальный идентификатор диска (GUID), который используем для определения записи по-умолчанию, т.е. та ОС, которая будет загружаться когда выйдет время ожидания загрузчика.
bcdedit /default
Если мы не уверены на каком томе у нас находится ОС, то ищем папку Windows, перебирая диски: C:dir, D:dir, E:dir или открыв notepad.exe как описано выше. Обычно, системная папка называется Windows и находится она на томе (диске) D. В работающей ОС этот том обозначен буквой С, т.к. первый раздел, который сейчас определился как С, обычно скрыт, помечен как "System Reserved" и не имеет буквы, чтобы не быть доступным для пользователя.
Определяем параметры созданной записи
- bcdedit /set device partition=d:
- bcdedit /set path\windows\system32\boot\winload.exe
- bcdedit /set osdevice partition=d:
- bcdedit /set systemroot \Windows
- bcdedit /set detecthal yes
Закрываем список ОС
bcdedit /displayorder /addlast
На этом всё. Перезагружаем компьютер и загружаемся в штатном режиме.
Файлы данные конфигурации загрузки (BCD) предоставляют хранилище, которое используется для описания приложений загрузки и параметров приложения загрузки.
BCDEdit — это программа командной строки для управления BCD. Его можно использовать для различных целей, включая создание новых магазинов, изменение существующих магазинов и добавление параметров меню загрузки.
Запуск программы BCDEdit
В папку будет включено BCDEdit %WINDIR%\System32 . Для изменения данных BCD требуются права администратора. После модиифинг данных BCD необходимо нормальное завершение работы и перезагрузку, чтобы гарантировать, что все измененные параметры BCDEdit будут сброшены на диск.
BCDEdit ограничена стандартными типами данных и разработана в основном для выполнения отдельных общих изменений в BCD. Связанные ресурсы:
- Некоторые распространенные операции BCD, такие как восстановление раздела или Настройка системного раздела нового компьютера, могут быть более легко выполнены с помощью BCDboot.
- для сложных операций или нестандартных типов данных рассмотрите возможность использования программного интерфейса инструментарий управления Windows (WMI) BCD (WMI) для создания более мощных и гибких пользовательских средств.
Синтаксис BCDEdit
Параметры Command-Line BCDEdit
Для BCDEdit.exe доступны следующие параметры командной строки.
Справка
Отображает список команд BCDEdit.
Чтобы отобразить подробную справку по определенной команде, выполните команду BCDEdit/? Command, где Command — это имя команды, для которой выполняется поиск дополнительных сведений.
Работа с магазином
Параметр | Описание |
---|---|
/креатесторе | Создает новое пустое хранилище данных конфигурации загрузки. Созданное хранилище не является системным хранилищем. |
/Export | Экспортирует содержимое системного хранилища в файл. Этот файл можно использовать позже для восстановления состояния системного хранилища. Эта команда допустима только для системного хранилища. |
/Import | Восстанавливает состояние системного хранилища с помощью файла данных резервной копии, созданного ранее с помощью параметра/Export. Эта команда удаляет все существующие записи в системном хранилище до того, как будет выполнена операция импорта. Эта команда допустима только для системного хранилища. |
/Store | Этот параметр можно использовать с большинством команд BCDedit, чтобы указать используемое хранилище. Если этот параметр не указан, программа BCDEdit работает в системном хранилище. Выполнение команды BCDedit/Store эквивалентно выполнению команды BCDedit/енум Active. |
/сиссторе | Задает устройство системного хранилища. Это относится только к системам на основе EFI. Он не сохраняется при перезагрузках и используется только в тех случаях, когда устройство системного хранилища является неоднозначным. |
Работа с записями в магазине
Параметр | Описание |
---|---|
/Copy | Создает копию указанной загрузочной записи в том же системном хранилище. |
/CREATE | Создает новую запись в хранилище данных конфигурации загрузки. Если задан известный идентификатор, то параметры: доступность приложений,/инхерит и/девице не могут быть указаны. Если идентификатор не указан или хорошо известен, необходимо указать параметр: доступность приложений,/инхерит или/девице. |
/delete | Удаляет элемент из указанной записи. |
/миррор | Создает зеркало записей в хранилище. |
Изменение параметров записи
Параметр | Описание |
---|---|
/делетевалуе | Удаляет указанный элемент из загрузочной записи. |
команде | Задает значение параметра записи. |
например, эта команда позволит системе доверять Windows Insider Preview сборкам, подписанным сертификатами, которые не являются доверенными по умолчанию:
Выполните перезагрузку после выполнения команды. Чтобы отключить флигхтсигнинг, выполните следующие действия.
Управление выходными данными
Параметр | Описание |
---|---|
/енум | Выводит список записей в магазине. Параметр/енум является значением по умолчанию для Бцедит, поэтому выполнение команды BCDedit без параметров эквивалентно выполнению команды BCDedit/енум Active. |
/v | Режим подробного вывода. Как правило, все известные идентификаторы записей представлены в виде понятной краткой формы. При указании параметра/v в командной строке все идентификаторы отображаются в полном объеме. |
Выполнение команды BCDedit/v аналогично выполнению команды BCDedit/енум Active/v.
Управление диспетчером загрузки
Параметр | Описание |
---|---|
/бутсекуенце | Указывает одноразовый порядок просмотра, который будет использоваться для следующей загрузки. Эта команда аналогична параметру/дисплайордер, за исключением того, что она используется только при следующем запуске компьютера. После этого компьютер вернется к исходному порядку просмотра. |
/Default | Указывает запись по умолчанию, которую диспетчер загрузки выбирает по истечении времени ожидания. |
/дисплайордер | Указывает порядок отображения, используемый диспетчером загрузки при отображении параметров загрузки для пользователя. |
/timeout | Указывает время ожидания (в секундах), по истечении которого диспетчер загрузки выбирает запись по умолчанию. |
/тулсдисплайордер | Указывает порядок отображения, используемый диспетчером загрузки при отображении меню Сервис. |
Параметры служб аварийного управления
Отладка
Параметр | Описание |
---|---|
/bootdebug | Включает или отключает отладчик загрузки для указанной записи загрузки. Хотя эта команда работает для любой загрузочной записи, она действует только для приложений загрузки. |
/dbgsettings | Указывает или отображает глобальные параметры отладчика для системы. Эта команда не включает и не отключает отладчик ядра. для этой цели используйте параметр/Debug. Чтобы задать отдельный глобальный параметр отладчика, используйте команду bcdedit/сетдбгсеттингс Type value. |
/debug | Включает или отключает отладчик ядра для указанной записи загрузки. |
/хипервисорсеттингс | Задает параметры гипервизора. |
Чтобы устранить неполадки новой установки, включите режим отладки, изменив файл конфигурации загрузки (BCD). Например, используйте следующий синтаксис, чтобы включить отладку ядра или загрузки.
где <id> — это идентификатор GUID объекта Loader, который используется для загрузки операционной системы. "Default" можно использовать, если операционная система является параметром по умолчанию в меню диспетчера загрузки.
Читайте также: