Команда bcdedit - редагування даних конфігурації завантаження windows

Відео: Як відключити DEP в Windows 7/8

команда BCDEDIT застосовується в операціоннихсістемах Windows Vista і старше для редагування даннихконфігураціі завантаження операційної системи (BCD - Boot Configuration Data).

При завантаженні операційної системи, спочатку зчитується перший сектор сустройства завантаження, який представляє собою головний завантажувальний запис (Master Boot Record - MBR). Стандартно, як MBR виступає перший секторзагрузочного диска. MBR містить список розділів, ознака актівногораздела (розділу, з якого буде виконуватися завантаження ОС), деякі служебниеданние, а також програмний код для зчитування в пам`ять завантажувального сектораактівного розділу (Partition Boot Record - PBR) і передачі йому управленія.Программний код PBR, в разі завантаження операційних систем Windows Vista істарше, повинен забезпечити пошук, зчитування і передачу управленіядіспетчеру завантаження bootmgr, який і буде продовжувати процесзагрузкі системи. Відповідно до конфігурацією завантаження, диспетчер BOOTMGRможет виконати завантаження ядра Windows або, наприклад, Linux, обеспечітьвиход зі сплячого режиму, завантажити діагностичні програми, виполнітьзагрузку ядра зі зміненими параметрами тощо

зазвичай файл bootmgr має атрибути "прихований" і "системний". Код диспетчера завантаження, отримавши управління, виконує пошук і обробку даних конфігурації завантаження (Файл BCD в папці BOOT активного розділу), відповідно до яких виконується подальші етапи завантаження (відображення меню, вибір завантажується ОС або засобів діагностики, завантаження ядра і т.п.). За типом структури, файл boot BCD є кущем реєстру і відображається в редакторі реєстру Windows як розділ

HKEY_LOCAL_MACHINE BCD00000000



Розділ реєстру з даними конфігурації завантаження BCD

Даний розділ реєстру обробляється диспетчером завантаження bootmgr і в редакторі реєстру має дозвіл тільки на читання. Дозвіл на запис можна встановити черезконтекстное меню редактора, що викликається правою кнопкою мишки. Бувають випадки, коли немає можливості виконати BCDEDIT або, коли на додаток до програми bcdedit.exe можна скористатися ще й можливостями редактором реєстру, в тому числі - і експортом-імпортом або додаванням, видаленням або зміною окремих ключів, але це - окрема тема. У будь-якому випадку, при вивченні механізму управління конфігурацією завантаження Windows, переглянь редагування даних розділу реєстру HKEY_LOCAL_MACHINE BCD00000000 полегшує розуміння структури сховища BCD.

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

Дані конфігурації завантаження можна умовно розділити на 3 основних елементи:

- сховище BCD (Store)
- записи в сховище (Entries)
- параметри записів (Entry Options)

Ієрархічно централізованому сховищі вільно можна представити у вигляді сукупності об`єктів (Objects), що складаються з елементів (Elements). Наприклад, об`ектомконфігураціі є група елементів, що забезпечують завантаження окремої ОСілі наприклад, настройки самого диспетчера bootmgr .BCDEDIT дозволяє видаляти, створювати, копіювати і змінювати об`єкти іелементи конфігурації завантаження BCD. Якщо в командному рядку bcdedit не заданий ключ / store - то її дія виконується по відношенню до системного сховища (активної конфігурації, що використовується для даної завантаження).

Сховище даних конфігурації завантаження (BCD) замінює собою простий текстовийфайл Boot.ini, використовувався в операційних системах WindowsNT / 2000 / XP для завантажувача ntldr. Дані конфігурації в більш поздніхверсіях Windows зберігаються у вигляді спеціальних програмних об`єктів, неє текстовими елементами. Кожен об`єкт даних конфігурації BCD маєглобальний унікальний ідентифікатор - GUIDі зберігається в сховищі в певному форматі. Ідентифікатор GUID форміруетсяпрограммним шляхом і однозначно є унікальним, на тому комп`ютері, де онгенеріруется. Алгоритм формування GUID побудований таким чином, що каждийновий генерований ідентифікатор ніколи не збігається з іншим, існуючим вданной системі. Позначається GUID у вигляді наборів шістнадцятирічних цифр, що розділяються дефісами для зручності запису, і ув`язненими в фігурні дужки:

{166769E1-88E8-11CF-A6BB-0080C7B2D6A2}

