Czy zdarzyło się kiedyś wam utracić możliwość uruchomienia systemu Windows na skutek uszkodzenia lub niechcianej modyfikacji partycji rozruchowej EFI? W przypadku instalacji pojedynczej to są rzadkie przypadki. Natomiast w konfiguracjach multiboot, czyli gdy mamy wiele systemów operacyjnych tego typu przypadki zdarzają się częściej. I w tym momencie wkracza do akcji narzędzie BCDBoot.
BCDBoot to narzędzie wiersza poleceń (CLI) służące do konfiguracji plików rozruchowych w celu uruchomienia systemu operacyjnego Windows. Krótko mówiąc, tym narzędziem sprawimy, że ponownie będziemy mogli uruchomić system Windows po jakiejkolwiek niechcianej zmianie na partycji rozruchowej (systemowej).
W momencie, gdy utracimy kontakt z systemem Windows, po narzędzie BCDBoot możemy sięgnąć za pomocą trybu odzyskiwania z nośnika instalacyjnego Windows. Polecam też narzędzie WinPE 10-8 Sergei Strelec.

Gdy już znamy przeznaczenie BCDBoot przejdźmy do zapoznania się z jego obsługą. Ja postaram się także wytłumaczyć obsługę tego narzędzia na mojej przykładowej konfiguracji.
W teorii
Podstawowa składnia wygląda następująco:
BCDBOOT <source> [/l <locale>] [/s <volume-letter> [/f <firmware type>]] [/v] [/m [{OS Loader GUID}]] [/addlast or /p] [/d] [/c]
Opcje | Opis |
---|---|
<źródło> | Opcja jest wymagana. Określamy lokalizację katalogu Windows, z którego będą skopiowane pliki środowiska rozruchowego. |
/l <locale> | Opcja jest niewymagana. Określamy, w jaki języku mają być wyświetlane komunikaty podczas uruchamiania systemu. |
/s <volume-letter> /f <firmware type> | Opcja niewymagana. Określamy literę woluminu partycji rozruchowej (EFI, systemowej), oraz podajemy typ oprogramowania układowego, BIOS lub UEFI. |
/v | Tryb w którym będą wypisywane informacje o postępie. |
/addlast | Opcja niewymagana. Określa, że wpis oprogramowania układowego Menedżera rozruchu systemu Windows powinien zostać dodany na końcu. Opcji nie można używać równocześnie z /p. |
/p | Niewymagana. Określa, że istniejący wpis w Windows Boot Manager (menedżer rozruchu Windows) powinien zostać na dotychczasowej pozycji uruchamiania w UEFI. |
/d | Niewymagana. Zachowuje istniejący domyślny wpis systemu operacyjnego w obiekcie {bootmgr} w menedżerze rozruchu Windows. |
/c | Niewymagana. Określa, że wszelkie istniejące elementy BCD nie powinny być migrowane. |
W tym momencie powyższy opis może być dla Ciebie zbyt techniczny i niezrozumiały, ale postaram się jeszcze przedstawić działanie BCDBoot na konkretnym przykładzie i wtedy powinno już się wszystko wyjaśnić.
W praktyce
Zacznę od ustalenia, jaką mamy konfigurację partycji. Do tego celu użyję narzędzia graficznego, jednak w realnym przypadku posłuże się diskpart (list disk, list volume).

Według powyższej ilustracji mam partycje EFI (rozruchową), kolejne dwie to partycje systemu Linuks. Na czwartej znajduje się Windows 7 oraz na ostatniej jakieś dane. Ja chcę skonfigurować, dodać wpis do menedżera rozruchu dla systemu Windows 7. W takim wypadku w terminalu uruchamiam następujące polecenie:
bcdboot C:\ Windows /l pl-pl
Zakładam hipotetycznie, że czwarta partycja z etykietą SYSTEM7 (czyli na której znajduje się Windows 7) ma nadaną literę dysku C. W takim wypadku powyższe polecenie kopiuje pliki rozruchowe z lokalizacji, w której znajduje się Windows 7 (C:\Windows) na partycje rozruchową (EFI, automatycznie jest wykrywana). Natomiast dzięki opcji /l pl-pl będą wyświetlane komunikaty podczas uruchamiania, zamykania systemu w języku polskim. Kolejny przykład to:
bcdboot C:\ Windows /l pl-pl /s Z: /f UEFI
W tym przykładzie doszły dwie opcje. Pierwsza (/s Z:) określa gdzie znajduje się partycja rozruchowa EFI, w tym przypadku jest na woluminie Z. Druga (/f UEFI) określa, jaki mamy typ oprogramowania układowego, BIOS lub UEFI.
W przypadku gdy nie mamy przypisaną literę dysku do partycji rozruchowej (EFI), to musimy najpierw ją przypisać. W tym wypadku wystarczy uruchomić poniższe polecenia.
Diskpart
list volume //wyświetlenie listy woluminów
select volume 1 //wybranie woluminu z partycją EFI
assign letter=Z //przypisanie litery
Podsumowanie
Mam nadzieję, że udało mi się przekazać wiedzę w sposób zrozumiały a wszystkich, którzy jeszcze mają poczucie niedosytu odsyłam do dokumentacji, w której ten aspekt jest wyczerpany do końca. Jak zawsze, w szczególności zapraszam wszystkich do wspólnej dyskusji.
Wielkie dzięki za ten opis. Uratowałeś mnie przed formatem. Miałem dwa dyski z dwoma różnymi windowsami (do różnych celów) i po aktualizacji windowsa zniknął mi ten drugi. Dałem „napraw” przy bootowaniu i wyleciał w kosmos drugi. Znalazłem kilka tutoriali ale twój jest bez błędów i dokładnie wyjaśnia co robić. THX.
Dzięki za feedback. Miło się czyta tego typu komentarze, które dają do zrozumienia, że to, co się robi, przynosi innym jakąś wartość. Pozdrawiam Andrzej
Również dziękuję. Przydał się artykuł, abym mógł zrozumieć czym jest bcdboot i do czego może się przydać.
Artykuł pozwolił mi odkryć to narzędzie i kilka innych za pomocą których mogłem świadomie pobawić się WBM (Windows Boot Manager) i Grubem (Linux) – jedną z fajnych rzeczy jakie daje bcdboot jest możliwość zmiany języka WBM – bez konieczności przeprowadzania ponownej instalacji systemu Windows.
Pozdrawiam serdecznie!
Cieszę się, że mogłem pomóc.
Pozdrawiam Andrzej
Geniusz! Dzięki – taka ciekawostka – wywaliło mi „windows boot manager” podczas restartu przy podłączonym dysku pod USB… nie wiem czy – ale wydaje się mieć związek wykrycie dysku przez system i pomieszanie liter – windowsowy dysk dostał literę e!. Szukałem rozwiązania przeszło 3 godziny… wszelkie bootrec itp…wypróbowałem i tutaj znalazłem wreszczie! Jeszcze raz dzięki!
Super, dzięki wielkie.
Pozdrawiam Andrzej