Mam podwójny rozruch systemu Windows i Ubuntu. Po włączeniu komputera system BIOS wykonuje test POST, a następnie uruchamia się program ładujący.
Chcę zrozumieć, w jaki sposób BIOS wybiera, który program rozruchowy ma zostać uruchomiony. Chcę poznać proces zachodzący między systemem BIOS a programem ładującym w komputerze z podwójnym uruchomieniem.
boot
bootloader
bios
Prashant Singh
źródło
źródło
Odpowiedzi:
Oprogramowanie układowe BIOS tak naprawdę nie wybiera programu ładującego. Ładuje kod z sektora 0 dysku i wykonuje go. Cokolwiek tam będzie, wykona się. Mam nadzieję, że jest to program ładujący (lub coś, co ładuje program ładujący), ale nie musi tak być. We wczesnych czasach komputerów na dyskietkach istniały gry, które po prostu uruchamiałyby się i działały bez systemu operacyjnego - teraz nazywane są „bootami”.
Oprogramowanie układowe UEFI faktycznie rozpoznaje partycje i systemy plików oraz skanuje dyski w poszukiwaniu typu partycji systemowej UEFI. Ponieważ jest to system plików, można tutaj umieścić wiele programów ładujących. Oprogramowanie układowe UEFI powinno zapewniać menu lub inny sposób wybierania używanego programu ładującego.
Wiele systemów UEFI uruchamia się w „Starszym trybie” - gdzie UEFI ładuje „Moduł usługi zgodności” - coś, co sprawia, że wygląda jak BIOS - i faktycznie działa jak BIOS.
GRUB jest popularnym programem ładującym typu open source, który może uruchamiać Linuksa lub „ładować” (przekazać kontrolę) programowi ładującemu systemu Windows (zwykle winload.exe w folderze Boot partycji Windows). GRUB daje ci możliwość podjęcia decyzji. GRUB może odczytywać pliki konfiguracyjne i wybierać spośród nich domyślny wybór.
Przeczytaj to, jeśli chcesz obfite, krwawe szczegóły.
źródło
sudo
lub root, aby zapisać cokolwiek na odmontowanym dysku; jeśli program lub złośliwy użytkownik zapisuje złośliwe oprogramowanie na partycji rozruchowej ...Ten schemat pokazuje, jak kontrola przechodzi z oprogramowania układowego (BIOS lub UEFI) do programu ładującego i od programu ładującego do systemu operacyjnego w systemie Ubuntu.
BIOS vs. UEFI
Jeśli systemy operacyjne zostały zainstalowane w różnych trybach (BIOS i UEFI), podwójne uruchamianie Windows i Ubuntu nie będzie działać.
Przejrzyj tę odpowiedź i https://help.ubuntu.com/community/UEFI w sekcji o konwertowaniu Ubuntu do trybu UEFI .
Program ładujący GRUB-a można również przekonwertować w przeciwnym kierunku z UEFI na BIOS. Linux może dobrze uruchomić się z dysku GPT w trybie BIOS. Zobacz tę odpowiedź: Konwertuj z EFI do trybu rozruchu systemu BIOS
Konwersja Ubuntu do trybu UEFI
Jeśli zobaczysz opcję oddzielnej partycji / boot / efi , zaznacz pole wyboru w polu wyboru po lewej stronie, a następnie kliknij przycisk Zastosuj w prawym dolnym rogu.
Skonfiguruj system BIOS, aby uruchamiał dysk twardy w trybie UEFI. Sposób dostosowania tego ustawienia zależy od konkretnego modelu komputera, ale ogólnie to ustawienie znajduje się w ustawieniach priorytetu rozruchu na karcie Uruchamianie narzędzia konfiguracji BIOS / UEFI.
źródło
W trybie starszym (rozruch systemu BIOS, a nie UEFI) BIOS kontroluje kolejność dysków. Dawno temu było to kontrolowane przez kable; ale zmiana ustawienia systemu BIOS oznacza szybsze otwieranie pudełka i zmianę kabli.
BIOS ładuje (do pamięci) pierwszy sektor (512 bajtów dysku o nazwie MBR lub główny rekord rozruchowy) pierwszego dysku (lub kolejności dysków kontrolowanej przez BIOS), a następnie przekazuje kontrolę (CPU) do tego „bootloadera”. W ten sposób BIOS zakończył pracę i kod w pierwszym sektorze działa.
źródło