- Ponieważ wszyscy wiemy, że BIOS jest ważną częścią w dostępie do opcji startowej. Więc teraz UEFI to zrobi? Jak?
BIOS uruchamia się poprzez odczytanie pierwszego sektora na dysku twardym i wykonanie go; ten sektor startowy z kolei lokalizuje i uruchamia dodatkowy kod. System BIOS-u jest bardzo ograniczony ze względu na ograniczenia przestrzenne i ponieważ BIOS uruchamia kod 16-bitowy, podczas gdy nowoczesne komputery wykorzystują procesory 32-bitowe lub 64-bitowe. Natomiast EFI (lub UEFI, czyli po prostu EFI 2.x) uruchamia się poprzez załadowanie plików programu EFI (z rozszerzeniami nazw plików .efi
) z partycji na dysku twardym, znanej jako partycja systemowa EFI (ESP). Te programy ładujące EFI mogą wykorzystywać usługi uruchamiania EFI do takich rzeczy jak czytanie plików z dysku twardego.
W praktyce, jeśli używasz systemu operacyjnego takiego jak Linux, który posiada złożone programy ładujące w trybie BIOS, uruchamianie w trybie EFI będzie prawdopodobnie podobne do uruchamiania w trybie BIOS, ponieważ GRUB 2 (najpopularniejszy program ładujący w trybie BIOS dla Linuksa) został przeportowany do pracy pod EFI, a wiele dystrybucji Linuksa domyślnie instaluje GRUB 2 w systemach EFI. OTOH, możesz zastąpić lub uzupełnić GRUB 2 innymi programami ładującymi EFI. Rzeczywiście, samo jądro Linuksa może być programem ładującym EFI; kod został dodany, aby to zrobić z jądrem 3.3.0. Używany w ten sposób, samo EFI ładuje i uruchamia jądro Linuksa, lub możesz użyć zewnętrznego menedżera startowego jak rEFInd lub gummiboot aby umożliwić wybór systemu operacyjnego lub jądra do uruchomienia.
- Skąd mam wiedzieć, że startuję z UEFI, a nie z BIOS-em?
Jak mówi Root, w interfejsie użytkownika firmware'u znajdują się wskazówki; są one jednak niewiarygodne i różnią się w zależności od komputera. Jedynym sposobem na upewnienie się jest sprawdzenie, jak komputer się uruchomił. W Linuksie, na przykład, obecność katalogu o nazwie /sys/firmware/efi
jest diagnostyczna. Jeśli jest on obecny, uruchomiłeś komputer w trybie EFI; jeśli nie jest obecny, to prawdopodobnie uruchomiłeś komputer w trybie BIOS. (Katalog ten może być jednak w pewnych okolicznościach nieobecny przy uruchamianiu w trybie EFI.) Wyjście dmesg
, które odnosi się do EFI jest także diagnostyką uruchamiania w trybie EFI. W systemie Windows, tablica partycji dysku boot jest diagnostyczna; jeśli jest to GPT, uruchamiany jest w trybie EFI, a jeśli jest to MBR, uruchamiany jest w trybie BIOS.
- Więc czym naprawdę różni się “uruchamianie z BIOS-em” od “uruchamianie z UEFI”?
EFI _ może być_ szybsze, ale to nie jest pewne. Największą różnicą w szybkości jest sprzętowa inicjalizacja na wczesnym etapie procesu. W moich systemach jest to ułamek całkowitego czasu rozruchu, więc skrócenie czasu inicjalizacji sprzętowej, choć dobre, nie robi wielkiej różnicy to. W końcu to nie jest tak, że co dziesięć minut przeprowadzam restart.
UEFI obsługuje funkcję o nazwie Secure Boot, która, jak sama nazwa wskazuje, ma na celu poprawę bezpieczeństwa. Czyni to poprzez wymaganie cyfrowego “podpisu” programu ładującego, który z kolei powinien wymagać podpisu jądra, i tak dalej w górę łańcucha. Powinno to utrudnić autorom złośliwego oprogramowania wstawianie ich kodu do procesu przed uruchomieniem systemu, poprawiając tym samym bezpieczeństwo. Brzmi to dobrze, ale również komplikuje konfiguracje podwójnego startu, ponieważ kod taki jak GRUB i jądro Linuksa muszą być podpisane. Główni dostawcy dystrybucji Linuksa pracują nad tym, aby te wymagania były mniej obciążające dla przeciętnego użytkownika Linuksa i mają już przygotowane pewne wstępne rzeczy. W tej chwili jednak wyłączenie funkcji Secure Boot jest najłatwiejszym sposobem, aby sobie z tym poradzić. Jest to praktyczny problem głównie dla zupełnie nowych komputerów z systemem Windows 8, ponieważ Microsoft wymaga włączenia funkcji Secure Boot, aby uzyskać certyfikat Windows 8. Niektórzy mylą UEFI i Secure Boot (ten drugi jest tylko jedną z cech pierwszego), ale zasługuje na wzmiankę jako różnica między BIOS-em a UEFI, ponieważ powoduje to pewne problemy dla nowych komputerów z Windows 8. Jeśli masz starszy system lub jesteś na tyle wygodny z narzędziami do konfiguracji oprogramowania sprzętowego, aby wyłączyć Secure Boot, nie musi to być prawdziwy problem.
Microsoft wiąże typ tablicy partycji dysku startowego z typem oprogramowania sprzętowego (MBR do BIOS-u; GPT do UEFI). Ponieważ MBR wychodzi na 2TiB (zakładając standardowe rozmiary sektorów), oznacza to, że UEFI jest praktyczną koniecznością, aby uruchomić Windows na dyskach over-2TiB. Możesz jednak nadal używać tak dużych dysków jak dyski z danymi pod Windows i możesz uruchomić niektóre systemy operacyjne inne niż Microsoft (takie jak Linux i FreeBSD) na dużych dyskach używając GPT pod BIOS-em.
Jako praktyczna sprawa, jeśli martwisz się lub interesujesz się UEFI, największym problemem jest po prostu to, że UEFI jest na tyle nowe, że wsparcie dla niego jest trochę plamiste, szczególnie w niektórych starszych i bardziej egzotycznych systemach operacyjnych. UEFI samo w sobie jest na tyle nowe, że większość jego implementacji to buggy, a te, które nie różnią się między sobą na tyle, że trudno jest opisać rzeczy ogólnie. Tak więc, korzystanie z UEFI może być wyzwaniem. OTOH, UEFI _ to_ przyszłość. Ma pewne skromne zalety, niektóre z nich z czasem staną się ważniejsze (np. limit dysków rozruchowych 2TiB w Windows). Przejście na rozruch UEFI zmieni kilka szczegółów dotyczącychale twoje ogólne doświadczenia z komputerami nie zmienią się tak bardzo po pokonaniu wszelkich problemów z uruchomieniem komputera.
EDIT:
Czy możesz rozwinąć ustawienia OpRom (Option Rom). Pozwalają one na wybór pomiędzy uruchamianiem UEFI lub “Legacy” i dotyczą karty graficznej, karty sieciowej i różnych innych urządzeń PCI.
Wiele kart rozszerzeń dostarcza firmware'u, który łączy się z firmware'em na płycie głównej. Te dwa typy oprogramowania muszą być w stanie “rozmawiać”, jeśli oprogramowanie sprzętowe karty ma przynieść jakiekolwiek korzyści. Jest to konieczne do użycia karty przed uruchomieniem systemu operacyjnego - na przykład, aby wyświetlić opcje firmware'u lub menu menedżera startowego na karcie wideo, aby wykonać rozruch sieciowy za pomocą karty sieciowej, lub aby uruchomić system z dysku twardego podłączonego do karty kontrolera dysków.
Tak jak w przypadku ładowarek, kod w firmware'u urządzenia typu plug-in jest zapisywany na interfejsie z BIOS-em lub EFI (chociaż karty plug-in mogą obsługiwać oba, jeśli się nie mylę). Niektóre EFI udostępniają opcje włączania lub wyłączania tej obsługi na zasadzie drobnoziarnistej, jak zauważyłeś. W niektórych przypadkach, EFI może korzystać z obsługi trybu BIOS karty, aby umożliwić jej pracę w trybie EFI, poprzez “tłumaczenie” połączeń. (Jest to powszechne na przykład w przypadku kart video; często można podłączyć starą kartę video, która w swoim firmware'u nie ma nic poza obsługą BIOS-u i nadal używać jej do uruchamiania w trybie EFI)
Nie wiem dokładnie, co każde z odnotowanych ustawień robi. Na przykład, nie wiem czy “tylko BIOS” dla jednej z tych opcji sprawi, że karta będzie działać tylko w trybie BIOS-u, “tłumaczyć” tak, aby EFI mogło korzystać z połączeń w trybie BIOS-u w trybie EFI, czy też coś innego. W rzeczywistości, biorąc pod uwagę brak standardów w innych obszarach interfejsu użytkownika EFI, spodziewałbym się, że szczegóły będą się różnić w poszczególnych EFI, więc może być konieczne skonsultowanie dokumentacji komputera lub przeprowadzenie eksperymentu, jeśli chcesz poznać szczegóły. Widziałem kilka komputerów z bardzo podobnie brzmiącymi opcjami w dwóch różnych menu, co dodatkowo komplikuje sprawy.