Problem z odtwarzaniem BCD w systemie Windows 7 64bit - Nie można znaleźć żądanego urządzenia systemowego

66

Uaktualnienie sterowników NVIDIA spowodowało awarię instalacji Windows 7, więc pracuję nad usunięciem szkód.

Co mogę zrobić: mogę uruchomić instalację systemu Windows z napędu USB i uruchomić dysk rozruchowy Hiren's CD . Chociaż automatyczna naprawa systemu Windows kończy się niepowodzeniem, mogę wyświetlić wiersz polecenia podczas uruchamiania systemu Windows z dysku USB, a także mogę zobaczyć dysk i wszystkie moje dane.

Czego nie mogę zrobić: nie mogę uruchomić systemu Windows - pojawia się następujący komunikat:

Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
1. Insert Windows CD and run a repair your computer option.
File: /Boot/BCD
Status: 0xc000000f
Info: an error occurred while attempting to read the boot configuration data.

Wygląda na to, że coś jest nie tak z moim / Boot / BCD, więc próbuję odtworzyć to od zera. Wypróbowałem wszystkie metody wyszczególnione tutaj (w tym naprawę systemu Windows, która się nie powiedzie) i pozostaję z ostatnią (u dołu tej strony). Kiedy wpisuję następujące polecenie, jak w samouczku:

bcdedit.exe /import c:\boot\bcd.temp

... kończy się niepowodzeniem z następującym błędem:

The store import operation has failed.
The requested system device cannot be found.

Wiele wyników Google mówi, że muszę użyć diskpart, aby ustawić moją partycję jako aktywną, jednak jest ona już ustawiona jako aktywna.

Ponadto, gdy próbuję tego:

bcdedit /enum

Nie działa z podobnym komunikatem:

The boot configuration data store could not be opened.
The requested system device cannot be found.

Czy ktoś wie, co oznacza ten komunikat o błędzie i jakie jest żądane urządzenie systemowe?

Chciałbym uniknąć konieczności ponownej instalacji systemu Windows, ponieważ wszystkie pliki na dysku wydają się być w porządku.

Domchi
źródło
Czy wypróbowałeś polecenie „bootrec / RebuildBcd”? (bez cytatów)
Moab
4
Tak, pozwala mi wybrać instalację systemu Windows, ale gdy to zrobię, kończy się niepowodzeniem z powodu „Nie można znaleźć żądanego urządzenia systemowego”.
Domchi
Wpisz po prostu bcdedit i opublikuj odpowiedź.
ThatGuyInIT
1
Windows 7 domyślnie nie przechowuje informacji BCD ani informacji o rozruchu na partycji C
:,
2
Sean, dostaję ten sam komunikat o błędzie, kiedy piszę bcdedit, co dostaję, gdy piszę bcdedit / enum, patrz wyżej.
Domchi

Odpowiedzi:

55

Nie jest bezpośrednio związany z twoim problemem w trakcie jego rozwiązywania, ale raczej z twoim oryginalnym opisem (szczególnie „Nie można znaleźć żądanego urządzenia systemowego.” W operacjach BCD pomimo wszystkich prób odtworzenia / przebudowy):

Ten błąd może się zdarzyć, jeśli uruchamiasz komputer z pamięci USB, a system BIOS obsługuje dane gniazdo USB, ale środowisko Windows PE / naprawa nie!

Spędziłem dwa dni, wyciągając włosy, zmagając się z tym problemem (sklep BCD ZAWSZE był niedostępny z tym błędem „Nie można znaleźć żądanego urządzenia systemowego.”, Bez względu na to, co zrobiłem), ale okazało się, że problem był po prostu Gniazdo USB Podłączałem rozruchową pamięć USB. Podłączając ją do innego gniazda (USB 2.0 zamiast USB 3.0), standardowe czynności naprawcze działały poprawnie.

Co gorsza, później odkryłem, że to przez podłączenie niewłaściwego gniazda i umożliwienie środowisku ratowniczemu próby automatycznej naprawy, pomyliłem rzeczy w pierwszej kolejności!


