Kilka dni temu zainstalowałem system Windows 7 i Windows 8 w trybie EFI na dysku twardym. Dzisiaj bootloader zaginął / został uszkodzony.
Obecnie mam instalator systemu Windows 8 na dysku flash i próbowałem użyć opcji automatycznej naprawy, aby naprawić bootloader, ale nic nie zrobił. W Instalatorze Windows 8 brakuje również opcji naprawy przy uruchamianiu.
Jak mogę naprawić / odtworzyć bootloader EFI z wiersza polecenia?
BCDEDIT
zwraca następujący komunikat:
The requested system device cannot be found.
Odpowiedzi:
Spędziłem dużo czasu próbując ponownie uruchomić komputer z systemem Windows 8 po sklonowaniu na nowy dysk SSD i podsumować, jak w końcu wszystko zaczęło działać -
Po pierwsze, uruchom z dysku odzyskiwania systemu Windows 8 UEFI (CD / DVD / USB) - stwierdziłem, że proces automatycznego odzyskiwania nie znalazł właściwej partycji Windows, ani kiedy udało mi się dodać ją do ustawień BCD, czy byłby niezawodny do rozruchu np. używając BCDEDIT mam go znaleźć i uruchomić partycję Windows, ale odmówił zimnego rozruchu lub nie „zachował” ustawień po drugim restarcie lub wyłączeniu zasilania.
Przejdź do opcji zaawansowanych i uruchom wiersz polecenia.
Wejdź,
diskpart
aby użyć narzędzia DiskPart, aby upewnić się, że masz wszystkie właściwe partycje i zidentyfikować partycję EFI - najważniejsze jest to, że twoja partycja EFI jest sformatowana jako FAT32:Następnie przypisz literę dysku do partycji EFI:
Wyjdź z narzędzia DiskPart, wprowadzając
exit
i w wierszu polecenia uruchom następujące polecenie:Usuń lub zmień nazwę pliku BCD:
Użyj,
bcdboot.exe
aby odtworzyć sklep BCD:/f ALL
Parametr aktualizuje ustawienia BIOS UEFI tym firmware / NVRAM,/l en-gb
jest zlokalizowanie na PL / GB lokalizacji. Domyślną lokalizacją jest angielski w USA lub en-US.Uruchom ponownie i skrzyżuj palce.
To sprawiło mi ból głowy. Długo chodziłem w kółko. Nie ma wielu wiarygodnych informacji na temat naprawy UEFI / Windows 8 w momencie pisania.
[EDYTOWAĆ]
Aby ponownie włączyć funkcję Hyper-V, po ponownym uruchomieniu musiałem uruchomić następujące polecenie z wiersza polecenia administratora w systemie Windows:
źródło
BFSVC Error: Could not open the BCD template store. STatus = [c000000f ]
Inne odpowiedzi są pomocne, ale to właśnie musiałem zrobić, aby naprawić moje.
Miałem dysk twardy 1,5 TB z zainstalowanym systemem Windows 7. Następnie zainstalowałem system Windows 8 na kupionym dysku SSD o pojemności 150 GB. Dysk twardy o pojemności 1,5 TB zepsuł się i mogłem usłyszeć hałas, mój komputer przestał się uruchamiać, mówiąc „proszę włóż dysk systemowy”. Myślałem, że brakuje bootloadera, ponieważ musiał znajdować się na dysku o pojemności 1,5 TB. Okazuje się, że to był problem, ale problem polegał na tym, że przewodniki, które podążałem, nie odbudowały programu ładującego lub jakkolwiek to się nazywa, ponieważ nie miałem partycji EFI na mniejszym dysku 150 GB (może istnieć na uszkodzonym dysku), to miał tylko 1 partycję, która zapełniła cały dysk.
Nie chciałem stracić wszystkich danych, więc wszedłem do wiersza polecenia, uruchamiając system z napędu USB z instalacją systemu Windows 8 (zauważając, że nie można uruchomić tego systemu w wersji UEFI, jeśli się pojawi, wybierz opcję uruchamiania z napędu USB bez UEFI pojawiające się przed nim).
W wierszu polecenia (instrukcje znajdują się w innych odpowiedziach) należy zmniejszyć partycję. Aby to zrobić, wprowadź następujące polecenia, naciskając Enterpo każdym z nich:
Te polecenia utworzą partycję EFI. Sprawdź wszystko dwukrotnie, pisząc
list vol
. Powinieneś zobaczyć partycję 200 MB. Teraz musisz przypisać mu literę. Zrób to, piszącassign
, a następnielist vol
ponownie, aby zobaczyć, która litera została przypisana.Teraz wystarczy to skopiować pliki rozruchowe na nowo utworzoną partycję:
Uwaga: należy zastąpić
C:
literą dysku partycji zawierającej system Windows iB:
literą przypisaną do właśnie utworzonej partycji EFI.Wprowadziłem również następujące polecenia:
Obaj powrócili z sukcesem, nie mam pojęcia, czy naprawdę zrobili coś innego niż kogo to obchodzi. Windows jest teraz w pełni odzyskany.
źródło
bcdboot c:\windows /s i: /f ALL
, pojawia się komunikat „Błąd BFSVC: nie udało się ustawić urządzenia do emulacji. Status = [c00000bb]” Walczę w tej bitwie od miesięcy i przy każdej próbie kończę na dysku flash, który wydaje się zawierać mój rozruch EFI pliki, ponieważ II mogę się z niego uruchomić, ale jeśli go usunę, nie będę mógł się uruchomić.Okej, miałem czas, żeby stworzyć tutaj odpowiedni zarys. Jest długi, ale dość kompletny i powinien pomóc ci zobaczyć, co się dzieje.
Po pierwsze, jeden ze sposobów może się to zdarzyć:
Oto, co prawdopodobnie zrobiłeś do tej pory. JEŻELI ŻADNE Z TEGO NIE ZGADZAJĄ SIĘ, DOKŁADNIE OCENA, CZYM JEST WZGLĘD NA TWÓJ PROBLEM, i PRZECZYTAJ je pod kątem pomysłów, ale NIE NALEŻY POSTĘPOWAĆ bez uprzedniego zastanowienia.
ZADOWOLONO zignorowałeś wszystkie bzdury związane z naprawą głównego rekordu rozruchowego (MBR), tablicy partycji, flag partycji i innych śmieci, które NIE MAJĄ ZASTOSOWANIA w scenariuszu rozruchu EFI. W ogóle . W najlepszym wypadku można całkowicie przebudować nowe, niezwiązane rozwiązanie rozruchowe NON-EFI. To może nie być trywialne, ponieważ:
Dowiedziałeś się, że Windows jest pewien, że nie ma bazy danych konfiguracji rozruchu, ale niestety jest całkowicie nieświadomy lub BARDZO pewny, dokąd zmierza - nie do końca wiesz, który.
Zdajesz sobie sprawę, że sklep rozruchowy to zwykle (gdzieś) \ Boot \ BCD i że plik jest UKRYTY; wyświetl go za pomocą „dir / a: hs”.
Zapoznałeś się nieco z BCDEDIT.EXE i zorientowałeś się, że pozwoli ci to „naśladować” bazę danych konfiguracji rozruchu w pliku pomostowym za pomocą „/ CREATESTORE” (i nie nazywaj go „BCD”), że możesz jawnie użyć pliku pomostowego z opcją „/ STORE”, że możesz dodać pozycję menu dla Menedżera rozruchu systemu Windows za pomocą „/ CREATE {bootmgr}”, i POWINNYŚ być możliwe jego zaimportowanie za pomocą „/ IMPORT” ...
... ale kiedy próbujesz to zrobić, nie możesz. Patrzysz na opcję / SYSSTORE, która brzmi dobrze, ale nie możesz zmusić jej do korzystania z innego sklepu, ponieważ jest „dwuznaczna”. Masz przeczucie, że wie, gdzie jest sklep - lub powinien być - ale nie możesz go znaleźć.
Próbowałeś użyć „MOUNTVOL” do zamontowania partycji EFI, ale nie wyświetla się ona nawet na liście, więc nie możesz.
Jeśli WSZYSTKO to dotyczy Ciebie dość ściśle, oto, co MOŻE się dzieje:
System Windows może powiedzieć, że masz skonfigurowane EFI (uruchomiłeś DVD za pomocą rozruchu UEFI, masz partycję EFI itp.).
Dlatego wie, GDZIE SZUKAĆ pliku BCD - jednak albo jakoś ma niewłaściwą lokalizację (nie ten problem, ale podobny) lub BCD zostało usunięte.
Najwyraźniej, ponieważ wie, gdzie POWINIEN być, to psuje / SYSSTORE - a właściwie to prawdopodobnie prawidłowe zachowanie, ponieważ w przeciwnym razie umieściłbyś to w niewłaściwym miejscu.
O ile wiem, MOUNTVOL celowo ukrywa partycję EFI (lub w jakiś sposób nie jest w stanie jej zauważyć). Zapobiega to montowaniu systemu plików, co uniemożliwia znalezienie odpowiedniego podkatalogu, sprawdzenie, czy baza danych istnieje itp.
W końcu oto, co musisz z tym zrobić. Dobrą wiadomością jest to, że jest to prawdopodobnie o wiele prostsze, niż masz nadzieję.
Faktycznie, mam przeczucie, że nie jest ściśle correct-- podejrzewam partycja EFI jest już zamontowany przez jakiś wewnętrzny podsystem, który jest dlaczego bcdedit dostaje cranky-- nie widzi bazy danych, ale nie wie, gdzie powinien iść. Cokolwiek jednak nie ma, to litera dysku. Więc ... co robić?
Cóż ... jak daleko sięgają twoje korzenie DOS? Czy pamiętasz polecenie ASSIGN? Zgadnij co.
Uruchom DISKPART.
Jeśli nie jesteś zaznajomiony z DISKPART, to w zasadzie działa to hierarchia zestawów; musisz wybrać dokładnie jeden element na jednym poziomie, aby przejść do następnego. Tak więc „LIST DISKS”, a następnie „SELECT DISK n”, gdzie n jest tym, co jest dla ciebie odpowiednie.
Użyj „LIST PARTITION” i „LIST VOLUME” (zwróć uwagę na liczbę mnogą), aby uzyskać wgląd i zidentyfikować partycję EFI.
Zwykle jest to 100 MB partycja FAT32 oznaczona „SYSTEM”. Pamiętaj, że twój dysk powinien już korzystać z tabeli partycji GPT, więc możesz zobaczyć sporo partycji. Niektóre z nich służą do awaryjnego powrotu do zdrowia - dużo dobrego robią w przypadku problemów z EFI, co? No cóż.
Zauważ, że partycja EFI i kilka innych nie ma liter dysku. Jeśli masz takie skłonności, możesz także wyświetlić atrybuty partycji GPT, co może dać ci kilka chwil związanych ze styczną „Aha”.
„WYBIERZ PARTYCJĘ n”, gdzie n jest partycją EFI. (Spodziewam się, że możesz wybrać głośność, jeśli zajdzie taka potrzeba).
"PRZYDZIELAĆ". Otóż to. Nie podawaj litery dysku; po prostu „ZAPISZ”.
„LIST VOLUME”. Powinieneś teraz zobaczyć literę dysku przypisaną do partycji EFI.
DISKPART „WYJŚCIE”.
A teraz ... duże ostrzeżenie o tłuszczu. Prawdopodobnie przejdziesz bezpośrednio do S: (lub cokolwiek, co otrzymałeś od ASSIGN) i zauważysz partycję / Boot. "AHA!" Powiesz. „Nie ma tutaj pliku BCD!” Po pierwsze ... pamiętaj, że plik jest ukryty. Po drugie ... wykop trochę więcej, a zauważysz, że dopóki:
S: \ EFI \ Boot
jest również:
S: \ EFI \ Microsoft \ Boot
Musisz sprawdzić oba te problemy.
S: \ EFI \ Boot jest przeznaczony dla płyty głównej i zawiera Windows Boot LOADER (i ewentualnie inne rzeczy dla innych systemów operacyjnych). Ma to taką nazwę, ponieważ płyta główna nie ma pojęcia, czy masz Windows, czy nie, i potrzebuje stałej ścieżki, która ma sens.
bootx64.efi
Jeśli zainstalowałeś powłokę EFI (zawsze dobry pomysł), możesz dodatkowo zobaczyć „shellx64.efi”.
UWAGA: Użytkownicy systemu Linux z podwójnym uruchomieniem używający „chainloader + 1” NIE zobaczą tutaj dodatkowego wpisu.
bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002
... poza tym, że prawdopodobnie nie widzisz BCD, prawda? Ale te pliki kopii zapasowych z pewnością wyglądają kusząco.
Określ plik kopii zapasowej, którego chcesz użyć. Wszelkie ostatnie zmiany, których brakuje, nie są tak ważne, jak zdolność do uruchomienia systemu, więc wybierz ten, który jest najbardziej nienaruszony. Prawdopodobnie zobaczysz jeden duży i jeden dość mały. Mały jest już uszkodzony i jest artefaktem nieudanego procesu naprawy - nie używaj go. Jeśli oba są duże, użyj starszego. W DOWOLNYM PRZYPADKU wykonaj DODATKOWE KOPIE ZAPASOWE KOPII ZAPASOWYCH gdzie indziej.
Skopiuj kopię zapasową, której postanowiłeś użyć, do „BCD”.
Wyjdź z powłoki, zamknij się i uruchom ponownie.
Powiedz systemowi Windows, aby zaczął NORMALNIE. W tym momencie powinno się zacząć.
P: Co jeśli nie masz kopii zapasowej BCD?
Odp .: Cóż, to naprawdę nie powinno się zdarzyć. Prawdopodobnie oznacza to, że znajdujesz się w niewłaściwym katalogu, obsługujesz EFI, ale tak naprawdę go nie używasz, albo w jakiś sposób przebudowałeś całą partycję EFI bez wszystkich wymaganych materiałów systemu Windows (możliwe, szczególnie w przypadku korzystania z wielu wersji systemu Windows). W takim przypadku musisz skopiować materiały EFI z dysku DVD, a następnie zmodyfikować lub przebudować bazę danych konfiguracji rozruchu za pomocą BCDEDIT.
P: Czy możesz podać przykład scenariusza, w którym „BCDEDIT / SYSSTORE” można wykorzystać do zrobienia czegokolwiek w systemie EFI?
Odp .: Jak dotąd nie.
W każdym razie, mam nadzieję, że pomoże to rozwiązać niektóre problemy dla ludzi, a przynajmniej zmusi ich do myślenia. Jako bardzo ważny punkt końcowy, pamiętaj, że możesz zamontować i sprawdzić swoją partycję EFI w systemie Windows normalnie, używając powyższej techniki DISKPART ASSIGN. Powinieneś to zrobić przynajmniej raz, aby uzyskać pełną kopię zapasową partycji EFI, ZANIM napotkasz tego rodzaju problemy. Polecam jedną kopię zapasową do podkatalogu na dysku C: i jedną na dysku flash USB.
Przepraszam, że to takie rozwlekłe. W pewnym momencie muszę zamienić to w odpowiedni artykuł, ale jest tak wielu ludzi, którzy są tak sfrustrowani, że czułem potrzebę udokumentowania mojego doświadczenia tak kompletnie i szybko, jak tylko mogłem.
Na zdrowie, Matt „Breakpoint” Heck
źródło
bcdboot c:/windows /s i: /f ALL
tak czy inaczej mnie to uruchomi, ale to po prostu powoduje, że „Błąd BFSVC: Nie można ustawić elementu aplikacji elementu. Status = [c00000bb]”Windows 8 wciąż nie jest w ostatecznej formie, więc należy się spodziewać problemów. Znajdujesz się w obszarze nowym dla większości z nas, w którym polecenia, których używaliśmy, mogą już nie działać. Do poleceń wymienionych przez @soandos dodaję ten, który całkowicie przebudowuje BCD:
Spróbuj także skorzystać z menu Zaawansowane uruchamianie systemu Windows 8 i daj nam znać, co się stanie.
Jeśli nic nie działa, artykuł Naprawianie systemu Windows 7, gdy nie uda się uruchomić, zawiera porady dotyczące używania programu bcdedit do naprawy błędów podczas uruchamiania. W każdym razie byłoby interesujące zobaczyć, jaka jest wydajność bcdedit na twoim komputerze.
[EDYTOWAĆ]
Te linki mogą zawierać przydatne pomysły:
Odzyskiwanie programu
rozruchowego systemu Windows z dysku DVD Windows 7 Boot Manager Recovery Problem
Windows 7 nagle nie uruchamia się - naprawa programu rozruchowego systemu Windows 7
źródło
Najłatwiejszy sposób:
Postępuj zgodnie z instrukcjami z powyższego postu, aby zlokalizować plik BCD i przejść do jego katalogu.
Jeśli plik BCD jest ukryty, wpisz
attrib bcd -s -h -r
i naciśnij Enter. Umożliwi to modyfikację i zastąpienie pliku.Wpisz
ren bcd bcd.old
i naciśnij Enter. Spowoduje to zmianę nazwy bieżącego pliku BCD.Wpisz
Bootrec /RebuildBCD
i naciśnij, Enteraby zmusić system Windows 8 do odbudowania menu rozruchu od zera.Wyjdź z wiersza polecenia i zamknij. Usuń nośnik odzyskiwania systemu Windows i uruchom ponownie. Jesteś skończony!
źródło
W DISKPART miałem tylko vol 0 lub D (DVD) i vol 1 lub C (partycja Windows NTFS). Nic nie działało dla mnie, dopóki nie zrobiłem tomu 1 AKTYWNEGO.
Po wyjściu z DISKPART napisałem tylko:
następnie system został poprawnie naprawiony. Nie korzystałem
ponieważ korzystałem z GAG (gestor derangeque gràfico) na MBR dla multiboot.
źródło
Po 6 godzinach zmagań udało mi się naprawić problem z uruchomieniem systemu Windows 8.
Dzisiaj, po zwykłym ponownym uruchomieniu, dostałem wiadomość
MBR not found
lub podobną, nie pamiętam już. Próbowałembootrec
poleceń, automatycznej naprawy systemu Windows (nie można znaleźć żadnego zainstalowanego systemu Windows), miliona innych sposobów i nic.Problem polegał na tym, że kiedy wykonałem
bootrec /rebuildbcd
, poszło normalnie, a potem, gdy musiałem wejść,yes
jeśli chcę zapisać konfigurację, dostałem komunikatthe file is not accessible because it is used by a another process
.Po godzinach łamania myśli w końcu go rozwiązałem.
W tej kolejności...
Najpierw uruchomiłem master partycji easyup i sformatowałem wolumin zarezerwowany przez system, który później przypisałem jako aktywny (w którym znajdował się mój folder rozruchowy). Po ponownym uruchomieniu mam błąd
NTLDR missing
.Potem uruchomiony w odzyskiwaniu systemu Windows, otworzył okno wiersza polecenia i wszedł
bootrec /fixmbr
,/fixboot
,/scanos
,/rebuildbcd
(które obecnie wykonywane w porządku:])Wyszedłem
cmd
i kliknąłem opcję automatycznej naprawy.Następnie mogłem wybrać system Windows 8. Po ponownym uruchomieniu zobaczyłem logo systemu Windows 8.
źródło
Mój scenariusz; Nie straciłem partycji systemowej EFI, ale przełączanie dysków i instalowanie systemu Windows zepsuło pozycję rozruchową UEFI Menedżera rozruchu systemu Windows dla pierwszego dysku; musiał użyć wpisu UEFI, który wskazuje dysk bezpośrednio do rozruchu. Myślę, że naprawiłem to, poprawiając / dodając ustawienie „device partition = \ Device \ HarddiskVolumeX” (X = 2 w moim przypadku; moja druga partycja to partycja systemowa EFI, zamapowana na Z: z diskpart.exe):
Bcdedit / set {bootmgr} partycja urządzenia = Z:
zobacz za pomocą: firmware bcdedit.exe / enum
źródło
Użyj:
bootrec /fixmbr
(aktualizuje MBR, prawdopodobnie nie zrobi nic w tym przypadku, ale też nie zaszkodzi)bootrec /fixboot
aby ponownie napisać sektor rozruchowy partycji systemowej.bootrec /scanos
aby wyszukać systemy operacyjne znajdujące się na dysku i dodać je do bootloadera.Po prostu uruchom polecenia w kolejności.
źródło
bootrec /fixmbr
Polecenie nie ma zastosowania do problemu autora lub sytuacji.Udało mi się to naprawić za pomocą następującego polecenia w konsoli odzyskiwania:
źródło