Co to jest BCD? Boot Configuration Data jest magazynem, w którym system Windows Vista (a także późniejsze) przechowują pliki oraz ustawienia aplikacji dotyczące rozruchu. BCDEdit.exe jest edytorem z linii poleceń systemu, dzięki któremu możemy zarządzać magazynem danych konfiguracji rozruchu. Aplikacja ta ma funkcjonalność zbliżoną do Bootcfg.exe znanego ze starszych edycji Windows, z tymże jednak, iż oferuje o wiele więcej opcji. Dlaczego więc Microsoft wprowadził takie rozwiązanie do okienek, a nie poddał zmianom narzędzi dotychczas stosowanych w systemach operacyjnych? Odpowiedź wiąże się z wprowadzeniem EFI (Extensible Firmware Interface), systemem opracowywanym przez firmę Intel, który ma zastąpić znany wszystkim BIOS. W BCDedit zostały prowadzone rozwiązania, które oferują ulepszone mechanizmy związane z obsługą rozruchu. BCD odnajdziemy w: W folderze Boot, który umieszczony jest na partycji aktywnej, jeśli komputer wyposażony jest w BIOS. Na specjalnej partycji EFI, gdy komputer wyposażony jest w to rozwiązanie. Jak możemy edytować magazyn BCD? Zakładka Uruchamianie i odzyskiwanie we Właściwościach systemu. Zmienimy tutaj czas, w jakim możemy uruchamiać systemy operacyjne, jeśli mamy ich kilka na dysku twardym, a także zdecydujemy o pierwszeństwie ładowania. Skonfigurujemy także opcje związane z zachowaniem się systemu w wypadku wystąpienia awarii. MSConfig.exe, czyli narzędzie Konfiguracja systemu jest rozbudowaną aplikacją umożliwiającą zmianę wielu zaawansowanych opcji związanych z uruchamianiem.
BCDEdit służy do modyfikacji BCD z poziomu Wiersza polecenia. W tym artykule szerzej omówimy tylko to narzędzie. Co możemy zrobić przy pomocy BCDEdit? Poniżej znajduje się lista czynności, jakie możemy wykonywać używając BCDEdit. Pamiętajmy jednakże, iż wszystkie te operacje możemy przeprowadzać tylko posiadając prawa administratora. Wiersz polecenia uruchomimy na podwyższonych przywilejach przechodząc do menu Start/Wszystkie programy/akcesoria, a następnie klikamy prawym przyciskiem myszy skrót aplikacji i z menu kontekstowego wybieramy polecenie Uruchom jako administrator. Zatwierdzamy naciskając kontrolkę Kontynuuj. Modyfikować, dodawać oraz usuwać wpisy z BCD Importować oraz eksportować wpisy BCD Zarządzać menedżerem rozruchu Tworzyć nowe magazyny BCD dla innych instalacji Kontrolować usługi zarządzania awaryjnego (EMS) dla aplikacji i systemu Zmieniać opcje wpisów Przeglądać listy wszystkich aktywnych wpisów Stosować zmiany globalne we wszystkich magazynach BCD Konfigurować debugowanie w systemie
Modyfikacja wpisów w magazynie Dodawanie wpisu W celu dodania wpisu wykorzystujemy polecenie /create. <ID> określa identyfikator dla nowego wpisu. <opis> określa opis dla nowego wpisu. /application <typ> określa nowy wpis, jako aplikację. Stosujemy tylko wtedy, gdy nieznany jest identyfikator. Typ może mieć następujące postacie: BOOTSECTOR OSLOADER RESUME STARTUP /inherit <typ> określa nowy wpis, jako dziedziczony. Stosujemy tylko wtedy, gdy nieznany jest identyfikator. Typ może mieć następujące postacie: BOOTMGR BOOTSECTOR FWBOOTMGR MEMDIAG NTLDR OSLOADER RESUME /device określa nowy wpis, jako dodatkowy dotyczący urządzenia Usuwanie wpisu W celu skasowania wpisu wykorzystujemy polecenie /delete. <nazwa> określa magazyn do usunięcia. <ID> określa identyfikator wpisu do usunięcia. /f służy do usuwania wpisów. /cleanup służy do usuwania wpisów oraz także do kasowania z kolejności wyświetlania. /nocleanup usuwa wpis z magazynu, lecz nie kasuje go z kolejności wyświetlania. Przykład: bcdedit /delete {ntldr} /f - usuniemy w ten sposób menedżera rozruchu starszych wersji Windows. Kopiowanie wpisu W celu skopiowania wpisu wydajemy polecenie /copy. <nazwa> określa wykorzystywany magazyn. <ID> określa identyfikator wpisu do skopiowania. <opis> określa opis, który odnosić się będzie do nowego wpisu. Przykład: bcdedit /copy {ntldr} /d "Nowy wpis" - skopiujemy w ten sposób menedżera rozruchu starszych wersji Windows.
Import oraz eksport wpisów Importowanie wpisu Wpisy możemy importować z kopii zapasowej pod warunkiem, że ją wcześniej utworzyliśmy poleceniem eksportowania. Do wykonania tej operacji służy komenda /import. <nazwa> określa nazwę pliku kopii zapasowej BCD. Przykład: bcdedit /import "C:\DATA\kopia zapasowa BCD" - plik znajduje się na partycji c: w folderze DATAi posiada nazwę kopia zapasowa BCD. Eksportowanie wpisu Wpisy magazynu możemy zapisywać do pliku komendą /export. <nazwa> określa nazwę pliku, w którym zapisana zostanie kopia zapasowa magazynu systemu. Przykład: bcdedit /import "C:\DATA\kopia zapasowa BCD" - plik chcemy zapisać na partycji c: w folderze DATA i nazwać go kopia zapasowa BCD. Zarządzanie menedżerem rozruchu Zmiana sekwencji rozruchu Jednorazową sekwencję rozruchu zmienimy poleceniem /bootsequence. <ID> określa spis identyfikatorów tworzących sekwencję rozruchu. Rozdzielamy kolejne identyfikatory spacjami. /addfirst służy do określenia identyfikatora jako pierwszego w sekwencji. /addlast służy do określenia identyfikatora jako ostatniego w sekwencji. /remove usuwa identyfikator z sekwencji rozruchu. Przykład: bcdedit /bootsequence {ntldr} /addfirst - ustala sekwencję dla modułu uruchamiania starszych edycji Windows jako pierwszego. Zmiana wyświetlania w sekwencji rozruchu Zmienimy domyślny wpis wyświetlający kolejność sekwencji rozruchu na inny poleceniem /displayorder. <ID> określa spis identyfikatorów tworzących wyświetlaną listę sekwencji rozruchu. Rozdzielamy kolejne identyfikatory spacjami. /addfirst służy do określenia identyfikatora jako pierwszego w sekwencji. /addlast służy do określenia identyfikatora jako ostatniego w sekwencji. /remove usuwa identyfikator z listy wyświetlania w sekwencji rozruchu. Przykład: bcdedit /displayorder {ntldr} /addfirst - spowoduje, że moduł uruchamiania starszych wersji Windows zostanie wyświetlony na początku listy. Wybór domyślnie uruchamianego systemu
Możemy także zmienić domyślnie uruchamiany system operacyjny po upłynięciu czasu wyświetlania sekwencji. Posłużymy się w tym celu poleceniem /default. <ID> określa identyfikator jako domyślny w menedżerze rozruchu. Przykład: bcdedit /default {ntldr} - spowoduje, że moduł uruchamiania starszych wersji Windows stanie się domyślnym w menedżerze rozruchu. Zmiana czasu oczekiwania W równie prosty sposób określimy czas, po jakim będzie uruchamiany domyślny system operacyjny. Służy do tego polecenie /timeout. <czas> określa ilość czasu (w sekundach) po upłynięciu, którego zostanie załadowany domyślny system. Przykład: bcdedit /timeout 20 - określa limit czasu na dwadzieścia sekund. Tworzenie nowego magazynu Możemy utworzyć nowy, pusty magazyn dla konfiguracji rozruchu. Wykonamy to poleceniem /createstore. <nazwa> określa nazwę pliku nowego magazynu. Przykład: bcdedit /createstore "C:\DATA\Nowy Magazyn" - utworzy plik Nowy Magazyn w lokalizacji C:\DATA. Kontrola Emergency Management Services (EMS) Za pomocą bcdedit.exe możemy także kontrolować usługę zarządzania awaryjnego dla aplikacji rozruchu. Włączanie i wyłączanie EMS Usługę zarządzania awaryjnego uruchomimy, lub zatrzymamy, poleceniem /bootems. ON - włącza usługę. OFF - wyłącza usługę. Przykład: bcdedit /bootems {bootmgr} /ON - polecenie uruchamia usługę dla menedżera rozruchu. Aby ustawić globalnie dla całego systemu usługę EMS posłużymy się poleceniem /emssettings. BIOS - określa użycie ustawień biosu dla usługi. <trans> - określa szybkość transmisji szeregowej używanej przez EMS. <port> - określa port szeregowy, który wykorzystywany będzie przez usługę EMS. Przykład: bcdedit /emssettings BIOS - spowoduje wykorzystanie usługi EMS przy użyciu parametrów biosu.
Zmiana opcji wpisów Ustalanie wartości wpisu Do ustalenia wartości wpisu służy polecenie /set. <nazwa> - określa nazwę magazynu, który chcemy modyfikować. W przypadku braku określenia, modyfikowany jest magazyn systemowy. <typ> - określa typ danych opcji, którą modyfikujemy. <wartość> - określa wartość przypisywaną opcji. Przykład: bcdedit /set {legacy} path \ntldr - określa wartość menedżera rozruchu starszych edycji Windows. Usuwanie wartości wpisu W celu usunięcia wartości wpisu wykorzystamy polecenie /deletevalue. <nazwa> - określa nazwę magazynu, który chcemy modyfikować. W przypadku braku określenia, modyfikowany jest magazyn systemowy. <typ> - określa typ danych opcji, którą modyfikujemy. <wartość> - określa wartość przypisywaną opcji. Przykład: bcdedit /deletevalue {bootmgr} bootsequence - polecenie usuwa opcję bootsequence z menedżera rozruchu. Wyświetlanie informacji Wyświetlanie listy wpisów Jeśli chcemy wyświetlić listę wpisów, to wydajemy polecenie /enum. <nazwa> - określa nazwę magazynu, który chcemy użyć. <ID> - określa identyfikator wpisu, który chcemy zobaczyć. /v - wyświetla pełne identyfikatory wpisów. <typ> - określa typy wpisów. Mogą to być: ACTIVE - spis wszystkich wpisów (domyślnie) FIRMWARE - programy środowiska układowego BOOTAPP - programy środowiska rozruchowego BOOTMGR - menedżer rozruchu INHERIT - wpisy dziedziczenia OSLOADER - wpisy systemu operacyjnego RESUME - wpisy dotyczące wznawiania z trybu hibernacji ALL - wszystkie wpisy Przykład: bcdedit /enum BOOTMGR - polecenie wyświetla wpisy menedżera rozruchu.
Konfiguracja debugowania Włączanie i wyłączanie debugowania Jeśli chcemy włączyć, lub wyłączyć debugera dla określonego wpisu to zrobimy to używając polecenia /bootdebug, lub /debug, jeżeli chcemy zmodyfikować debuger jądra. ON - włącza debugowanie. OFF - wyłącza debugowanie. Przykład: bcdedit /bootdebug {BOOTMGR} ON - polecenie włącza debugowanie dla menedżera rozruchu. Więcej opcji związanych z debugowaniem poznamy wpisując polecenie bcdedit /? dbgsettings. Ze strony: http://www.centrumxp.pl/expert/1491,1,bcdedit_bez_tajemnic.aspx