Деякі з об`єктів сховища крім ідентифікаторів GUID, можуть такжеіметь псевдоніми для зручності використання, наприклад {bootmgr} (відповідає диспетчеру завантаження) і {default} (відповідає іспользуемомупо замовчуванням завантажувачу Windows). Для відключення використання псевдонімів вкомандной рядку bcdedit передбачений ключ / v:

bcdedit / v - відобразити дані поточної системної конфігурації завантаження без використання псевдонімів (тільки з ідентифікаторами GUID)

Перелік псевдонімів (відомих ідентифікаторів):

{Bootmgr} Вказівка ​​записи диспетчера завантаження Windows. {Fwbootmgr} Вказівка ​​записи диспетчера загрузкімікропрограмм, особливо в системах, гдереалізована специфікація EFI. {Memdiag} Вказівка ​​записи додатки діагностики пам`яті. {Ntldr} Вказівка ​​завантажувача ОС (Ntldr), іспользуемогодля запуску операційних систем болееранніх версій , ніж Windows Vista. {current} Вказівка ​​віртуального ідентифікатора, відповідного завантажувального запису операційноїсистеми, запущеної в даний момент. {default} Вказівка ​​віртуального ідентифікатора, відповідного використовуваної по умолчаніюзапі сі диспетчера завантаження. {ramdiskoptions} Містить додаткові параметри, требуемиедіспетчером завантаження для устройствелектронних дисків. {dbgsettings} Містить глобальні параметри налагодження, успадковані будь записом програми завантаження. {emssettings} Містить глобальні параметри служб аварійногоуправленія, успадковані будь запісьюпріложенія завантаження. {badmemory} Містить загальний список дефектів RAM, успадковані будь записом програми завантаження. {globalsettings} Містить набір загальних параметрів, коториедолжни успадковуватися усіма запісяміпріложеній завантаження. {bootloadersetti ngs} Містить набір загальних параметрів, коториедолжни успадковуватися усіма запісяміпріложеній завантаження Windows. {resumeloadersettings} Містить набір загальних параметрів, коториедолжни успадковуватися усіма возобновленіяміWindows із записів додатки сплячого режиму. {hypervisorsettings} Містить параметри гипервизора, які могутнаследоваться будь записом завантаження ОС.


