BCDEdit bez tajemnic

BCDEdit bez tajemnic

Autor: Dawid Długosz

Opublikowano: 12/16/2007, 12:00 AM

Liczba odsłon: 206838

Wraz z Windows Vista został wprowadzony magazyn przechowywania plików i ustawień rozruchu aplikacji. W poprzednich edycjach okienek informacje te były zapisywane w pliku boot.ini. Skąd więc ta zmiana?

Zapraszamy do lektury poniższego artykułu, w którym przedstawimy dokładnie edytor magazynu danych konfiguracji rozruchu, wyjaśnimy istotę jego zastosowania oraz omówimy najważniejsze funkcje. Mamy nadzieję, iż po tej lekturze zdobędziecie wiedzę, która pozwoli w zaawansowanym stopniu posługiwać się zadaniami dotyczącymi rozruchu systemów operacyjnych z rodziny Windows.

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.

  • Dostawca WMI jest interfejsem zarządzania służącym do tworzenia narzędzi skryptowych, którymi możemy edytować BCD.
  • 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.

  • <ID> - określa identyfikator wpisu, który chcemy zmodyfikować.
  • 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.

  • <ID> - określa identyfikator wpisu, który chcemy zmodyfikować.
  • <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.

  • <ID> - określa identyfikator wpisu, który chcemy zmodyfikować.
  • <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.

  • <ID> - określa identyfikator wpisu, który chcemy zmodyfikować.
  • 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.

Podsumowanie

Edytor magazynu danych konfiguracji rozruchu jest zaawansowanym narzędziem, które udostępnia wiele opcji związanych z uruchamianiem systemu operacyjnego. Brakuje jednakże graficznego interfejsu użytkownika, który z pewnością przysporzyłby aplikacji wielu zwolenników. Mimo wszystko mamy nadzieję, iż po lekturze tego artykułu nie odstraszyliśmy nikogo od korzystania z bcdedit, a wręcz przeciwnie, przysporzyliśmy mu nowych użytkowników.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia