Rekonstrukcja plików EFI systemu Windows na partycji / boot (Linux + Windows dual boot)


19

Uruchamiam podwójnie system Windows 10 (aktualizacja przed rocznicą) i Fedorę 24 na komputerze Lenovo IdeaPad N580 (Intel Pentium B960 2,2 GHz, 4 GB pamięci RAM, UEFI z wyłączonym Bezpiecznym uruchomieniem). Pierwotnie miałem tylko Windows 10, a następnie zainstalowałem obok niego Fedorę 23 i wszystko działało dobrze - działało również, kiedy uaktualniłem do Fedory 24. Jakiś czas temu zdecydowałem, że chcę wypróbować Ubuntu i zainstalowałem go tylko nadpisując katalog główny, / boot i partycje SWAP i utrzymanie mojej partycji domowej. Windows 10 nadal może się tutaj uruchomić. Potem zdecydowałem, że nie lubię Ubuntu i ponownie zainstalowałem Fedorę z instalatorem 24, próbując zrobić dokładnie to, co zrobiłem z Ubuntu. Interfejs był nieco inny, ale jestem pewien, że zrobiłem to poprawnie: po zakończeniu konfiguracji partycji wyświetliło się okienko z komunikatem „Dotkniemy tylko tych partycji” a wymienione na nim partycje to root, / boot i SWAP. Nic więcej.

Następnie, po zakończeniu instalacji, uruchomiłem ponownie. Jedynymi opcjami w menu GRUB były Fedora i Odzyskiwanie Fedory - nic więcej. Bez systemu Windows.

Próbowałem zainstalować rEFInd, który działał dla mnie w przeszłości. Ale to nie pomogło, dało mi te same dwie opcje.

Partycja Windows nadal istnieje i mogę uzyskać do niej dostęp z Fedory - ważne pliki, takie jak / bootmgr i / Boot / BCD wydają się nienaruszone. Partycja Windows znajduje się w / dev / sda5.

Również w ustawieniach systemu BIOS, w których pojawiał się Menedżer rozruchu systemu Windows, tak nie jest. Ma tylko REFInd i wpis z numerem modelu mojego dysku twardego - co, jak zakładam, prowadzi mnie do menu GRUB. (Właściwie to nie próbowałem przenieść go na szczyt listy i zrestartować komputera - jestem trochę leniwy: P)

Czy ktoś może pomóc?

AKTUALIZACJA: Manoj zidentyfikował problem: formatując partycję / boot pozbyłem się plików EFI systemu Windows. Więc muszę zrekonstruować pliki w /boot/efi/EFI/Microsoft. Myślę, że zrekonstruowałem katalog /boot/efi/EFI/Microsoft/Boot, ale potrzebuję innych plików Microsoft. Czy ktoś mógłby mi powiedzieć, jakie pliki są tam potrzebne?


Och, bootmgfw.efi, bootmgr.efia memtest.efitam nie ma ...
TheInitializer

TE PLIKI SĄ W windows partition/Windows/Boot/EFI!!!
TheInitializer


Ponieważ nie zrobiłeś kopii zapasowej (dlaczego?), Powinieneś zmodyfikować swoje pytanie. „Jak odtworzyć pliki rozruchowe systemu Windows UEFI?”
Xalorous,

Utworzyłem folder EFI z plików znalezionych na mojej partycji Windows, myślisz, że to zadziała? storage2.static.itmages.com/i/16/0809/…
TheInitializer

Odpowiedzi:


21

Ponieważ skopiowałeś wszystkie wymagane pliki boot/efi/EFI/Microsoft/Boot, musisz odbudować konfigurację modułu ładującego Windows. Będziesz potrzebował bootowalnego systemu Windows lub DVD (najlepiej 64-bitowy).

1: Uruchom z nośnika startowego. Upewnij się, że uruchamiasz się w trybie UEFI.

2: Na pierwszym ekranie (gdzie prosi o wybranie języka i klawiatury) naciśnij Shift + F10. Spowoduje to wyświetlenie wiersza polecenia.

