BCDEdit bez tajemnic.Vista i Win. 7
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.