Partycja EFI kontra partycja / boot


41

Właśnie usiadłem, aby zainstalować debian 7, który zawiera coś o nazwie „EFI”, co jest dla mnie zupełnie nowe.

Przeszedłem instalację jak zwykle;

  • 256 MB / partycja rozruchowa, rozruchowa, niezaszyfrowana
  • Pozostały rozmiar dysku jako / partycja, zaszyfrowany

Instalator ostrzegł mnie przed „brakiem partycji EFI”, ale zignorowałem ją, ponieważ lubię żyć niebezpiecznie.

Ale tej instalacji nie można uruchomić, grub skarży się na „magię ELF” i wprowadza mnie w tryb ratunkowy.

Teraz ponownie uruchamiam instalację i znalazłem opcję utworzenia partycji EFI. Moje pytania są następujące;

  • Co to jest?
  • Dlaczego wydaje mi się, że potrzebuję go teraz?
  • Czy nadal potrzebuję osobnej partycji / boot?
  • Mam system Windows 7 zainstalowany na tym samym dysku, który zawsze działał dobrze z grub2 z mbr, czy można również uratować tę instalację?

Odpowiedzi:


47

Komputer ma oprogramowanie układowe UEFI, zastępujące stary system BIOS (chociaż nadal obsługuje systemy operacyjne zawierające tylko system BIOS, pod nazwą „CSM”).

  • W systemach BIOS program ładujący (lub „etap 1” dużego programu ładującego) jest przechowywany w MBR , w zerowym sektorze dysku. (512-bajtowy MBR rezerwuje 446 bajtów na kod bootstrap, reszta jest wykorzystywana do informacji o partycji.) Jeśli bootloader jest zbyt duży, jego kod „stage1” MBR zwykle próbuje znaleźć pliki „stage2” na partycji / boot.

  • W systemach EFI lub UEFI obszar kodu ładowania początkowego w MBR jest zwykle pusty (większość systemów UEFI nawet nie używa MBR do partycjonowania, preferując GPT ). Zamiast tego wszystkie programy ładujące są przechowywane jako zwykłe .efiprogramy na „partycji systemowej EFI”, która jest zwykłą partycją FAT32 ze specjalnym „typem partycji” w tabeli partycji. Jeśli masz wiele systemów operacyjnych, współużytkują tę samą partycję systemową EFI.

    / boot / efi
    ├── EFI
    │ ├── arch
    ├── │ ├── initramfs-linux.img
    └── │ └── vmlinuz-linux.efi
    Umm umm gummiboot
    └── └── gummiboot.efi
    ├── moduł ładujący
    │ ├── wpisów
    └── │ └── arch.conf
    └── └── loader.conf
    └── SHELLX64.EFI
    

    Niektórzy użytkownicy decydują się na umieszczenie partycji EFI /boot, co ułatwia konfigurację tylko w systemach Linux. Ale podczas podwójnego uruchamiania - nawet jeśli są to dwie różne dystrybucje Linuksa - sugeruję mieć partycję EFI na /boot/efi. Oddzielność /bootjest zwykle niepotrzebna).

Partycja EFI jest wymagana, jeśli chcesz uruchomić system w trybie UEFI. Jeśli jednak chcesz Debiana uruchamianego z UEFI, może być również konieczna ponowna instalacja systemu Windows, ponieważ mieszanie dwóch metod uruchamiania jest w najlepszym wypadku niewygodne.

Zarówno Windows 7, jak i Debian 7 obsługują zarówno BIOS, jak i UEFI, i instalują odpowiedni moduł ładujący w zależności od trybu, w którym instalator został uruchomiony. Często systemy UEFI mają przełącznik „trybu rozruchu” na ekranie ustawień, z opcjami takimi jak „UEFI only ”,„ UEFI and CSM ”,„ Legacy (BIOS) ”,„ BIOS, następnie UEFI ”lub coś podobnego. (CSM to moduł wsparcia zgodności, emulacja systemu BIOS).

Twój system Windows 7 został prawdopodobnie zainstalowany w trybie BIOS, ale instalator Debiana uruchamia się teraz w trybie UEFI i oferuje instalację bootloadera kompatybilnego z UEFI. (Może gdzieś przestawiłeś przełącznik „UEFI / BIOS”. Nie wiem.)

Na razie możesz całkowicie zignorować EFI i zainstalować GRUB2 ponownie w MBR, prawdopodobnie używając grub-install --target=i386-pc.


1
Świetna odpowiedź! Więc jeśli używam GPT i EFI, potrzebuję tylko oddzielnej „partycji rozruchowej EFI”, „/” (root), „swap”, „/ home” i czy to w porządku?
Timur Fayzrakhmanov

2
@TimurFayzrakhmanov: Wymagane minimum to „/ boot (partycja systemowa EFI)” i „/ (root)”.
grawity

1

To nie jest ten sam system operacyjny, ale był podobny problem, miałem Ubuntu 13.04 zainstalowany na komputerze z Windows 8 i dał mi opcję rozruchu, idzie bezpośrednio do Windows 8. Więc musiałem użyć naprawy rozruchu, ale nie rozpoznałem kartę sieci bezprzewodowej, więc wykonuję kroki opisane w tym linku, aby naprawić problem z kartą sieci bezprzewodowej: Czy mogę włączyć Wi-Fi na płycie CD Live Ubuntu?

Zasadniczo zrobiłem, aby włączyć sieć bezprzewodową:

  1. Przejdź do Ustawienia systemu → Źródła oprogramowania → Dodatkowe sterowniki
  2. Wybierz dowolną dostępną opcję inną niż „Nie używaj urządzenia”
  3. Kliknij „Zastosuj zmiany”

Następnie wykonałem kroki z https://help.ubuntu.com/community/Boot-Repair

Zasadniczo to, co zrobiłem, to:

  1. uruchom Boot-Repair z: 1. Dash (logo Ubuntu w lewym górnym rogu ekranu)

    1. lub System-> Administracja-> Menu Boot-Repair (tylko Ubuntu 10.04)

    2. lub wpisując „boot-repair” w terminalu

  2. Następnie kliknij przycisk „Zalecana naprawa”. Po zakończeniu naprawy zanotuj adres URL (paste.ubuntu.com/XXXXX), który pojawił się na papierze, a następnie uruchom ponownie i sprawdź, czy odzyskałeś dostęp do swoich systemów operacyjnych.

  3. Jeśli naprawa się nie powiodła, podaj adres URL osobom, które pomogą Ci przez e-mail lub forum.

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.