3: Wpisz diskparta następnie list disk(aby wyświetlić listę wszystkich dostępnych dysków). Wybierz odpowiedni dysk twardy, wpisując select disk #.

4: Teraz wpisz list partitioni upewnij się, że istnieje partycja typu system(partycja efi). Wybierz tę partycję, wpisując select partition #i przypisz do niej literę dysku tymczasowego, powiedzmy G, wpisując assign letter=G.

5: Aby upewnić się, że litera dysku jest poprawnie przypisana, wpisz list vol. Powinieneś zobaczyć tom z drive letter (Ltr) as G&file system (Fs) as FAT32

6: Zamknij diskpart, wpisując polecenie exit. Upewnij się, że jesteś w X:\Sources.

7: Rodzaj cd /d G:\EFI\Microsoft\Boot\. Teraz uruchom te polecenia jeden po drugim.

bootrec /scanos     
bootrec /fixmbr    
bootrec /fixboot
bootrec /rebuildbcd    
bcdboot C:\Windows /l en-us /s G: /f ALL

8: Zamknij wiersz polecenia i uruchom ponownie system. Powinieneś teraz uruchamiać się w systemie Windows.

9: Oczywiście możesz teraz nie mieć menu grub. Ale instalacja gruba jest znacznie łatwiejsza. Kliknij dowolny z tych linków, aby uzyskać więcej informacji.

link1 , link2 , link3

Źródła: 1 , 2 , 3 , 4 .

EDYCJA - Upewnij się, że usuniesz literę dysku G przypisaną do partycji efi tak szybko, jak to możliwe, aby nie wyświetlała się w Moim komputerze.


Dziękuję, ale nie mam USB do odzyskiwania (trochę głupie z mojej strony) i nie mogę go utworzyć bez dostępu do systemu Windows. Spróbuję znaleźć sposób na zrobienie jednego
TheInitializer

1
Dziękuję bardzo, to zadziałało !! Publikowanie z systemu Windows: D
TheInitializer

1
bootrec /rebuildbcdnie udało mi się, ale i tak zadziałało po tym, jak go pominąłem.
en4bz

1
Dzięki za linki źródłowe , pomogłem zrozumieć i zastosować tylko niezbędne. Następnie, aby ponownie załadować REFInd bootloadera użyłem bcdedit, jak opisano tutaj : bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
Pau Coma Ramirez

Co możesz zrobić, jeśli Twojej partycji nie ma na liście list disk?
Harsha Goli

0

Przed rozpoczęciem tworzenia kopii zapasowej partycji rozruchowej za pomocą mkdir $HOME/backup && sudo cp -R /boot $HOME/backup. Partycja rozruchowa jest zwykle ograniczona do 100 MB, więc powinna być naprawdę mała.

Jeśli nadal masz nośnik rozruchowy systemu Windows 10 (taki jak pamięć USB lub DVD), możesz tam znaleźć pliki EFI.

Jeśli nie masz nośnika rozruchowego systemu Windows, możesz zamontować ISO (w razie potrzeby pobierz ) za pomocą polecenia sudo mkdir /tmp/win10iso && sudo mount -o loop /location/of/win10.iso /tmp/win10iso.

Po pomyślnym skopiowaniu tych plików EFI na partycję Windows dodaj wpis do pliku /etc/grub.d/40_custom.

Wpis wyglądałby następująco:

menuentry 'Windows 10' {
set root='(hd0,msdos5)'
chainloader +1
}

W konfiguracji GRUB hdXoznacza /dev/sdXi msdosYoznacza /dev/sdXY. Zauważ, że hdX zaczyna się od 0, a / dev / sdX zaczyna się od A.

Po zakończeniu zaktualizuj GRUB za pomocą sudo update-grub2. Powinien być tam wpis rozruchu systemu Windows.


Dzięki, właśnie
pobieram

Zamontowałem ISO i mam pytanie - które pliki mam skopiować i do którego folderu? Domyślam się od Windows ISO/bootdo /boot/efi/EFI/Microsoft, ale tak naprawdę nie jestem pewien.
TheInitializer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.