GNU GRUB

GNU GRUB Beskrivelse af Grub logo.png-billedet. Beskrivelse af Debian Unstable GRUB2 (2015) .png-billede. Information
Udviklet af GNU Project og Erich Boleyn ( d )
Første version 1995
Sidste version 2,04 (5. juli 2019)
Depositum git.savannah.gnu.org/git/grub.git
Skrevet i Assembler og C
Operativ system Linux og Unix type
Miljø IA-32 ( en ) , x86_64 og PowerPC
Type Boot loader
Licens GNU General Public License version 3
Internet side www.gnu.org/software/grub

GNU GRUB ( akronym, der betyder på engelsk "  GR og U nified B ootloader  ") er et startprogram til pc . Den udføres, når computeren er tændt, efter de interne kontrolsekvenser og før selve operativsystemet , da dens rolle netop er at organisere indlæsningen. Når computeren er vært for flere systemer (dette kaldes multi-boot ), giver det brugeren mulighed for at vælge, hvilket system der skal startes.

Det er gratis software . Det tillader opstart af GNU / Linux- eller Windows-systemer (såvel som andre mindre almindelige systemer FreeBSD og OpenBSD , Hurd , Solaris ), læsning af konfigurationen ved opstart (ikke nødvendigt at geninstallere GRUB i opstartssektoren efter en konfigurationsændring, i modsætning til LILO ), en kommandolinje, der gør det muligt at ændre konfigurationen ved opstart og især den oprindelige genkendelse af forskellige eksisterende filsystemer . Det har også en slags simpelt kommandosprog, der gør det muligt at "indhente" en boot, som for eksempel ville være gået dårligt efter dårlig adressering af en partition .

Grub skal være i stand til at genkende alle filsystemer, som den muligvis startes på. Det er derfor meget større end LILO.

Det er en del af GNU-projektet.

Funktioner

Operation

Når computeren er tændt, søger BIOS efter den første bootbare enhed (normalt harddisken), indlæser opstartssektoren eller Master Boot Record (MBR) svarende til de første 512 byte på det drev og overfører derefter kontrol til det drev kodet.

GRUB version 1

The MBR indeholder sædvanligvis GRUB del 1, men det kan også indeholde en anden bootloader at dåsen kæde GRUB del 1 fra en anden bootsektor, såsom starten på en anden disk eller logisk partition (DOS type). På grund af MBR 's lille størrelse indlæser del 1 bare den næste del af GRUB (som kan være hvor som helst på de første 1024 cylindre på disken). Del 1 kan direkte indlæse del 2 eller indlæse del 1.5, som ligger inden for 30 kilobyte fra MBR . Denne del 1.5 indlæser derefter del 2. Del 1.5 kan indeholde piloter for at kunne få adgang til del 2.

GRUB version 2

Dette er tæt på GRUB version 1, boot.img er gemt i MBR eller volume boot-sektoren som del 1, men den kan indlæse en sektor fra enhver LBA48- adresse . Dette indlæser den første sektor af core.img (genereret fra diskboot.img ), som derefter bruges til at indlæse resten af ​​den genererede core.img- fil . Core.img- filen gemmes normalt på samme sted som del 1.5 med de samme problemer. Det kan dog flyttes inden for et filsystem eller en partition med mindre problemer end at flytte eller udelade del 1.5.

Når core.img- filen er indlæst, indlæses konfigurationsfilerne og andre nødvendige moduler.

GRUB er indlæst

Når GRUB er indlæst, præsenterer den en grænseflade, der giver brugeren mulighed for at vælge, hvilket operativsystem der skal startes. Dette tager normalt form af en grafisk menu. Hvis dette ikke er tilgængeligt, eller hvis brugeren ønsker direkte kontrol, har GRUB sin egen kommandoprompt. Brugeren kan derefter manuelt angive startparametre. GRUB kan indstilles til automatisk at indlæse en bestemt kerne efter en brugerdefineret timeout.

Når startindstillingerne er valgt, indlæser GRUB den valgte kerne i hukommelsen og overfører kontrol til den. Ellers kan GRUB videregive boot-kontrol til en anden læsser ved hjælp af kædebelastning. Det er denne metode, der bruges til at indlæse operativsystemer som Windows, som ikke understøtter standard multi-boot. I dette tilfælde blev der lavet kopier af indlæserne fra de andre startprogrammer. I stedet for en kerne indlæses det andet system, som om det havde været fra MBR . Det kan være en anden boot loader, som Microsofts boot-menu, der tillader valg af operativsystem.

