- Редактирование меню загрузчика Windows
- Возможности графического интерфейса Windows по редактированию меню загрузчика
- Консольное редактирование меню диспетчера загрузки Windows
- Наиболее вероятные варианты применения команд редактора bcdedit
- Для создания загрузочной записи NTLDR для загрузчика ОС прежних версий, например, Windows XP:
- Создание записи для системы, загружаемой с виртуального диска (VHD):
- В заключении рассмотрим команды удаления:
- Редактор данных конфигурации загрузки в ОС Windows
- Редактор данных конфигурации загрузки (BCD)
- Почему переход с Boot.ini на BCD?
- Что делает BCD Editor
- Расположение реестра BCD
- Версия командной строки BCD Editor
- Несколько загрузочных сред
- Изменить операционную систему по умолчанию с помощью BCD
- Редактор данных конфигурации загрузки перестал работать
- BCDEDIT: редактирование загрузчика Windows
Редактирование меню загрузчика Windows
В прошлый раз мы разобрались с основными этапами загрузки операционной системы после включения питания или перезагрузки компьютера, выяснили какие разделы диска называются системным, активным и загрузочным и посмотрели, какие файлы и элементы загрузчика на них расположены.
Сегодня займемся непосредственно редактированием конфигураций вариантов загрузки Windows. Речь пойдет о современном диспетчере загрузки Bootmgr, который впервые появился в Windows Vista, а точнее, о сопутствующем ему редакторе системного хранилища BCD (Boot Configuration Data) — bcdedit.exe и его командах.
Надо сказать, что редактировать меню загрузки операционных систем приходится не так уж и часто. Такая необходимость может возникнуть, когда на одном компьютере нужно установить несколько операционных систем, или в случае аварийной ситуации.
В контексте материалов, опубликованных на блоге, примеры редактирования данных конфигурации загрузки встречались уже несколько раз. Например, в статье, в которой описывалась загрузка операционной системы Windows 7 с другим (модифицированным) ядром. Или при обсуждении загрузки операционной системы с виртуального диска.
Возможности графического интерфейса Windows по редактированию меню загрузчика
До того, как мы начнем разбирать основные команды консольного редактора bcdedit, посмотрим какие графические утилиты предоставляет Windows для редактирования меню загрузчика и убедимся, что они предельно ограничены.
Если открыть элемент “Система” в “Панель управления” или, что то же самое, «Свойства» в контекстном меню (по правой кнопке мыши) «Компьютер» и дальше “Дополнительно” –> “Загрузка и восстановление” –> “Параметры”, откроется окно “Загрузка и восстановление” >
Единственное, что можно сделать в этом окне, это выбрать из выпадающего списка операционных систем, если их несколько, систему, загружаемую по умолчанию, и изменить время отображения списка в процессе загрузки.
Вторым вариантом редактирования BCD с использованием GUI (Graphical user interface) является оснастка «Конфигурация системы». Для ее запуска нужно в окне «Выполнить», или в командной строке, набрать и запустить msconfig >>
Дополнительно к тем немногочисленным возможностям, которые предоставляет апплет «Система» из «Панель управления», на вкладке «Загрузка» в «Конфигурация системы» можно еще удалить любой неактивный вариант загрузки. Это уже кое-что, но явно недостаточно для полноценного редактирования BCD.
Поэтому, придется о GUI забыть и обратиться к консольным командам редактора bcdedit.
Консольное редактирование меню диспетчера загрузки Windows
Сложного ничего нет. Главное понимать, что и зачем делаешь. Редактор bcdedit.exe, который находится в папке …\Windows\System32, нужно запускать с правами администратора — клик правой кнопкой мыши на «Командная строка» –> «Запуск от имени администратора».
Без параметров bcdedit выведет всю информацию о вариантах загрузки, записанную в хранилище BCD >
Комментировать все строки, которые мы видим на представленном фрагменте экрана, особого практического смысла нет. Кроме того, часть из них понятна и без объяснений. Выделим те, которые могут в первую очередь пригодиться на практике.
идентификатор — заключенный в фигурные скобки <> (скобки в командах писать обязательно) 36-символьный, 32-значный, номер записи, в которой прописаны параметры загрузки операционной системы. Для системы, загруженной в данный момент, номер заменяется на
Для того, чтобы не набирать на клавиатуре такой длинный идентификатор, очень удобно воспользоваться текстовой копией выдачи bcdedit. Для этого нужно кликнуть правой кнопкой мыши в любом месте окна командной строки, в появившемся контекстном меню выбрать «Выделить все» и нажать на клавиатуре «Enter». Аналогичного, но выборочного, результата можно добиться, выбрав в контекстном меню «Пометить» и выделив далее нужные строки. Далее запускаем текстовый редактор «Блокнот» и вставляем в новый файл содержимое буфера обмена.
device — раздел, на котором расположены файлы загрузчика операционной системы. Соответственно, для секции «Диспетчер загрузки Windows» это активный системный раздел, для секции «Загрузка Windows» — загрузочный раздел конкретной операционной системы;
description – название операционной системы, отображаемое в списке во время загрузки;
path — путь к загрузчику ОС;
displayorder, timeout – соответственно, порядок отображения вариантов в меню загрузки и время в секундах показа самого списка до начала загрузки дефолтной ОС.
Для того, чтобы изменить значение любого параметра, нужно запустить bcdedit с соответствующими ключами. Например, изменяем название операционной системы в меню:
bcdedit /set
bcdedit /displayorder
Возможны действия с одной записью:
bcdedit /displayorder
bcdedit /timeout XX – время отображения меню в секундах;
bcdedit /default
Наиболее вероятные варианты применения команд редактора bcdedit
Первое, что имеет смысл сделать до начала любых операций с BCD, это создать копию содержимого системного хранилища конфигурации загрузки:
bcdedit /export «C:\Backup\bcd-backup» где C:\Backup\ – произвольно выбранная для хранения папка, а bcd-backup – произвольное имя файла копии хранилища.
bcdedit /import «C:\Backup\bcd-backup» – противоположная команда. Восстанавливает содержимое хранилища конфигурации загрузки из его копии.
Создать новую загрузочную запись можно различными командами. Если тип новой системы аналогичен уже существующей, то имеет смысл воспользоваться командой копирования:
bcdedit /copy
Если в качестве «образца» выступает текущая операционная система, то команда будет выглядеть так:
bcdedit /copy
Если новая загрузочная запись создается «с нуля», то нужно использовать:
bcdedit /create /d «Название новой системы» /application osloader где/application задает тип приложения.
Для создания загрузочной записи NTLDR для загрузчика ОС прежних версий, например, Windows XP:
bcdedit /create
Дополнительно нужно указать на каком разделе диска находится загрузчик системы:
bcdedit /set
bcdedit /set
Запись можно добавить в конец списка ОС в меню:
bcdedit /displayorder
Создание записи для системы, загружаемой с виртуального диска (VHD):
bcdedit /copy
Запускаем bcdedit без параметров и копируем новый
bcdedit /set
bcdedit /set
bcdedit /displayorder
В статье, посвященной установке Windows 8.1 на виртуальный диск, представлен альтернативный способ создания соответствующей загрузочной записи в BCD.
В заключении рассмотрим команды удаления:
bcdedit /delete
bcdedit /deletevalue
Естественно, все команды в короткой статье рассмотреть невозможно, поэтому в случае затруднения используйте встроенную справку:
bcdedit /?
Редактор данных конфигурации загрузки в ОС Windows
Самое сложное, когда вы работаете с двойной или множественной загрузкой, это то, что иногда менеджер загрузки не распознает старые операционные системы. Это может быть связано с тем, что старые операционные системы используют загрузчик другого типа, например, до Windows Vista, или просто из-за того, что Windows не удалось назначить имя диска для отсутствующих операционных систем.
Редактор данных конфигурации загрузки (BCD)
Средство командной строки Bcdedit.exe изменяет хранилище данных конфигурации загрузки. Хранилище данных конфигурации загрузки содержит параметры конфигурации загрузки и контролирует загрузку операционной системы. Эти параметры ранее были в файле Boot.ini (в операционных системах на основе BIOS) или в записях энергонезависимой памяти (в операционных системах на основе расширяемого интерфейса микропрограммного обеспечения). Вы можете использовать Bcdedit.exe для добавления, удаления, редактирования и добавления записей в хранилище данных конфигурации загрузки.
Эта статья посвящена редактору данных конфигурации загрузки и пытается ответить, как он может помочь вам исправить ошибки, такие как «Операционная система не найдена», «Не удается обнаружить вторичные и третичные операционные системы в случае нескольких загрузок и подобных ошибок».
Почему переход с Boot.ini на BCD?
BCD был создан для предоставления улучшенного механизма описания данных конфигурации загрузки. При разработке новых моделей встроенного программного обеспечения требовался расширяемый и совместимый интерфейс для абстрагирования основного встроенного программного обеспечения. Этот новый дизайн обеспечивает основу для множества новых функций в Windows Vista, Windows 7, Windows 8, Windows 10, таких как средство восстановления при загрузке и ярлыки многопользовательской установки.
Что делает BCD Editor
BCD Editor предоставляется в виде графического интерфейса в Windows. Вариантов не так много, но вы можете исправить менеджер загрузки и восстановить основную загрузочную запись, используя графический интерфейс пользователя.
Графический интерфейс пользователя также позволяет исправлять проблемы, при которых Bootmgr в некоторых случаях оказывается отсутствующим.
Расположение реестра BCD
Хранилище данных конфигурации загрузки содержит параметры конфигурации загрузки и контролирует запуск операционной системы.
Реестр BCD находится в папке \ boot \ bcd активного раздела.
Для систем на основе EFI расположение реестра BCD по умолчанию находится в разделе EFI.
Читать . Как выполнить резервное копирование и восстановление файла BCD в Windows.
Версия командной строки BCD Editor
Версия командной строки BCD Editor является очень мощной и может использоваться для выполнения различных функций:
- Создать магазин BCD
- Добавить записи в существующий магазин BCD
- Изменить существующие записи в магазине BCD
- Удалить записи из магазина BCD
- Экспорт записей в магазин BCD
- Импорт записей из магазина BCD
- Список текущих активных настроек
- Запрашивать записи определенного типа и
- Применить глобальное изменение
Чтобы узнать, что еще можно сделать с BCDEdit.exe , введите bcdedit.exe /? в командной строке. В нем будут перечислены все параметры и операции, которые можно выполнить с помощью редактора BCD с помощью командной строки.
Несколько загрузочных сред
Если вы намереваетесь использовать две или более операционных систем, имейте в виду следующее:
- Установите операционную систему Windows Vista или выше в другом разделе. Как правило, каждая ОС должна иметь свой собственный раздел, иначе общие папки, такие как Windows, Program Files и т. Д., Будут создавать конфликты и могут привести к сбоям в работе вашего компьютера. Тем не менее, если вы намереваетесь использовать более старые операционные системы, сначала установите операционные системы до Windows Vista, чтобы они могли продолжать использовать boot.ini, а затем установите Vista или более поздние операционные системы, чтобы не было конфликта с bootcfg.
- Вам нужно убедиться, что операционные системы старше Vista используют boot.ini, а операционные системы, начиная с Vista или более поздних версий, используют BCD. Это может быть выполнено с помощью командной строки BCD, а также с помощью команды MSCONFIG.
- Никогда не отключайте BCD, даже если вы хотите запустить более старые операционные системы, такие как Windows XP, вместе с Vista или более поздними версиями. BCD помогает найти boot.ini, который, в свою очередь, помогает в загрузке старых операционных систем. Если вы отключите BCD, ваш компьютер может не распознавать старые операционные системы.
Изменить операционную систему по умолчанию с помощью BCD
Самый простой и быстрый способ – использовать версию BCD.exe для командной строки.Используйте следующую команду в командной строке:
Чтобы узнать идентификатор для каждой операционной системы, используйте следующую команду:
Из списка идентификаторов скопируйте тот рядом с ОС, которую вы хотите установить по умолчанию, и вставьте его вместо
Редактор данных конфигурации загрузки перестал работать
Если вы получили эту ошибку, вам нужно будет запустить Восстановление при загрузке. Эти ссылки могут помочь вам:
- Запустите Восстановление при загрузке в Windows 7
- Запустить автоматическое восстановление в Windows 8
- Запустите Восстановление при загрузке в Windows 10. Вы получите настройки в разделе «Дополнительные параметры запуска».
Для подробного ознакомления посетите TechNet.
EasyBCD, Visual BCD Editor и Dual Boot Repair Tool – это три бесплатные программы, которые позволяют легко редактировать и восстанавливать данные конфигурации загрузки Windows.
BCDEDIT: редактирование загрузчика Windows
Начиная с Windows Vista, корпорация Microsoft усложнила процесс редактирования загрузчика Windows. Мы уже касались утилиты bcdedit.exe. Эта статья посвящена ей подробнее.
Для начала разберемся, почему Microsoft решила отказаться от столь простого понятного текстового файла boot.ini. Дело, как это часто водится, в безопасности.
Для усложнения получения доступа к параметрам загрузчика было придумано специальное хранилище данных конфигурации загрузчика (BCD). В Windows Vista и более поздних версиях данные конфигурации загрузчика хранятся в виде специальных программных объектов, которые уже не являются простыми текстовыми элементами. Каждый объект в хранилище имеет уникальный идентификатор (GUID) и хранится в специальном формате. Каждый идентификатор является уникальным для конкретной копии операционной системы. Для удобства редактирования параметров загрузчика некоторым из объектов помимо идентификаторов присвоены псевдонимы, по которым к ним и можно обращаться посредством утилиты bcdedit.exe. Вот список основных псевдонимов:
Указание записи диспетчера загрузки Windows. | |
Указание записи диспетчера загрузки микропрограмм в энергонезависимой ОЗУ, часто используемых в системах с UEFI. | |
Указание записи приложения диагностики памяти. | |
Указание на загрузчик Ntldr, используемых в прошлых версиях ОС (до Windows Vista). | |
Виртуальный идентификатор, обозначающий загрузочную запись запущенной в данной момент операционной системы. | |
Виртуальный идентификатор, обозначающий используемую по умолчанию загрузочную запись. | |
Включает в себя параметры диспетчера загрузки при работе с электронными дисками (т.е. располагающимися в оперативной памяти). | |
Содержит глобальные параметры отладки, которые наследуются любой записью в приложении загрузки. | |
Содержит глобальные параметры служб аварийного управления, которые наследуются любой записью в приложении загрузки. | |
Включает в себя общий список дефектов оперативной памяти, который наследуется любой записью в приложении загрузки. | |
Общие параметры, которые наследуются всеми записями в приложении загрузки. | |
Набор общих параметров, наследуемых всеми записями приложений загрузки Windows. | |
Набор общих параметров, наследуемых всеми возобновлениями работы Windows из спящего режима. | |
Параметры гипервизора, которые могут наследоваться любой записью в приложении загрузки. |
Коснемся команд, доступных в утилите bcdedit.exe. Для получения списка команд запустите командную строку и введите
Для получения более подробной информации по каждой команде используйте
Для просмотра текущих параметров загрузки Windows достаточно вызвать утилиту в командной строке:
если же Вы хотите сохранить параметры загрузки в текстовый файл, то достаточно ввести
Путь для сохранения и имя можно, конечно, указать и другие.
Если же вместо псевдонимов Вы хотите видеть GUID, то команду можно видоизменить:
Можно использовать и другие форматы для экспорта информации. Например rtf, doc (не docx) или csv. Это позволяет не отвлекаться на проблемы с кодировками.
Перед редактированием загрузчика всегда разумно сделать его резервную копию. Делается это командой:
Путь и имя файла здесь тоже можно выбрать любые. Если в пути встречаются пробелы, в команде надо использовать кавычки:
Восстановление загрузчика производится командой
Разберем изменение основных настроек загрузчика Windows при помощи утилиты bcdedit.exe.
Приведенная выше команда устанавливает время вывода списка загрузки равным 15 секундам.
Если помимо современных версий Windows, на компьютере также установлены старые версии ОС, относящиеся к семейству NT (2000, XP, Server 2003 и пр.), установить такую ОС в качестве загружаемой по умолчанию можно командой
Если же в качестве загружаемой по умолчанию нужно использовать текущую ОС, используйте команду
Вообще, ничто не мешает Вам использовать и GUID системы, для того, чтобы указать её в качестве загружаемой по умолчанию. GUID Вы можете посмотреть в текстовом файле, который мы до этого сохраняли на жесткий диск. Команда в таком случае будет выглядеть следующим образом:
В данном случае в конце должен содержаться GUID в виде набора букв и цифр. Помните, что GUID должен быть заключен в фигурные скобки (<>).
Вы можете также отредактировать местоположение операционных систем в списке загрузки. Делается это следующей командой
В таком примере первой в списке будет отображаться устаревшая версия Windows, затем текущая, из-под которой вводилась эта команда. Вместо псевдонимов можно использовать и GUID систем.
Теперь разберем как создавать новые записи в загрузчике Windows при помощи утилиты bcdedit.exe. В общем виде команда создания новой записи выглядит так:
bcdedit.exe /create [< >] /d [/application |/inherit [ ] | /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).
Чтобы увидеть его в проводнике, можно временно присвоить ему букву. Делается это щелчком правой кнопкой мыши и выбором в меню пункта Изменить букву диска или путь к диску.
Далее достаточно нажать Добавить и выбрать подходящую букву.
После копирования файлов создаем новую запись загрузки:
Создаем параметры передачи загрузчику Windows NT:
x в данном случае это имя раздела, где лежит загрузчик Windows NT. Если раздел является скрытым и не имеет буквы, то его нужно указать в том виде, в котором он отображается в текущей конфигурации ОС, например:
Далее требуется указать путь к загрузчику ntldr:
И добавить этот пункт в конец списка загрузки:
Но и это еще не всё. Ведь нам надо убедиться, что загрузчик ntldr находит ОС. Если что-то идет не так, то первым делом убедитесь, что в файле boot.ini прописаны верные пути к ядру Windows NT. Например, если речь идет о первом разделе второго жесткого диска, то путь будет выглядеть так:
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS=»ОС семейства Windows NT» /fastdetect
Помните, что нумерация дисков в загрузчике ntldr начинается с нуля, а разделов с единицы.
Разберем синтаксис команды удаления записи загрузки.
bcdedit.exe [/store ] /delete < >[/f] [/cleanup | /nocleanup]
файл_хранилища — указание на используемое хранилище. Если параметр не задан явно, используется хранилище текущей ОС;
ID — идентификатор записи, которую требуется удалить. В качестве идентификатора может быть использован GUID или псевдоним;
f — параметр удаления указанной записи. Без этого параметра утилита bcdedit.exe не удаляет записи, имеющие известные псевдоним;
cleanup — удаление записи загрузки с удаление также и из списка загрузки. Кроме того, будет удалены и все ссылки на данную запись из хранилища. Параметр используется по умолчанию, если не задан nocleanup;
nocleanup — удаление записи загрузки без удаления из списка загрузки.
Например, загрузчик ОС семейства Windows NT имеет известный нам псевдоним ntldr , а потому запись загрузки не удалится без параметра f . Пример удаления:
Если у записи нет псевдонима, а только GUID, то достаточно указать его в фигурных скобках и не дописывать параметр f .