Windows korzysta z magazynu danych o nazwie Boot Code (BCD) do zarządzania aplikacjami i ustawieniami uruchamianymi podczas rozruchu. BCD zastępuje plik Boot.ini ze starszych wersji systemu Windows i oferuje więcej opcji dostosowywania i rozwiązywania problemów. BCDEdit to narzędzie wiersza poleceń, które umożliwia dostęp i modyfikację BCD. Jest ono dołączone do Windows Vista i nowszych wersji. BCDEdit służy do tworzenia, usuwania, modyfikowania lub kopiowania wpisów BCD, a także do włączania lub wyłączania niektórych opcji uruchamiania, takich jak tryb awaryjny czy rejestrowanie rozruchu.
W tym artykule pokażemy, jak używać bcdedit do modyfikacji uruchamiania Windows. Omówimy podstawowe polecenia, identyfikatory wpisów BCD, typy danych i możliwe wartości. Podamy również kilka przykładów typowych zastosowań bcdedit do rozwiązywania problemów lub optymalizacji uruchamiania Windows.
Jak uzyskać dostęp do bcdedit?
Aby korzystać z bcdedit, musisz mieć uprawnienia administratora na swoim komputerze. Musisz również otworzyć wiersz poleceń jako administrator.
- Kliknij menu Start i wpisz cmd w polu wyszukiwania.
Kliknij prawym przyciskiem myszy Wiersz polecenia i wybierz Uruchom jako administrator. 
Wpisz bcdedit /?, aby wyświetlić listę dostępnych poleceń
- Aby uzyskać szczegółową pomoc dotyczącą konkretnego polecenia, wpisz bcdedit /?<commande> , Lub<commande> to nazwa polecenia, które chcesz wyświetlić. Na przykład polecenie bcdedit /?createstore wyświetla szczegółową pomoc dotyczącą polecenia createstore.
Jak wyświetlić wpisy w BCD?

Aby wyświetlić wpisy BCD, możesz użyć polecenia `bcdedit /enum`. To polecenie wyświetla następujące informacje dla każdego wpisu:
- Identyfikator: To unikalny kod identyfikujący wpis. Może mieć postać {XXXX-XXXX-XXXX-XXXX}, gdzie XXXX to cyfry szesnastkowe, lub postać {nazwa}, gdzie nazwa to standardowa nazwa zdefiniowana przez Windows. Najpopularniejsze standardowe identyfikatory to:
- {bootmgr}Windows Odpowiednik Menedżera rozruchu Windows , który wyświetla menu rozruchowe i ładuje wybrany system operacyjny.
- {current}: Odpowiada systemowi operacyjnemu wybranemu podczas uruchamiania Windows.
- {domyślne}: Odpowiada systemowi operacyjnemu wybieranemu domyślnie podczas uruchamiania Windows.
- {ntldr}: odpowiada systemowi operacyjnemu w ntldr (Windows Legacy OS Loader), na przykład Windows XP.
- Typ urządzenia: wskazuje, czy wpis odpowiada urządzeniu fizycznemu (partycji) czy urządzeniu logicznemu (plikowi).
- Ścieżka: wskazuje ścieżkę do pliku wykonywalnego lub sektora rozruchowego skojarzonego z wpisem.
- Opcje: Są to dodatkowe parametry, które modyfikują zachowanie wpisu. Na przykład „description” pozwala zmienić nazwę wyświetlaną w menu startowym, „timeout” pozwala zmienić czas oczekiwania przed automatycznym uruchomieniem itd.
Można również użyć polecenia bcdedit /v, aby wyświetlić bardziej szczegółowe informacje o wpisach BCD, takie jak data utworzenia, data modyfikacji lub GUID.
Jak utworzyć nowy wpis w BCD?