Aktualizacja: Inny użytkownik (ulepszone komputery) skontaktował się ze mną, aby potwierdzić, że to samo się stało. ponieważ wszystkie gniazda USB nie zostały rozpoznane przez system Windows 7 PE, musieli wyciągnąć dysk i wykonać naprawę na innym komputerze.


Aktualizacja: Trudno mi nawet ponownie zainstalować system Windows na moim laptopie. Z tego postu dowiedziałem się i zdałem sobie sprawę, że system Windows 7 PE nie rozpoznaje dysku USB. Chociaż uruchomił się z obrazu dysku USB z jakiegoś powodu, nie był w stanie uruchomić procesu instalacji. Po całym dniu wysiłków w końcu spróbowałem z DVD i zadziałało. Używam Lenovo W520

Tao
źródło
2
Po spędzeniu 3 godzin na debugowaniu tego komunikatu o błędzie nie mogę ci wystarczająco podziękować. Poważnie, dziękuję! Nigdy bym nie pomyślał, że przyczyną tego byłoby użycie gniazda USB3.
Corbin
4
+1 Wow, to samo tutaj! Właśnie uratowałem moje życie po zepsutym podziale.
mellamokb
Bardzo się cieszę, że mam teraz 2 dyski USB 2.0. Początkowo byłem na nich zirytowany (preferując wszystkie USB3), ale teraz zdaję sobie sprawę, jak przydatne są. Zastanawiałem się, dlaczego moja mysz nie działała podczas odzyskiwania. To powinno było dać mi do zrozumienia, że ​​z jakiegoś powodu nie rozpoznaje portów 3.0.
sacharyna
dzięki! to właśnie naprawiło moją frustrującą próbę użycia bootrec do naprawy sklonowanego dysku. Pop win7 odzyskać pamięć USB w innym gnieździe i jesteś gotowy na lol
Michael Nielsen
6
Niesamowite znalezisko. Niestety w moim przypadku nie było to rozwiązaniem. Ten błąd może być również spowodowany próbą naprawy instalacji WindowsFI systemu Windows z dysku USB, który został uruchomiony w trybie innym niż UEFI. Zobacz moją odpowiedź: superuser.com/a/959489/178217
Jan-Philip Gehrcke
50

Nic z innych odpowiedzi nie pomogło w moim przypadku i nie miałem możliwości załadowania Windows RE z DVD. Mam nadzieję, że ta odpowiedź wpadła mi w oczy.

Próbowałem rozwiązań z połączonych przewodników i w ogóle nie ukończyłem BCD (właściwie nie wiem, czy było na początku). Więc rzeczą, która uratowała mnie przed ponowną instalacją całego systemu było:

bcdboot.exe C:\Windows /s C:

Mam nadzieję, że to komuś pomoże.