Installation

I modsætning til LILO behøver GRUB ikke at blive geninstalleret i MBR, hver gang dens konfigurationsfil ændres.

I et GNU / Linux-system bruges kommandoen grub-install kun til at installere GRUB del 1 i MBR eller i en partition. GRUBs konfigurationsfiler skal være på en anvendelig partition, og hvis ikke, kører del 1 automatisk kommandolinjeprocessoren.

Navnet på og placeringen af ​​denne fil varierer fra system til system. For eksempel i Debian GNU / Linux-distributionen ligger denne fil i /boot/grub/grub.cfg, mens Fedora placerer den i /boot/grub/grub.conf(sidstnævnte bruger et symbolsk link til placeringen /etc/grub.confog peger på /boot/grub/grub.confaf kompatibilitetsårsager).

Derudover kan GRUB installeres på en flytbar disk, f.eks. En diskette , CD eller USB-stick for at indlæse et system, der ikke kan starte direkte fra sin egen disk.

Grundlæggende konfiguration

Konfigurationen er ikke ekstremt kompleks, du skal vide:

hd0 : correspond au premier disque, hd1 : correspond au deuxième disque, hd0,2 : correspond au premier disque, 3e partition Grub Legacy, 2e partition Grub2

Takket være et interaktivt prompt- system administrerer GRUB færdiggørelsen , det gør det muligt at finde navnene på disk / kerne / initrd, hvis indlæsningsmenuen ikke fungerer mere.

I /boot/grub/menu.lst filen er farve- og timeout-punkterne til menuen. Den standard parameter gør det muligt at forudindstille den kerne til belastningen. Kerne, der kan indlæses , defineres derefter den ene under den anden .

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 +1

For Microsoft-delen er der ingen specifik kerne at indlæse, tricket er at vælge den rigtige disk og derefter starte på den første byte på denne disk via "chainloader +1". Kommandoen "boot" bruges til at starte udførelsen.

Udvikling

Udtrykket "GRUB" henviser generelt til GRUB Legacy . Denne version modtager fortsat programrettelser , men der tilføjes ikke flere nye funktioner. Udviklerne af GRUB besluttede at fokusere på GRUB 2  : en komplet omskrivning af programmet for at gøre det mere sikkert, renere, mere kraftfuldt og mere robust.

GNU GRUB 2

En ægte fortsættelse af GRUB, GNU GRUB 2 er den nye standardversion, der gradvist er vedtaget af flere GNU / Linux- distributioner . Udviklerne planlægger derfor:

Varianter

Flere andre projekter opretholder deres egne forbedringer ( fork ) til GRUB Legacy-koden. Dette inkluderer Super Grub Disk (nye kommandoer inkluderer "setgrubdevice" og "usbshift") og GRUB4DOS . OpenSolaris bruger en modificeret version af GRUB Legacy, som understøtter disknavne, automatisk valg af 64-bit kerner og opstart fra ZFS (med komprimerings- og multi-boot-miljøer). Den Syllable OS -projektet lavet en modificeret version af GRUB at indlæse systemet fra AtheOS filsystemet.

Noter og referencer

  1. "  https://www.gnu.org/software/grub/manual/grub.html#History  " (adgang til 29. september 2016 )
  2. GRUB 2.04 release  " ,5. juli 2019(adgang til 5. juli 2019 )
  3. http://ubuntuforums.org/showpost.php?s=13e274036ad7b03c3f500520b490742e&p=8162655&postcount=4
  4. (in) Komplet liste over funktioner
  5. x86: Ændring af opstartsadfærd ved redigering af GRUB-menuen ved opstartstid , ændring af Solaris opstartsadfærd på x86-baserede systemer (opgaveoversigt) - Systemadministrationsvejledning: Grundlæggende administration
  6. x86: Understøttede GRUB-implementeringer , (Systemadministrationsvejledning: Grundlæggende administration) - Sun Microsystems
  7. 2.3 Hvorfor har Syllable sin egen version af GRUB? , Stavelsesdokumentation, stavelse

Se også

Andre bootloadere

eksterne links