Зазвичай, системні дані конфігурації завантаження Windows 7 зберігаються в активному (завантажувальному) прихованому від користувача розділі жорсткого диска, невеликого розміру і без присвоєної йому букви. При стандартній установці Windows 7, такий розділ розташовується на початку системного диска і відображається в диспетчері логічних дисків як зарезервовано системою (System Reserved). Диспетчер завантаження, сховище конфігурації і деякі службові дані представлені в даному розділі декількома каталогами та файлами невеликого розміру. Основна частина - в каталозі boot. Файл сховища конфігурації - це прихований файл з ім`ям bcd . Крім сховища конфігурації, в даному розділі можуть знаходитися файли локалізації, журнали, файли boot.ini і ntldr для тих попередніх версій Windows, які включені в системну конфігурацію. Якщо привласнити даному розділу вільну букву, то можна отримати доступ до його вмісту з використанням стандартних засобів системи. Однак, з метою забезпечення безпеки і цілісності системи, робити це не рекомендується - ручне втручання в сховище даних конфігурації не передбачено, і може привести до неможливості виконання завантаження.

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

Вбудована довідкова система bcdedit.exe містить досить докладну інформацію щодо використання команди і приклади її застосування. Формат командного рядка для запиту пордсказкі:

bcdedit.exe /? lt; командаgt;

bcdedit /? - для отримання загальної довідки з використання BCDEDIT

bcdedit /? Topics - для отримання список тем підказки по використанню bcdedit

bcdedit /? / createstore - для отримання довідки по розділу createstore (Про створення нового пустого сховища даних конфігурації)

bcdedit export /? - як і в попередньому випадку, але з використанням іншого синтаксису - відобразити довідкову інформацію щодо використання режиму export (Збереження поточної конфігурації завантаження).

Перелік розділів довідки, що отримується по команді bcdedit /? Topics в середовищі Windows 7:

bootdebug Команда /bootdebug.bootems Команда /bootems.bootsequenceКоманда /bootsequence.copyКоманда /copy.create Команда /create.createstore Команда /createstore.dbgsettings Команда /dbgsettings.debug Команда /debug.default Команда /default.delete Команда /delete.deletevalue Команда /deletevalue.displayorderКоманда /displayorder.ems Команда /ems.emssettings Команда /emssettings.enumКоманда /enum.export Команда /export.FORMATS Формати тіпов.hypervisorsettings Команда /hypervisorsettings.ID Ідентифікатори запісей.import Команда /import.mirror Команда /mirror.set команда /set.store Параметр командного рядка /store.timeout команда /timeout.toolsdisplayorder команда /toolsdisplayorder.TYPES Типи, що застосовуються до будь-якої запісі.TYPES BOOTAPP Типи, примі яемие до додатків загрузкі.К цих програм відносяться: диспетчер завантаження, додаток діагностікіпамяті, завантажувач ОС Windows і додаток возобновленія.TYPES BOOTMGR Типи, що застосовуються до диспетчеру загрузкі.TYPES BOOTSECTORТіпи, що застосовуються до додатка завантажувального сектора.TYPES CUSTOMTYPES Додаткові тіпи.TYPES FWBOOTMGR Типи, застосовувані до диспетчера завантаження мікропрограммTYPES MEMDIAG Типи, що застосовуються до додатка діагностики памятіTYPES NTLDR Типи, що застосовуються до завантажувача ОС на базі NTLDRTYPES OSLOADER Типи, що застосовуються до завантажувача ОС Windows Vista і старшеTYPES RESUMEТіпи, применя ються до додатка відновлення (вихід з глибокого сну) v Параметр / v - для включення докладного режиму


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

bcdedit bootdebug /? - викликати довідку по підрозділу bootdebug (Використання команди bootdebug).

bcdedit TYPES /? - відобразити довідку за форматами даних (Параметр datatype потрібно в деяких підкоманду bcdedit).

bcdedit TYPES /? | more - то ж, що і в попередньому випадку, але з використанням посторінкового виведення на екран.

bcdedit TYPES /? gt; C: bcdtypes.txt - то ж, що і в попередньому випадку, але з висновком в текстовий файл.

Типи даних сховища конфігурації:




DESCRIPTION (рядок) Задає опис елемента.PATH (рядок) Задає шлях до пріложенію.DEVICE (пристрій) Задає пристрій, де розташовується пріложеніе.INHERIT (список) Задає список успадкованих елементів.
Якщо формат даних не заданий, то опис є набором сімвольнихзначеній, які можна використовувати для даного типу. Для полученіяінформаціі про форматах даних використовується команда:

bcdedit /? Formats або bcdedit formats /?

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

bcdedit /? TYPES DEVOBJECT

Для отримання інформації про додаткові типах для конкретних додатків, введіть команду

bcdedit /? TYPES lt; apptype gt; де lt; apptype gt; може прініматьследующіе значення:
BOOTAPP Додатки завантаження. Ці типи також застосовні для діспетчеразагрузкі, додатки діагностики пам`яті, завантажувача ОС Windowsі для додатка возобновленія.BOOTMGR Диспетчер загрузкі.BOOTSECTOR Додаток завантажувального сектора.CUSTOMTYPES Особливі тіпи.DEVOBJECT Додаткові параметри об`єкта-устройства.FWBOOTMGR мікропрограмні диспетчер загрузкіMEMDIAG Додаток діагностики памятіNTLDR Завантаження операційної системи для більш ранніх версій WindowsOSLOADERЗагрузчік ОС для Windows VistaRESUME Додаток відновлення


bcdedit /? / Types osloader - відобразити довідкову інформацію про типах даних, використовуваних для конфігурації завантажувача ОС Windows. В результаті виполненіякоманди, наприклад, в середовищі Windows 7 буде відображена подібна довідка:




Завантаження операційної системи WINDOWSСледующіе типи застосовуються тільки в записах завантажувача ОС Windows. Чтобиполучіть додаткові відомості про формати даних для цих типів, введітекоманду "bcdedit /? FORMATS".Завантаження==== BOOTLOG (логічне значення) Включає журнал ініціалізації сістеми.BOOTSTATUSPOLICY Значення: DisplayAllFailures, IgnoreAllFailures, IgnoreShutdownFailures або IgnoreBootFailures.LASTKNOWNGOOD (логічне значення) Включає завантаження останньої вдалої конфігураціі.NOCRASHAUTOREBOOT (логічне значення) Забороняє автоматичний перезапуск після сбоя.RESUMEOBJECT (ідентифікатор ) Вказує ідентифікатор об`єкта відновлення, який пов`язаний з даним об`єктом операційної сістеми.SAFEBOOT значення: Minimal, Network або DsRepairSAFEBOOTALTERNATESHELL (логічне значення) Задає використання іншої оболонки при завантаженні вбезопасн ом режіме.STAMPDISKS (логічне значення) Включає маркування RAW-дисків під час завантаження средипредустановкі Windows.SOS (логічне значення) Показує додаткові відомості про загрузке.WINPE (логічне значення) Дозволяє комп`ютера завантажувати средупредустановкі Windows.відображення======= BOOTUXОпределяет графічне зображення при загрузке.Прінімает значення Disabled, Basic або Standard.параметри======= ADVANCEDOPTIONS (логічне значення) Дозволяє додаткові параметри.LOADOPTIONS (рядок) Задає будь-які додаткові параметри, які невходження в інші тіпи.OPTIONSEDIT (логічне значення) Включає редактор параметрів.Процесори і контролери APIC==================== CLUSTERMODEADDRESSING (ціле число) Задає максимальне число процесорів в одномкластере розширеного програмованого контроллерапрериваній (APIC) .CONFIGFLAGS (ціле число) Задає прапори конфігурації, специфічні дляпроцессора. MAXPROC (логічне значення) Повідомляє максимальне число процессоровв сістеме.NUMPROC (ціле число) Задає число використовуваних процессоров.ONECPU (логічне значення) Задає використання тільки процессоразагрузкі.RESTRICTAPICCLUSTER (ціле число) Задає максимальне число кластерів APICдля використання сістемой.USEPHYSICALDESTINATION (логічні ське значення) Задає використання фізичного APIC.USELEGACYAPICMODE (логічне значення) Задає використання старого режиму APIC, навіть есліпроцессори і набір мікросхем поддержіваютрасшіренний режим APIC.MAXGROUP (логічне значення) Максимально збільшує число груп, створених вконфігураціі.GROUPAWARE (логічне значення) Повідомляє драйвери про множинних групах вмногогрупповой среде.GROUPSIZE (ціле число) Задає розмір всіх груп процессоров.Должно бути цілим числом ступеня 2.Рівень апаратних абстракцій (HAL) і ядро ​​(KERNEL)========================================= HAL (рядок) Задає ім`я файлу для приватного HAL.HALBREAKPOINT (логічне значення) Включає спеціальну точку остановкіуровня апаратних абстракцій (HAL) .KERNEL (рядок) Задає ім`я файлу для приватного ядра.USEPLATFORMCLOCK (логічне значення) Задає використання джерела тактових імпульсовдля лічильника продуктивності системи.VESA, PCI, VGA і TPM======================= USEFIRMWAREPCISETTINGS (логічне значення) Задає використання периферійних пристроїв (PCI), налаштованих в BIOS.MSI Значення: Default або ForceDisable.VGA (логічне значення) Задає використання VGA драйвера екрана.TPMBOOTENTROPY значення Default, ForceDisable або ForceEnable.Налагодження і продуктивність======================================== DBGTRANSPORT (рядок) Задає ім`я файлу для транспорту приватного отладчіка.DEBUG (логічне значення) Дозволяє налагодження ядра.PERFMEM (ціле число) Задає розмір (в мегабайтах) буфера, виделяемогодля реєстрації даних продуктивності.пам`ять====== INCREASEUSERVA (ціле число) Збільшує розмір віртуального адресногопространства, яке можуть іспользоватьпроцесси в призначеному для користувача режіме.NOLOWMEM (логічне значення) Забороняє використання нижньої області памяті.NX Значення: OptIn, OptOut, AlwaysOn або AlwaysOff.PAE Значення: Default, ForceEnable, ForceDisable.REMOVEMEMORY (ціле число) Видаляє область пам`яті із загальної доступнойобласті пам`яті, яку може іспользоватьопераціонная система.Драйвери і кореневої системний каталог======================= DRIVERLOADFAILUREPOLICY Значення: Fatal або UseErrorControl.EMS (логічне значення) Включає служби аварійного управління ядра.OSDEVICE (пристрій) Задає пристрій, який містить сістемнийкорневой каталог.SYSTEMROOT (рядок) Задає шлях до системного кореневого каталогу.гипервизор========== HYPERVISORLAUNCHTYPEУправляет типом запуску гіпервізора.Значенія: Off або Auto.HYPERVISORPATH (рядок) Задає шлях до закритого бінарного файлу гіпервізора.HYPERVISORDEBUG (логічне значення) Включає налагодження гіпервізора.HYPERVISORDEBUGTYPE Значення: SERIAL або 1394.HYPERVISORDEBUGPORT (ціле число) Задає номер послідовного порту дляпоследовательного отладчіка.HYPERVISORBAUDRATE (ціле число) Задає швидкість передачі для последовательногоотладчіка.HYPERVISORCHANNEL (ціле число) Задає канал для відладчика 1394.Для отримання відомостей про додаткові типах, які застосовуються сзагрузчіком ОС Windows, введіть команду "bcdedit /? TYPES BOOTAPP".
Як бачимо, для визначення конфігурації програми завантаження системи (OSLOADER) використовується кілька десятків типів даних, які можна розділити на групи -Завантаження, відображення, пам`ять і т.д. У стандартній конфігурації, більшість з додаткових параметрів програми OSLOADER не потрібні, і приймають значення, необхідні для звичайної завантаження Windows. У деяких випадках, може знадобитися зміна параметрів розподілу пам`яті, адресного простору, рівня деталізації журналу і т.п. Так, наприклад, для 32-бітових операційних систем сімейства Windows, по умолчаніюкаждому користувача процесу відводиться віртуальний адресний простір розміром 2 Гб, незалежно від обсягу реальної памяті.В більшості випадків, цього цілком достатньо для роботи додатків, але при необхідності, його можна збільшити, вказавши параметр INCREASEUSERVA (ціле число) :

bcdedit / set increaseuserva 3072 - встановити розмір віртуального адресного простору для додатків рівним 3 Гб.

bcdedit / set increaseuserva 2048 - встановити розмір віртуального адресного простору для додатків рівним 2 Гб.

bcdedit / deletevalue increaseuserva - видалити параметр INCREASEUSERVA з конфігурації завантаження. Дія даної команди, аналогічно попередньої, оскільки відсутність елемента INCREASEUSERVA передбачає, що буде задано адресний простір розміром 2 Гб. Природно, це вірно тількидля 32-розрядних ОС, оскільки для 64-розрядних, розмір адресного простору за замовчуванням - 4 Гб.



Відобразити поточну конфігурацію для додатка завантаження Windows можна за допомогою команди:

bcdedit / enum osloader

Після виконання команди bcdedit / set increaseuserva 3072 конфігурація буде виглядати наступним чином:

Завантаження Windows ------------------- ідентифікатор {current} device partition = C: path windows system32 winload.exedescription Windows 7locale en-usinherit {bootloadersettings} osdevicepartition = C : systemroot windowsresumeobject {52d20656-3939-11e2-aab2-005056c00008} nx OptInincreaseuserva 3072detecthal Yes
Відсутність в конфігурації завантаження increaseuserva означає, що цей параметр не заданий, він використовується його значення за замовчуванням (2Гб для 32-розрядних і 4 Гб для 64-розрядних ОС).

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

Перевірити встановлене значення increaseuserva можна з використанням команди find в ланцюжку з командою bcdedit

bcdedit | find "increaseuserva"

В результаті виконання команди отримаємо:

increaseuserva 3072


Якщо в результаті виконання команди на екран нічого не видається, то це означає, що параметр increaseuserva не заданий, і використовується його прінятоепо замовчуванням значення - 2Гб для 32-розрядної Windows, або 4 Гб для 64-разрядной.Естественно, видалення або зміна значення increaseuservaвступить в силу тільки після перезавантаження Windows.

Поділися в соціальних мережах:

Схожі
Торрент-клієнт transmission став доступний для завантаження користувачам windowsТоррент-клієнт transmission став доступний для завантаження користувачам windows
Команда bootsectКоманда bootsect
Процес завантаження linuxПроцес завантаження linux
Команда bootcfgКоманда bootcfg
Прихований розділ system reserved в windows 7Прихований розділ system reserved в windows 7
Gpt або mbr?Gpt або mbr?
Створення завантажувальних дисківСтворення завантажувальних дисків
Установка windows xp на комп`ютер з windows vistaУстановка windows xp на комп`ютер з windows vista
Msconfig і windowsMsconfig і windows
Установка windows xp на комп`ютер, де вже встановлена ​​windows 7Установка windows xp на комп`ютер, де вже встановлена ​​windows 7
» » Команда bcdedit - редагування даних конфігурації завантаження windows