Dobra, miałem czas, żeby przygotować tu odpowiedni zarys. Jest długi, ale jest całkiem kompletny i powinien pomóc ci zobaczyć, co się dzieje.
Po pierwsze, jeden sposób, w jaki to może się zdarzyć:
- Twój BIOS traci swoje ustawienia.
- Nie ma problemu, wszystkie te rzeczy są przechowywane na partycji EFI.
- …z wyjątkiem ustawienia SATA IDE vs AHCI, z oczywistych powodów.
- Używaliście SATA-AHCI? Prawdopodobnie używasz teraz SATA-IDE.
- Czy próbowałeś uruchomić komputer zanim to odkryłeś?
- Jeśli tak, to się nie udało. Czy pozwoliłeś, aby Windows próbował to naprawić?
- Jeśli to zrobiłeś, BLAM, mogło to zniszczyć Bazę Danych Konfiguracji Boota.
- Upewnij się, że używasz właściwego ustawienia SATA, którego używałeś ostatnio.
Oto co prawdopodobnie zrobiłeś do tej pory. JEŚLI KIEDYŚ z nich NIE ZGADZA SIĘ, UWAŻNIE OCENIAJ JAKIEGOŚ ZASTOSOWANEGO PROBLEMU i PRZYGOTUJ to dla pomysłów, ale nie WYPEŁNIAJ ich bez wcześniejszego zastanowienia.
- Masz DOMOWO zignorowałeś wszystkie bzdury o naprawianiu głównego rekordu startowego (MBR), tablicy partycji, flag partycji i innych śmieci, które nie mają zastosowania do scenariusza startowego EFI. AT ALL. W najlepszym przypadku, będziesz w stanie całkowicie przebudować nowe, unrelated, NON-EFI boot solution. Może to jednak nie być trywialne, ponieważ:
- Odkryłeś, że Windows jest pewny, że nie posiada Bazy Danych Konfiguracji Boota, ale niestety jest albo całkowicie bezsensowny, albo BARDZO pewny dokąd zmierza - nie do końca możesz powiedzieć który.
- Jesteś świadomy, że sklepem startowym jest normalnie
(somewhere)\Boot\BCD
i że plik jest Ukryty; zobacz go używając dir /a:hs
.
- Zapoznałeś się nieco z
BCDedit.exe
i doszedłeś do wniosku, że pozwoli Ci to “wykpić” Bazę Danych Konfiguracji Uruchomienia w pliku inscenizacyjnym za pomocą /CreateStore
(i proszę nie nazywać go “BCD”), że możesz wyraźnie użyć pliku inscenizacyjnego z opcją /Store
, że możesz dodać pozycję menu dla programu Windows Boot Manager za pomocą /Create {bootmgr}
, i że POWINNYś mieć możliwość zaimportowania go za pomocą /Import
…
- …ale kiedy próbujesz to zrobić, nie możesz. Patrzysz na opcję
/SysStore
, która brzmi dobrze, ale nie możesz jej użyć do innego sklepu, ponieważ jest “niejednoznaczna”. 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 nawet nie pokazuje się na liście, więc nie możesz.
Jeśli WSZYSTKO to dotyczy dość blisko Ciebie, oto co MOŻE się dziać:
- Windows może powiedzieć, że jesteś ustawiony na EFI (uruchomiłeś DVD poprzez UEFI boot, masz partycję EFI, itd.
- Dlatego też wie, gdzie szukać pliku BCD - jednak albo ma on jakoś złą lokalizację (nie ten problem, ale podobny), albo BCD został usunięty.
- Najwyraźniej, ponieważ wie, gdzie powinien być, to łamie
/SysStore
- i właściwie, to prawdopodobnie jest prawidłowe zachowanie, ponieważ w przeciwnym razie umieściłbyś go w złym miejscu.
- Tak blisko jak mogę powiedzieć,
MountVol
celowo ukrywa partycję EFI (lub jest w jakiś sposób niezdolny do zauważenia jej). Zapobiega to montowaniu systemu plików, co uniemożliwia odnalezienie właściwego podkatalogu, sprawdzenie, czy baza danych istnieje itd.
Więc w końcu to jest to, co musisz z tym zrobić. Dobrą wiadomością jest to, że jest to prawdopodobnie dużo prostsze niż się spodziewasz.
- Naprawdę musisz zamontować partycję EFI.
Właściwie mam przeczucie, że to nie jest ściśle poprawne– Zdecydowanie podejrzewam, że partycja EFI jest already zamontowana przez jakiś wewnętrzny podsystem, dlatego też BCDedit
dostaje korbkę– nie widzi bazy danych, ale wie gdzie powinna się udać. Czegokolwiek jednak nie ma, jest to litera dysku. Więc - co robić?
Cóż… jak daleko wstecz sięgają twoje korzenie DOS-u? Pamiętasz komendę Assign
? Zgadnij co.
2. Start DiskPart
.
3. Jeśli nie znasz DiskPart
, sposób jego działania jest w zasadzie hierarchią zbiorów; musisz wybrać dokładnie jeden element na jednym poziomie, aby przejść do następnego. Tak więc, List Disk
, a następnie Select Disk n
gdzie n
jest tym, co jest dla Ciebie odpowiednie.
4. Użyj List Partition
i List Volume
(uwaga niepluralna), aby uzyskać wgląd i zidentyfikować swoją partycję EFI.
Zazwyczaj jest to partycja 100MB FAT32 oznaczona System
. Pamiętaj, że Twój dysk powinien już teraz korzystać z tablicy partycji GPT, więc możesz zobaczyć całkiem sporo partycji. Niektóre z nich są przeznaczone do awaryjnego odzyskiwania - wiele dobrego robią dla problemów z EFI, co? Oh dobrze.
Zauważ, że partycja EFI i kilka innych nie ma liter dysku. Jeśli jesteś tak skłonny, możesz również wyświetlić atrybuty partycji GPT, które mogą dać Ci kilka stycznie związanych z “Aha” momentów, jak również.
5. Select Partition n
gdzie n jest partycją EFI. (Spodziewam się, że możesz wybrać wolumin zamiast tego, jeśli trzeba.)
6. Assign
. To jest to. Nie podawaj litery dysku, tylko Assign
.
7. List Volume
. Powinieneś teraz zobaczyć literę dysku przypisaną do partycji EFI.
8. Exit
DiskPart.
A teraz… duże, grube ostrzeżenie. Prawdopodobnie będziesz Przejdź bezpośrednio do S: (lub cokolwiek dostałeś z Assign
) i zauważysz partycję Boot. “AHA!” Powiesz. “Nie ma tu pliku BCD
!” Po pierwsze… pamiętaj, że plik jest ukryty. Po drugie… wykopać trochę więcej, i zauważysz, że podczas gdy jest S:\EFI\Boot
, a także S:\EFI\Microsoft\Boot
Musisz sprawdzić oba te problemy.S:\EFI\Boot
jest dla motherboard, i zawiera Windows Boot LOADER (i ewentualnie inne rzeczy dla innych systemów operacyjnych). Ma to nazwę, ponieważ płyta główna nie ma pojęcia czy będziesz miał Windows czy nie i potrzebuje stałej ścieżki, która ma sens.
9. Inspekcja S:\EFI\Boot
. Dla Windows 7 Professional, 64-bitowy, powinieneś zobaczyć: bootx64.efi
Jeśli masz zainstalowaną powłokę EFI (zawsze dobry pomysł), możesz dodatkowo zobaczyć shellx64.efi
.
UWAGA: Użytkownicy Linuksa używający chainloader+1
NIE zobaczą tu dodatkowego wpisu.
10. Sprawdź S:\EFI\Microsoft\Boot
używając both dir
i dir a:h
. Dla Windows 7 Professional, 64-bitowego, powinieneś zobaczyć kilka szablonów językowych (en_US
, etc.) oraz następujące pliki:
bootmgr.efi
bootmgfw.efi
memtest.efi
BCD
BCD.Backup.001
BCD.Backup.002
…z tym że prawdopodobnie nie widzisz BCD
, prawda? Ale te pliki kopii zapasowych na pewno wyglądają kusząco.
11. Określ, jakiego pliku kopii zapasowej chcesz użyć. Bez względu na to, jakich zmian ostatnio brakuje, nie są one tak ważne jak możliwość uruchomienia systemu, więc wybierz ten, który jest najbardziej nienaruszony. Prawdopodobnie zobaczysz jeden duży i jeden dość mały plik. Ten 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 KAŻDYM PRZYPADKU, zrób DODATKOWE KOPIECZKI TŁUMACZENIA O BACKUPS gdzieś indziej.
12. Skopiuj kopię zapasową, której postanowiłeś użyć do BCD
.
13. Wyjdź z powłoki, zamknij się czysto i zrestartuj.
14. Powiedz Windows, aby uruchomił się NORMALLY. W tym momencie powinien się uruchomić.
P: Co jeśli nie masz kopii zapasowej BCD?
A: Cóż, to really nie powinno się zdarzyć. Prawdopodobnie oznacza to, że albo jesteś w złym katalogu, wspierasz EFI, ale tak naprawdę go nie używałeś, albo w jakiś sposób przebudowałeś całą partycję EFI bez wszystkich wymaganych materiałów Windows (możliwe, zwłaszcza gdy używasz wielu wersji Windows). W takim przypadku należy skopiować materiały EFI z płyty DVD, a następnie zmodyfikować lub przebudować Bazę Danych Konfiguracji Boota za pomocą BCDedit
.
P: Czy możesz mi podać przykład scenariusza, w którym BCDedit /SysStore
może być użyte do zrobienia czegokolwiek w systemie EFI?
O: Jak dotąd, nie.
W każdym razie, mam nadzieję, że pomoże to rozwiązać pewne problemy dla ludzi, lub przynajmniej zmusi ich do myślenia. Jako bardzo ważny punkt końcowy, proszę zauważyć, że możesz zamontować i sprawdzić swoją partycję EFI _ pod Windows normalnie_ używając powyższej techniki DiskPart
: Assign
. Powinieneś zrobić to przynajmniej raz, aby uzyskać kompletną kopię zapasową swojej partycji EFI, _Zanim napotkasz tego typu problemy. Polecam jedną kopię zapasową do podkatalogu na twoim dysku C:
i jedną na USB flash.
Przepraszam, że to tak długo trwa. Muszę zmienić to w odpowiedni artykuł w pewnym momencie, ale jest tak wiele osób, które są tak sfrustrowane, że poczułem potrzebę udokumentowania mojego doświadczenia tak szybko i całkowicie, jak to możliwe.