Aby utworzyć nowy wpis w BCD, można użyć polecenia `bcdedit /create`. Polecenie to tworzy wpis z losowo wygenerowanym identyfikatorem i określonym typem aplikacji. Typ aplikacji może być jednym z następujących:
- {bootmgr}: aby utworzyć wpis menedżera rozruchu.
- {memdiag}: aby utworzyć wpis typu narzędzia diagnostyki pamięci.
- {ntldr}: aby utworzyć wpis programu ładującego system operacyjny w ntldr.
- {legacy}: aby utworzyć wpis modułu ładującego system operacyjny w trybie legacy.
- {resume}: tworzenie wpisu CV po hibernacji.
- {emssettings}: umożliwia utworzenie wpisu typu ustawienia służb ratunkowych.
- {badmemory}: tworzenie wpisu typu lista wadliwych adresów pamięci.
- {dbgsettings}: aby utworzyć wpis typu debug settings.
Na przykład, aby utworzyć wpis programu ładującego system operacyjny w ntldr, możesz wpisać następujące polecenie:
bcdedit /create /d aplikacja „Windows XP” /ntldr
To polecenie wyświetla wygenerowany identyfikator nowego wpisu, na przykład {cbd971bf-b7b8-4885-951a-fa03044f5d71}. Następnie możesz użyć tego identyfikatora do modyfikacji innych parametrów wpisu, takich jak ścieżka lub opcje.
Jak zmodyfikować istniejący wpis w BCD?

Aby zmodyfikować istniejący wpis w BCD, można użyć polecenia `bcdedit /set`. To polecenie umożliwia zmianę wartości typu danych dla wpisu określonego przez jego identyfikator. Typ danych może być jednym z następujących:
- urządzenie: zmiana typu urządzenia skojarzonego z wejściem.
- ścieżka: aby zmienić ścieżkę do pliku wykonywalnego lub sektora rozruchowego skojarzonego z wpisem.
- Opis: Zmiana nazwy wyświetlanej w menu startowym dla wpisu.
- ustawienia regionalne: zmiana języka używanego do wprowadzania danych.
- dziedzicz: powoduje, że dane wejściowe odziedziczą parametry innego danych wejściowych.
- recoverysequence: określenie identyfikatora wpisu, który ma zostać użyty w przypadku niepowodzenia rozruchu.
- recoveryenabled: włączanie lub wyłączanie automatycznego odzyskiwania w przypadku awarii rozruchu.
- osdevice: zmiana typu urządzenia zawierającego pliki systemowe systemu operacyjnego skojarzone z wpisem.
- systemroot: aby zmienić ścieżkę do głównego folderu systemu operacyjnego powiązanego z wpisem.
- resumeobject: określa identyfikator wpisu typu resume po hibernacji.
- nx: włączanie lub wyłączanie ochrony przed wykonywaniem danych (DEP) dla danych wejściowych.
- pae: włączanie lub wyłączanie rozszerzenia adresu fizycznego (PAE) dla danych wejściowych.
- detecthal: włączanie lub wyłączanie automatycznego wykrywania sprzętu (HAL) na potrzeby wejścia.
- winpe: wskazuje, czy wpis dotyczy środowiska Windows PE (przed instalacją).
- ems: włączanie i wyłączanie pogotowia ratunkowego (EMS) na wejściu.
- debugowanie: włączanie lub wyłączanie trybu debugowania dla danych wejściowych.
- debugtype: określa typ debugowania, który ma być użyty dla wejścia (szeregowy, 1394 lub USB).
- debugport: określa port szeregowy, który ma być używany do debugowania portu szeregowego.
- szybkość transmisji: określa szybkość transmisji, która ma być używana do debugowania portu szeregowego.
- 1394channel: określa kanał, który ma być używany do debugowania przez port IEEE 1394.
- usbbusparams: określa parametry magistrali USB, które mają zostać użyte do debugowania portu USB.
- SOS: umożliwia włączenie lub wyłączenie wyświetlania informacji o sterowniku podczas uruchamiania.
- bootlog: umożliwia włączenie lub wyłączenie rejestrowania rozruchu w pliku %WINDIR%\ntbtlog.txt.
- nocrashautoreboot: wyłącza automatyczne ponowne uruchamianie w przypadku wystąpienia niebieskiego ekranu.
- usefirmwarepcisettings: aby użyć ustawień PCI z oprogramowania sprzętowego zamiast ustawień systemu Windows.
- groupsize: określa rozmiar grupy procesorów na potrzeby równoległego rozruchu.
- groupaware: włączanie lub wyłączanie uwzględniania grupy procesorów podczas rozruchu równoległego.
- numproc: określa liczbę procesorów używanych do uruchomienia.
- truncatememory: określa maksymalną ilość pamięci, jaka ma zostać użyta podczas rozruchu.
- removememory: określ ilość pamięci, która ma zostać usunięta przed uruchomieniem.
- Increaseuserva: zwiększenie ilości pamięci wirtualnej dostępnej dla aplikacji w trybie użytkownika.
- testsigning: włączanie lub wyłączanie ładowania cyfrowo niepodpisanych sterowników.
- nointegritychecks: włączanie lub wyłączanie sprawdzania integralności cyfrowo podpisanych sterowników.
- loadoptions: określa opcje ładowania, które mają zostać przekazane do modułu ładującego system operacyjny.
- hypervisorlaunchtype: włączanie lub wyłączanie uruchamiania hypervisora podczas uruchamiania.
- hypervisordebugtype: określa typ debugowania, który ma być używany dla hypervisora (szeregowy, 1394 lub USB).
- hypervisordebugport: określa port szeregowy używany do debugowania hiperwizora przez port szeregowy.
- hypervisorbaudrate: określa szybkość transmisji, która ma być używana do debugowania hypervisora przez port szeregowy.
- hypervisorchannel: określa kanał, który ma być używany do debugowania hypervisora przez port IEEE 1394.
- hypervisorusbbusparams: określa parametry magistrali USB, które mają być używane do debugowania hypervisora przez port USB.
- bootsstatuspolicy: określa zasady, które mają zostać zastosowane w przypadku niepowodzenia poprzedniego rozruchu (ignoreallfailures, ignoreshutdownfailures, displayallfailures lub rebootonfailure).
- bootems: umożliwia włączenie lub wyłączenie przekierowania awaryjnego (EMS) podczas uruchamiania.
Aby zmodyfikować wpis za pomocą polecenia bcdedit /set, należy określić identyfikator wpisu, typ danych do modyfikacji oraz wartość do przypisania. Na przykład, aby zmienić nazwę wyświetlaną w menu startowym dla wpisu {bieżący}, można wpisać następujące polecenie:
bcdedit /set {bieżący} opis „Windows 10”
Możesz również użyć standardowych identyfikatorów {bootmgr}, {default} lub {ntldr} zamiast losowo generowanych identyfikatorów, jeśli znasz typ wpisu, który chcesz zmodyfikować. Na przykład, aby zmienić czas oczekiwania przed automatycznym uruchomieniem menedżera rozruchu, możesz wpisać następujące polecenie:
bcdedit /set {bootmgr} limit czasu 10
Jak usunąć wpis z BCD?

