osdev.labedz.org

Bootloader GNU GRUB

GNU GRUB jest programem o bardzo rozbudowanych możliwościach, potrafiącym załadować szeroki zakres różnych systemów operacyjnych, a dzięki opcji ładowania łańcuchowego, umożliwiający ładowanie komercyjnych systemów operacyjnych wyposażonych we własny program ładujący.

Główną zaletą loadera GRUB jest jego wszechstronność - program ten jest wstanie odczytać większość standardowych systemów plików, oraz wiele standardów plików obiektowych, dzięki czemu nie ma potrzeby podawania fizycznego adresu ładowanego systemu operacyjnego. Do załadowania pliku jądra GRUB potrzebuje jedynie podania nazwy pliku oraz ścieżki dostępu pod którym się on znajduje.

W trakcie bootowania z użyciem programu GRUB istnieje możliwość uruchomienia interfejsu użytkownika, co pozwala na zmianę nazwy ładowanego pliku, zmianę pamięci masowej z której ma odbywać się proces bootowania, oraz ustawienie wiele opcji czy zmiennych systemowych.

Możliwości GNU GRUB

Niektóre z możliwości programu GRUB:

  • rozpoznaje wiele rodzajów uruchamialnych plików obiektowych - wiele wariantów plików a.out oraz pliki ELF wraz z tablicami symboli.
  • współpracuje z systemami nie wspierającymi standardu Multiboot - dzięki mechanizmowi ładowania łańcuchowego GRUB potrafi wywołać inne programy ładujące
  • potrafi ładować wiele modułów podczas pojedynczego bootowania
  • obsługuje plik konfiguracyjny - wszystkie ustawienia programu ładującego mogą znajdować się w zwykłym tekstowym pliku konfiguracyjnym
  • dostarcza interfejs użytkownika opartym na menu - umożliwia w prosty sposób wybór ładowanego systemu
  • obsługuje wiele standardowych systemów plików - obecnie GRUB obsługuje takie standardy jak BSD FFS, DOS FAT16 i FAT32, Minix fs, Linux, ext2fs, ReiserFS, IFS, XFS i VSTafs.
  • umożliwia automatyczną dekompresję plików obiektowych spakowanych programem gzip - ta funkcja jest automatyczna i całkowicie nie widoczna dla użytkownika
  • pozwala na dostęp do plików systemowych na dowolnym urządzeniu pamięci masowej - obsługuje wszystkie stację dyskietek i dysków twardych znalezionych przez BIOS
  • posiada niezależną translację geometrii dysków twardych
  • potrafi wykryć ilość dostępnej pamięci typu RAM i przekazać tą wartość bootowanemu systemowi
  • obsługuje standard LBA dysków twardych
  • potrafi przeprowadzić proces ładowania systemu operacyjnego z sieci komputerowej - GRUB obsługuje protokół TFTP
  • umożliwia dostęp do procedury bootowania z poziomu zdalnego terminalu (podłączonego przez port szeregowy)