Als je Linux gebruikt, is de kans groot dat je distrubreuze keuze Grub gebruikt als de standaard bootloader. Grub heeft vele jaren goed gediend, maar het begint zijn leeftijd te laten zien. Zoals met alle software, duurt het niet lang voordat de nieuwste en de grootste wordt oud-en-uitgemundoor. Functies stapelen zich op in Grub zonder al te veel nadenken over het vernieuwen van het kernprogramma. Uiteindelijk leidde dit tot een rommelig lappendeken dat niemand echt wilde behouden. Op dit moment werd Grub2 geboren. Het is vanaf de grond af volledig herschreven met een volledig opnieuw ontworpen structuur. Deze nieuwe Grub biedt ons krachtige functies zoals voorwaardelijke verklaringen (if / then, enz.), Intelligente upgrades en enkele sterk verbeterde grafische weergaven.

Grub2 ophalen

Momenteel, als je Grub2 wilt gebruiken, kun je het beste Ubuntu 9.10 (Karmic Koala) spelen. Als je alleen maar wilt rondtoeren en zien wat het kan doen zonder je systeem te riskeren, zou ik willen voorstellen het binnen een virtuele machine te laten lopen zoals hier beschreven, maar natuurlijk met Ubuntu 9.10.

menu.lst / grub.cfg

Als je de oorspronkelijke Grub (nu Grub-nalatenschap genoemd) hebt verpest, weet je ongetwijfeld alles over menu.lst . Dat was het bestand waarin Grub-erfenis vrijwel alles had opgeslagen. In Grub2 is grub.cfg het dichtstbijzijnde equivalent, ook in / boot / grub. Een van de belangrijkste verschillen is echter dat je het grub.cfg bestand niet direct moet bewerken . Sommigen van jullie denken misschien: "Ha! Dergelijke waarschuwingen zijn voor n00bs! ". De reden voor deze regel is niet omdat de ontwikkelaars niet denken dat je genoeg bent, maar dat bestand wordt automatisch gegenereerd door Grub2 en wordt zonder waarschuwing overschreven als gevolg van dingen als kernel-upgrades.

Elke keer dat de update-grub- opdracht wordt uitgevoerd, zal Grub2 de verschillende configuratiebestanden lezen en hun inhoud gebruiken om grub.cfg te genereren. Deze bestanden worden hieronder afzonderlijk behandeld.

/ Etc / default / grub

Veel opties van Grub die voorheen in menu.lst stonden, zijn nu hier. Dit omvat zaken als het al dan niet weergeven van het menu Grub en hoe lang te wachten voordat een time-out optreedt. Deze schermafbeelding is de standaardconfiguratie in Ubuntu 9.10 en is ingesteld om het menu Grub te verbergen, "herstelmodus" -opties uit te schakelen en de kernel opdracht te geven een opstartscherm op te nemen.

Trouwens, om Grub 2 te dwingen om het menu te tonen tijdens het opstarten, houd je gewoon de Shift-toets ingedrukt terwijl Grub aan het starten is.

/etc/grub.d/

Dit is waar dingen echt beginnen te verschillen van Grub-erfenis. Waar je normaliter al je opstartopties zou invoeren in het bestand menu.lst, heeft Grub 2 een heel andere benadering. De map /etc/grub.d/ bevat afzonderlijke bestanden die elk een optie voor het opstartmenu vertegenwoordigen. Het volgende toont de bestanden in de standaardinstallatie.

Hoewel het zeker heel wat anders is dan Grub-legacy, kun je iets bekends over die map opmerken. Het is ingesteld op een manier die erg lijkt op het standaard Linux-opstartsysteem, SysV Init. Elk van de getoonde bestanden is een shellscript dat in de juiste volgorde wordt uitgevoerd. De volgorde wordt bepaald door de nummers aan het begin van elke bestandsnaam, dus het script in 00_header zal altijd vóór, zeg, 05_debian_theme draaien .

/etc/grub.d/40_custom

De kans is groot dat als u uw opstartmenu moet bewerken, dit het bestand is waarnaar u op zoek bent. Dit is waar u uw eigen ingangen aan het menu toevoegt. Aangezien dit het laatste genummerde bestand is in de grub.d map (zoals uitgelegd in het gedeelte hierboven), zullen alle vermeldingen die u in dit bestand plaatst aan het einde van het opstartmenu verschijnen.

Het 40_custom- bestand is standaard meestal leeg. In dit voorbeeld heb ik een nieuw menu-item toegevoegd.

Splash-afbeeldingen

Je kunt het Grub 2 splash pack eenvoudig downloaden in Ubuntu met:

 sudo apt-get install grub2-splashimages 

Als het klaar is, worden alle afbeeldingen opgeslagen als TGA-bestanden in / usr / share / images / grub / .

Het bestand dat aangeeft welke splash-afbeelding moet worden gebruikt bij het opstarten, is het bestand 05_debian_theme dat we eerder hebben gezien. Dus om onze nieuwe aangepaste splash in te stellen, willen we /etc/grub.d/05_debian_theme als root openen in elke gewenste teksteditor. Zoek naar een regel die lijkt op de gemarkeerde in het onderstaande voorbeeld,

En verander de bestandsnaam in elke gewenste splash-afbeelding. Zorg ervoor dat het pad naar de map / usr / share / images / grub / wijst. Sommige oudere versies staan ​​standaard op / usr / share / images / desktop-base / en dat is niet wat we willen.

Veranderingen doorvoeren

Zoals u zich misschien herinnert aan het begin van deze handleiding, wordt het bestand grub.cfg automatisch gegenereerd uit de andere configuratiebestanden die we hebben behandeld. Wanneer u wijzigingen in die bestanden hebt aangebracht, moet u Grub vertellen ze te lezen en een nieuw configuratiebestand samen te stellen. Om dit te doen, voert u gewoon de volgende opdracht uit als root:

 -update-grub 

Zodra het is voltooid, start u uw computer (of virtuele machine) opnieuw op om de resultaten te bekijken. Vergeet niet Shift ingedrukt te houden tijdens het booten, als je menu nog steeds is ingesteld op Verborgen.