Aby usunąć wpis z BCD, możesz użyć polecenia `bcdedit /delete`. To polecenie usuwa wpis określony przez jego identyfikator, a także wszystkie wpisy zależne. Na przykład, aby usunąć utworzony wcześniej wpis `{cbd971bf-b7b8-4885-951a-fa03044f5d71}`, możesz wpisać następujące polecenie:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
Możesz również użyć opcji /cleanup, aby usunąć wszystkie osieroconych wpisów z BCD, czyli wpisów, do których nie odwołuje się menedżer rozruchu ani wpis systemu operacyjnego. Na przykład, aby usunąć wszystkie osieroconych wpisów z BCD, możesz wpisać następujące polecenie:
bcdedit /delete /cleanup
Jak skopiować wpis z BCD?

Aby skopiować wpis BCD, możesz użyć polecenia `bcdedit /copy`. To polecenie tworzy nowy wpis z tymi samymi parametrami, co identyfikator wskazanego wpisu, ale z nowym, losowo wygenerowanym identyfikatorem. Możesz następnie modyfikować parametry nowego wpisu w razie potrzeby. Na przykład, aby skopiować wpis `{current}` i nadać mu nową nazwę, możesz wpisać następujące polecenia:
bcdedit /copy {bieżący} /d „Windows 10 – Kopiuj” bcdedit /set {ID} opis „Windows 10 – Kopiuj”
Gdzie {ID} to wygenerowany identyfikator nowego wpisu.
Jak przywrócić BCD do stanu pierwotnego?
Jeśli zmodyfikowałeś plik BCD i występują problemy z rozruchem, możesz przywrócić go do pierwotnego stanu za pomocą polecenia `bcdedit /import`. To polecenie przywraca zawartość pamięci podręcznej systemu z pliku kopii zapasowej utworzonego wcześniej poleceniem `bcdedit /export`. Usuwa ono wszystkie istniejące wpisy z pamięci podręcznej systemu przed zaimportowaniem.
Na przykład, jeśli utworzyłeś plik kopii zapasowej BCD o nazwie backup.bcd w folderze C:\, możesz przywrócić BCD z tego pliku, wpisując następujące polecenie:
bcdedit /import C:\backup.bcd

