BCDBoot w akcji. Czyli jak przywrócić pliki rozruchowe Windows.

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.

Tryb odzyskiwania systemu Windows.

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]
OpcjeOpis
<ź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.
/vTryb w którym będą wypisywane informacje o postępie.
/addlastOpcja 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.
/pNiewymagana. Określa, że istniejący wpis w Windows Boot Manager (menedżer rozruchu Windows) powinien zostać na dotychczasowej pozycji uruchamiania w UEFI.
/dNiewymagana. Zachowuje istniejący domyślny wpis systemu operacyjnego w obiekcie {bootmgr} w menedżerze rozruchu Windows.
/cNiewymagana. 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).

Rozkład partycji na dysku.

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 
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.

Linki

Dodaj komentarz