Fejlesztette | GNU Project és Erich Boleyn ( d ) |
---|---|
Az első verzió | 1995 |
Utolsó verzió | 2,04 (2019. július 5) |
Letét | git.savannah.gnu.org/git/grub.git |
Beírva | Összeszerelő és C |
Operációs rendszer | Linux és Unix típus |
Környezet | IA-32 ( en ) , x86_64 és PowerPC |
típus | Boot loader |
Engedély | A GNU General Public License 3. verziója |
Weboldal | www.gnu.org/software/grub |
GNU GRUB ( betűszó jelentése az angol " GR és U nified B ootloader ") egy boot program a PC . Akkor működik, amikor a számítógép be van kapcsolva, a belső vezérlési szekvenciák után és maga az operációs rendszer előtt, mivel feladata éppen a betöltés megszervezése. Ha a számítógép több rendszert is üzemeltet (ezt hívják multi-bootnak ), akkor a felhasználó kiválaszthatja, hogy melyik rendszert indítsa el.
Ez szabad szoftver . Lehetővé teszi a GNU / Linux vagy Windows rendszerek (valamint más kevésbé elterjedt rendszerek FreeBSD és OpenBSD , Hurd , Solaris ) indítását, a konfiguráció beolvasását indításkor (a GRUB-ot nem kell újratelepíteni a rendszerindító szektorban a konfiguráció megváltoztatása után, a LILO-val ellentétben ), egy parancssor, amely lehetővé teszi az indításkor a konfiguráció megváltoztatását és különösen a különféle létező fájlrendszerek natív felismerését . Ez is egy fajta egyszerű parancs nyelv, amely lehetővé teszi, hogy „felzárkózni” a csomagtartó , ami ment volna rosszul, miután a rossz címzés egy partíciót , például.
A Grub-nak képesnek kell lennie minden olyan fájlrendszer felismerésére , amelyen indítható. Ezért sokkal nagyobb, mint a LILO.
A GNU projekt része.
Amikor a számítógép be van kapcsolva, a BIOS megkeresi az első rendszerindító eszközt (általában a merevlemezt), betölti a rendszerindítási szektort vagy a Master Boot Record-ot (MBR) , amely megfelel annak a meghajtónak az első 512 bájtjának, majd átadja az irányítást az adott meghajtóra. kódolt.
Az MBR általában a GRUB 1. részét tartalmazza, de tartalmazhat egy másik bootloadert is, amely a GRUB 1. részét egy másik rendszerindító szektorból tudja láncolni, például egy másik lemez vagy logikai partíció kezdetét (DOS típus). Az MBR kis mérete miatt az 1. rész csak betölti a GRUB következő részét (amely bárhol lehet a lemez első 1024 hengerén). Az 1. rész közvetlenül betöltheti a 2. részt vagy az 1.5. Részt, amely az MBR 30 kilobájton belül van . Ez az 1.5 rész ezután betölti a 2. részt. Az 1.5. Rész tartalmazhat pilótákat, hogy hozzáférjenek a 2. részhez.
Ez közel áll a GRUB 1. verziójához, a boot.img az MBR vagy a kötetindító szektorban van tárolva, mint az 1. rész, azonban bármely LBA48 címről betölthet szektort . Ez betölti a core.img első (a diskboot.img fájlból létrehozott ) szektorát, amelyet azután a létrehozott core.img fájl többi részének betöltésére használnak . A core.img fájlt általában ugyanazon a helyen tárolják, mint az 1.5. Részt, ugyanazokkal a problémákkal. Ám áthelyezhető fájlrendszeren vagy partíción belül kevesebb problémával, mint az 1.5 rész áthelyezése vagy kihagyása.
A core.img fájl betöltése után betölti a konfigurációs fájlokat és más szükséges modulokat.
A GRUB betöltése után megjelenik egy felület, amely lehetővé teszi a felhasználó számára, hogy melyik operációs rendszert indítsa el. Ez általában grafikus menü formájában történik. Ha ez nem áll rendelkezésre, vagy ha a felhasználó közvetlen irányítást szeretne, a GRUB saját parancssorral rendelkezik. Ezután a felhasználó manuálisan megadhatja az indítási paramétereket. A GRUB beállítható úgy, hogy egy felhasználó által meghatározott időkorlát után automatikusan betöltsön egy adott kernelt .
Miután kiválasztotta a rendszerindítási opciókat, a GRUB betölti a kiválasztott kernelt a memóriába, és átadja neki az irányítást. Ellenkező esetben a GRUB átadhatja a boot vezérlését egy másik betöltőnek, a lánc betöltésével. Ezt a módszert használják olyan operációs rendszerek betöltésére, mint a Windows, amelyek nem támogatják a szokásos többbetöltést. Ebben az esetben a többi indító program betöltőinek másolatai készültek. A rendszermag helyett a másik rendszer úgy töltődik be, mintha az MBR- ből származna . Ez lehet egy másik rendszerbetöltő, például a Microsoft rendszerindító menüje, amely lehetővé teszi az operációs rendszer kiválasztását.
A LILO-val ellentétben a GRUB-t nem kell újratelepíteni az MBR-be minden alkalommal, amikor a konfigurációs fájlt megváltoztatja.
GNU / Linux rendszerben a grub-install parancs csak a GRUB 1. rész MBR-be vagy partícióba történő telepítésére szolgál. A GRUB konfigurációs fájljainak használható partíción kell lenniük, és ha nem, akkor az 1. rész automatikusan lefuttatja a parancssori processzort.
A fájl neve és helye rendszerenként változó. Például a Debian GNU / Linux disztribúcióban ez a fájl itt található /boot/grub/grub.cfg, míg a Fedora helyezi el /boot/grub/grub.conf(ez utóbbi szimbolikus linket használ a helyhez, /etc/grub.confés /boot/grub/grub.confkompatibilitási okokból rámutat ).
Ezenkívül a GRUB telepíthető egy cserélhető lemezre, például hajlékonylemezre , CD-re vagy USB-meghajtóra olyan rendszer betöltéséhez, amely nem tud közvetlenül a saját lemezéről indítani.
A konfiguráció nem rendkívül összetett, tudnia kell:
Egy interaktív prompt rendszernek köszönhetően a GRUB kezeli a befejezést , ez lehetővé teszi a lemez / kernel / initrd nevének megkeresését, ha a betöltési menü már nem működik.
A /boot/grub/menu.lst fájlban találhatók a menü színének és időtúllépésének elemei . Az alapértelmezett paraméter lehetővé teszi a kernel előzetes kiválasztását a betöltéshez. A betölthető kerneleket ezután definiálják egymás alatt .
default 0 timeout 5 # foreground = ffffff background = 000000 # splashimage=(hd0,1)/boot/grub/leaf_splash.xpm.gz # title Gentoo root (hd0,1) kernel /boot/vmlinuz root=/dev/sda2 quiet # title Windows root (hd1) chainloader +1A Microsoft részéről nincs külön betöltendő kernel, a trükk az, hogy válassza ki a megfelelő lemezt, majd a lemez első bájtján induljon el a "chainloader +1" segítségével. A "boot" paranccsal indítható a végrehajtás.
A „GRUB” kifejezés általában a GRUB Legacy-re utal . Ez a verzió továbbra is kap javításokat , de újabb funkciókat nem adunk hozzá. A GRUB fejlesztői úgy döntöttek, hogy a GRUB 2- re koncentrálnak : a program teljes átírásával biztonságosabbá, tisztábbá, erősebbé és robusztusabbá válik.
A GRUB igazi folytatása a GNU A GRUB 2 az új alapértelmezett verzió, amelyet fokozatosan több GNU / Linux disztribúció is átvett . A fejlesztők ezért:
Számos más projektek fenntartani saját fejlesztések ( villa ) a GRUB Legacy kódot. Ide tartozik a Super Grub Disk (az új parancsok között szerepel a "setgrubdevice" és az "usbshift") és a GRUB4DOS . Az OpenSolaris a GRUB Legacy módosított verzióját használja, amely támogatja a lemezneveket, az automatikus 64-bites kernelkiválasztást és a ZFS- ből történő indítást (tömörítési és több rendszerindítási környezettel). A Syllable OS projekt a GRUB módosított változatát készítette a rendszer betöltésére az AtheOS fájlrendszerből.