.
Często zadawane pytania
Jaka jest różnica między bcdedit i bootrec?
BCDEdit to narzędzie umożliwiające modyfikację zawartości BCD, natomiast bootrec to narzędzie umożliwiające naprawę błędów rozruchu Windows w przypadku uszkodzenia BCD lub sektora rozruchowego. Bootrec używa wewnętrznie bcdedit do odbudowy BCD.
Jak uzyskać dostęp do bcdedit, jeśli Windows nie uruchamia się?
Jeśli Windows nie uruchomi się, dostęp do programu bcdedit można uzyskać za pomocą nośnika instalacyjnego Windows (DVD lub dysku USB) lub dysku naprawy systemu. Następnie należy wybrać opcję „Napraw komputer” i otworzyć wiersz poleceń.
Jak utworzyć system z podwójnym rozruchem za pomocą bcdedit?
Aby utworzyć system z podwójnym rozruchem za pomocą bcdedit, potrzebne są dwie partycje, z których każda zawiera system operacyjny zgodny z BCD (Windows Vista lub nowszy). Następnie należy utworzyć wpis BCD dla każdego systemu operacyjnego, określając typ urządzenia, ścieżkę i odpowiednie opcje. Można również zmodyfikować wpis {bootmgr}, aby zmienić domyślny system operacyjny lub limit czasu przed automatycznym rozruchem.
Jak usunąć podwójny rozruch za pomocą bcdedit?
Aby usunąć system z podwójnym rozruchem za pomocą bcdedit, należy usunąć z BCD wpis odpowiadający systemowi operacyjnemu, którego już nie chcesz używać, wraz ze wszystkimi wpisami zależnymi. Należy również zmodyfikować wpis {bootmgr}, aby w razie potrzeby zmienić domyślny system operacyjny. Następnie można sformatować lub usunąć partycję zawierającą usunięty system operacyjny.
Jak aktywować tryb awaryjny za pomocą bcdedit?
Tryb awaryjny to opcja startowa, która umożliwia Windows z ograniczonym zestawem sterowników i usług. Jest ona przydatna do diagnozowania i rozwiązywania problemów z uruchamianiem lub stabilnością. Aby włączyć tryb awaryjny za pomocą bcdedit, należy zmodyfikować wpis odpowiadający systemowi operacyjnemu, który ma zostać uruchomiony w trybie awaryjnym, dodając opcję safeboot z wartością minimal, network lub dsrepair, w zależności od typu trybu awaryjnego, którego chcesz użyć. Na przykład, aby włączyć minimalny tryb awaryjny dla wpisu {current}, możesz wpisać następujące polecenie:
bcdedit /set {bieżący} safeboot minimalny
Aby wyłączyć tryb awaryjny, należy usunąć opcję bezpiecznego rozruchu z wpisu. Na przykład, aby wyłączyć tryb awaryjny dla wpisu {current}, można wpisać następujące polecenie:
bcdedit /deletevalue {bieżący} bezpieczny rozruch
Wniosek
BCDEdit to potężne i elastyczne narzędzie do modyfikacji Windows . Umożliwia ono tworzenie, usuwanie, modyfikowanie lub kopiowanie wpisów BCD, a także włączanie lub wyłączanie niektórych opcji startowych. Jest przydatne do rozwiązywania problemów z uruchamianiem, optymalizacji wydajności systemu lub tworzenia niestandardowych konfiguracji. Jednak BCDEdit to również złożone i potencjalnie niebezpieczne narzędzie. Należy zachować ostrożność podczas korzystania z niego i w pełni zrozumieć konsekwencje wszelkich zmian wprowadzonych w pliku BCD. Zaleca się wykonanie kopii zapasowej pliku BCD przed jego modyfikacją oraz zapoznanie się z oficjalną dokumentacją firmy Microsoft, aby uzyskać więcej informacji na temat poleceń, identyfikatorów, typów danych i możliwych wartości. Jeśli po modyfikacji pliku BCD wystąpią problemy z uruchomieniem komputera, można spróbować zresetować system BIOS za pomocą funkcji Clear CMOS .