Aktualizacja: To w końcu działało dla mnie z jedną małą modyfikacją. Mój problem był połączonym problemem wielu wymienionych tutaj (uruchamianie z pendrive'a, zakręcanie początkowego działającego BOOT).

Mój problem polegał na tym, że RE zarejestrował mój dysk Windows jako D:\, gdy był C:\normalnie. Bieganie bcdboot.exe D:\Windows /s C:załatwiło sprawę!

imy
źródło
3
Nic innego nie działało, ale to załatwiło sprawę!
bourbaki4481472
3
Jesteś moim bohaterem.
Erwin,
Boże, to było takie proste. Nic z tego nie zhakuje BCD ręcznie, bzdury!
Bigbio2002,
To jest to, jeśli uruchamiasz z pamięci USB, musisz użyć tej metody, używając dysku D: do aktualizacji pamięci (-s) w D :.
razor7
bcdboot.exe D: \ Windows / s C: działał dla mnie, gdy w linii
poleceń
19

Oto, jak w końcu to rozwiązałem.

Odtwarzanie BCD jak w rozdziale „holokaustu nuklearnego” w tutorialu, o którym wspomniałem w moim pytaniu, działało w końcu, ale z jedną małą modyfikacją. Wpadłem na pomysł w tym wątku . Wygląda na to, że otrzymałem wiadomość, że bcdedit nie może znaleźć sklepu BCD. Zamiast wpisywać to:

bcdedit /import c:\boot\bcd.temp

... Potrzebowałem tylko ręcznie wskazać sklep:

bcdedit /store c:\Boot\BCD /import c:\boot\bcd.temp

Jest to również potrzebne w przypadku pozostałych poleceń w samouczku:

bcdedit /store c:\Boot\BCD <the rest of the command>

Dzięki tej modyfikacji wszystkie polecenia w samouczku działają zgodnie z oczekiwaniami. Kiedy odtworzyłem BCD, udało mi się uruchomić mój oryginalny system Windows.

Domchi
źródło
9
To bardzo dziwne, ponieważ bcdedit /? storemówi , że This option may not be used with the /createstore, /import, or /export commands. próba użycia go i tak powoduje, The store import command is invalid. że cieszę się, że zadziałało.
Dave
Ten sam błąd tutaj ... Czy ktoś ma jakiś pomysł?
PLPeeters,
2
Dave ma rację, twierdząc, że /storeflagi nie można używać z /importflagą - po prostu na to wpadnij. Rozwiązaniem jest nie tworzenie tymczasowego magazynu i importowanie, ale po prostu tworzenie i praca nad rzeczywistym sklepem przy użyciu /storeflagi dla wszystkich poleceń. Właśnie przebiegłem to w ten sposób, aby naprawić mój system i działa. Zredagowałem powyższą odpowiedź, aby ją poprawić.
Nathan Brown
więc gdzie jest edycja?
George Birbilis,
@NathanBrown: czy możesz wyjaśnić, co masz na myśli? Jeszcze lepiej dodać pełną odpowiedź? Jakich poleceń użyłeś, aby to naprawić?
Adi Shavit
14

Ten sam problem pojawia się, gdy instalacja systemu Windows na dysku jest skonfigurowana do rozruchu UEFI, ale proces naprawy jest podejmowany na podstawie poleceń przechowywanych na dysku USB, który został uruchomiony w trybie innym niż UEFI („starsze”).

Wyobraź sobie, że masz rozruchowy dysk USB z konfiguracją systemu Windows 8, którego nie można uruchomić w trybie UEFI, ale tylko w trybie starszego typu. Można by pomyśleć, że można po prostu zmienić ustawienie BIOS z rozruchu UEFI na rozruch starszego typu. W rzeczywistości po tej zmianie można uruchomić dysk USB i oczywiście można uzyskać dostęp do wiersza polecenia systemu Windows. Jednak w tej sytuacji nie można „naprawić” instalacji systemu Windows na dysku, który został wcześniej zainstalowany i używany w trybie UEFI.

W tym scenariuszu (tryb rozruchu „starszy” i rozruch z instalacyjnego dysku USB systemu Windows 8) wykonanie bootrec /rebuildbcdkończy się niepowodzeniem The requested system device cannot be found. I BCDBoot C:\Windowsnie udaje sięFailure when attempting to copy boot files.

Rozwiązaniem jest

  1. aby utworzyć odpowiedni dysk USB rozruchowy UEFI (z np. Rufusem, jak opisano tutaj ), a następnie
  2. aby przełączyć BIOS z „starszego” trybu rozruchowego z powrotem do trybu rozruchowego UEFI, a następnie
  3. uruchamianie z napędu USB

Rozpoczęty proces naprawy rozpoczął się w moim przypadku BCDBoot C:\Windowsz powodzeniem : potem udało sięBoot files successfully created.

Pierwotny problem to „Kod błędu: 0xc0000034 - Brak danych pliku konfiguracji rozruchu wymaganych informacji” w systemie Windows 8, jak omówiono tutaj .

Jan-Philip Gehrcke
źródło
Wymuszenie trybu UEFI w BIOSie pozwoliło mi z powodzeniem kontynuować (i zakończyć!) Resetowanie / partycjonowanie z wcześniej utworzonym dyskiem odzyskiwania z systemu Windows 8.
mlt
Dziękuję Ci! Cały weekend spędziłem próbując naprawić system bez ponownej instalacji systemu Windows. Ta odpowiedź w końcu mnie rozwiązała. Musiałem stworzyć odpowiedni starszy bootowalny dysk USB USB, ponieważ moje okna zostały zainstalowane przy użyciu starszego BIOS-u (a nie UEFI, jak początkowo sądziłem). Instalacja systemu Windows i tryb uruchamiania napędu USB muszą być zgodne. w przeciwnym razie polecenia bootrec /rebuildbcdi bcdeditprzestaną działać.
Buju
2

Miałem inną przyczynę i rozwiązanie tego problemu. W moim przypadku problem polegał na tym, że użyłem systemu Windows 7 Enterprise ISO do utworzenia rozruchowego napędu flash USB z Unetbootin, zgodnie z instrukcjami tutaj: http://www.webupd8.org/2010/10/create-bootable-windows-7 -usb-drive.html . Zasadniczo instrukcje mówią, że należy sformatować dysk USB za pomocą NTFS i użyć Unetbootin v494 (nieaktualny), który wciąż miał funkcję pozwalającą na używanie dysków sformatowanych za pomocą NTFS (ta funkcja zniknęła w późniejszych wersjach).

Coś delikatnie zabarwiło mi tył głowy, który powiedział mi, że niestandardowa procedura spowoduje ból głowy, ale zignorowałam to.

Po godzinie przeszukiwania forum ktoś powiedział: „nie używaj rozruchowego napędu USB, ponieważ środowisko odzyskiwania zobaczy tablicę partycji, a nie prawdziwą na dysku twardym” lub coś w tym rodzaju.

Że mój napęd CD-ROM, USB, umieścić tam prawdziwy twardy i pobiegł bootrec /fixmbr, bootrec /fixbooti bootrec /rebuildbcdbez żadnych problemów. System Windows uruchomił się dobrze, zarówno z gruba, jak i gdy drugi dysk twardy został wybrany z listy rozruchowej systemu BIOS.

Johann
źródło
2
The requested system device cannot be found.

Miałem ten sam komunikat o błędzie podczas próby naprawy systemu Windows po konwersji dysku twardego z MBR na GPT. Kiedy próbowałem automatycznej naprawy, system Windows nawet poinformował, że zainstalowana wersja nie jest kompatybilną wersją systemu Windows. Dowiedziałem się, że bios MSI miał dwie opcje uruchamiania z DVD-ROM, które wyglądały podobnie do tego:

SATA3:DVD Drive
UEFI:DVD Drive

Uruchamia system rozruchowy UEFI tylko wtedy, gdy go ręcznie wybrałem. W przeciwnym razie nadal uruchamiałby się z DVD-ROM, ale nie w trybie UEFI. Po wybraniu UEFI mogłem zarówno ręcznie, jak i automatycznie naprawić system Windows 7.

Teraz całkowicie wyłączyłem system z płyty CD / DVD, co zmusiło mnie do skorzystania z menu startowego systemu BIOS i wybrania sposobu uruchamiania.

wimh
źródło
1

W takich sytuacjach stwierdziłem, że „ EasyBCD ” jest naprawdę bardzo pomocny. Sugeruję, abyś dał temu wir i przekonał się, czy to cię nie uratuje.

Mam nadzieję, że to pomaga kolesiu. Twoje zdrowie!

James T. Snell
źródło
Chciałbym, ale aby uruchomić EasyBCD, potrzebuję rozruchowego systemu Windows 7. Którego nie mam. Samouczek dotyczący regeneracji BCD, nad którym pracuję powyżej, i którego nie mogę wykonać, pochodzi ze strony EasyBCD. Czy EasyBCD można uruchomić z konsoli naprawy systemu Windows lub z systemu Linux ...?
Domchi
Nie można go zainstalować w systemie Windows XP, który jest dostarczany z dyskiem rozruchowym Hiren's Boot CD, instalacja kończy się niepowodzeniem, gdy ma zainstalować platformę .NET i anuluje się automatycznie. Ale nawet jeśli go zainstalowałem, WinXP nie widzi dysku NTFS z BCD ...
Domchi
Na koniec udało mi się zainstalować EasyBCD na innym komputerze i sprawić, że przeżuje mój plik BCD, który tam skopiowałem. Ale nigdy nie udało mi się zrobić nic przydatnego ...
Domchi,
1

Uruchom płytę instalacyjną systemu Windows 7 x64 i uruchom naprawę przy uruchamianiu, ale anuluj ją, zanim zacznie się ona naprawiać, zobaczysz link do opcji zaawansowanych, które pozwolą ci przejść do wiersza polecenia, musisz utworzyć partycję 100 MB aktywne, jeśli przez pomyłkę została aktywowana partycja systemu operacyjnego.

  1. Włóż dysk instalacyjny systemu Windows 7 x64 do napędu, a następnie uruchom komputer.
  2. Po wyświetleniu monitu naciśnij klawisz.
  3. Wybierz język, godzinę, walutę, klawiaturę lub metodę wprowadzania, a następnie kliknij przycisk Dalej.
  4. Kliknij Napraw komputer.
  5. Kliknij system operacyjny, który chcesz naprawić, a następnie kliknij przycisk Dalej.
  6. W oknie dialogowym Opcje odzyskiwania systemu kliknij Wiersz polecenia.

    diskpart wybierz dysk 0 wybierz część 1 aktywną

Uruchom ponownie i uruchom ponownie na płycie instalacyjnej Windows 7 x64.

bcdedit /export C:\BCD_Backup
c:
cd boot
attrib bcd -s -h -r
ren c:\boot\bcd bcd.old
bootrec /RebuildBcd

http://support.microsoft.com/kb/927392

ThatGuyInIT
źródło
W kroku 5. Nie mam na liście żadnych systemów operacyjnych. Nie mam partycji 100 MB, nigdy nie miałem, a moja partycja jest już aktywna, jak powiedziałem w moim pytaniu. Próbowałem wszystkiego, co sugeruje wspomniana KB, ale bootrec / RebuildBcd kończy się niepowodzeniem z informacją: „Nie można znaleźć żądanego urządzenia systemowego”.
Domchi
brzmi jak zły dysk twardy lub uszkodzony system plików. Uruchom polecenie chkdsk / r Dysk twardy można również przetestować przy użyciu dysku Linux na żywo, takiego jak PartedMagic partedmagic.com , który ma narzędzie GSmartControl do sprawdzania dysków twardych pod kątem błędów i uruchamiania testów SMART. Zawiera także narzędzie testdisk, którego można użyć do próby naprawy systemu plików cgsecurity.org/wiki/TestDisk
ThatGuyInIT
Dysk twardy i system plików są OK - widzę wszystkie dane ze środowiska Linux PartedMagic. TestDisk był również tym, czego wcześniej użyłem do naprawy MBR. Przed użyciem TestDisk nie miałem nawet dostępu do partycji. Moim problemem jest zdecydowanie niepoprawny plik BCD i naprawdę chciałbym wiedzieć, dlaczego nie mogę go odtworzyć i jakie jest to żądane urządzenie systemowe, którego nie może znaleźć.
Domchi
Możesz po prostu nacisnąć [Shift] + [F10] w kroku 3, aby przejść do monitu!
bitsel piksel
0

W moim przypadku żadne z powyższych rozwiązań nie pomogło.

Ponowne uruchomienie maszyny wirtualnej z systemem Windows Server 2016 w VMware Esxi 6.5 nie powiodło się z powodu „Nie znaleziono systemu operacyjnego”. Podejrzewałem aktualizację, która została zainstalowana podczas zamykania. Nie byłem w stanie naprawić tego za pomocą diskpart, bootrec, bcdedit i przywracania z kopii zapasowej. Nie miało to również nic wspólnego z EFI (bezpieczny rozruch) ani trybem BIOS.

Rozwiązaniem była zmiana napędu systemowego (wstecz) na urządzenie SCSI 0: 0.

Dodatkowy dysk, który dodałem kilka tygodni wcześniej, miał SCSI Device 0: 0, a Systemdrive był na 0: 1. Jak to się mogło stać, nie wiem, ale podejrzewam błąd w Vsphere Web-Client.

Tim Haegele
źródło