Grub

Uit LinuxMintNL WiKi
Versie door Jos1950 (Overleg | bijdragen) op 21 feb 2021 om 16:51 (Grub aanpassen: default/grub)
Ga naar: navigatie, zoeken

De naam grub wordt gebruikt voor de GNU GRUB (GNU GRand Unified Bootloader) en is de starter voor veel GNU/Linux distributies.

Het wordt aangemaakt als een Linux distributies wordt geïnstalleerd, en aangepast als er een update/upgrade van het systeem plaatsvindt.

Met grub kunnen alle opstartbare systemen (OS) worden gestart die het op de aangesloten apparaten kan vinden.

Het kan voorkomen dat Grub, na de pc-start vanaf een andere drive, met een ander grub-menu opstart.

Standaard GNU/Grub2 menu voorbeeld

Wat is grub

Grub bestaat uit twee delen.

De starter (bootloader) in een MBR

Dit is een klein programmaatje dat de plaats aanwijst waar het grub-menu van een systeem te vinden is.

Het grub-menu (bootmanager) op de partitie van een Linux systeem

Dit menu toont alle opstartbare systemen die bij een installatie, of update van dat systeem, zijn gevonden.

Installatie

Grub instellen bij de installatie voorbeeld
Loader op sda, Manager op sda5

Installatie van grub vindt plaats bij installatie van een Linux systeem.

De meest gebruikte commando's om grub aan te passen zijn install en update en worden gebruikt om grub opnieuw in te stellen.

  • Install plaats een nieuwe grub-starter in de MBR van de aangegeven drive of partitie.
  • Update maakt een nieuw grub-menu met de gegevens uit de grub-starter en zoekt daarna alle andere opstartbare systemen op aangesloten apparaten.

Grub starter

Hierin staat een verwijzing naar het grub-menu van een systeem.

Het wordt normaal bij installatie van Mint aangemaakt in de MBR van de daarbij aangegeven drive.

Aanpassen in de terminal

Met sudo grub-install /dev/sda wordt de grub-starter in de MBR van de eerste drive herschreven. In die starter wordt de systeem-locatie (partitie) geplaatst van het systeem dat op dat moment in gebruik is.

Het kan echter op elke drive worden geïnstalleerd. Dit is vooral van belang bij een externe drive als deze aan een andere pc wordt aangesloten. Gebruik in dat geval in het grub-install commando niet sda maar de naam van de drive die op dat moment daaraan is verbonden. Dit kan in elke systeem anders zijn en is afhankelijk van het aantal en aansluiting van apparaten. Met het programma Schijven en GParted kunnen de drives en partities worden gevonden.

Voorbeeld

Linux Mint op usb drive sdg

Start het systeem op sdg en open de terminal

Type sudo grub-install /dev/sdg

De grub-starter op drive g zal in het vervolg het grub-menu van drive g zoeken als die drive wordt gekozen bij de start van de pc.

Grub menu

Dit is het menu dat zichtbaar wordt bij het starten van een pc en waarin alle geïnstalleerde systemen staan die, tijdens de aanmaak van het grub-menu werden gevonden en kunnen worden gestart.

Het wordt normaal bij installatie van Mint aangemaakt op de partitie van het geïnstalleerde systeem.

Aanpassen in de terminal

Met sudo update-grub wordt het grub-menu samengesteld. Er wordt met dit commando naar alle opstartbare systemen gezocht en het grub-menu van het in werking zijnde Linux systeem wordt herschreven.

Het huidige systeem zal boven in dit grub-menu zichtbaar zijn.

Let op

Standaard word de eerste drive (sda) bij een pc (her)start gelezen.

Interne drives worden altijd vermeld vóór externe drives. Voorbeeld: Intern sda en sdb, dan volgt extern met sdc, sdd enz.

Als de opstartvolgorde van de drive in de bios is veranderd zal ook het grub-menu van die nieuwe ingestelde eerste drive worden gebruikt.

Als de drives intern of extern anders worden aangesloten is de volgorde van de drive ook veranderd.

Menu opbouw

Het grub-2 menu wordt opgebouwd door verschillende bestanden.

  • Het gedrag van het Grub 2 menu wordt hoofdzakelijk bepaald in /etc/default/grub en wordt standaard niet getoond, tenzij meer dan een besturingssysteem is gevonden.
  • Het belangrijkste configuratiebestand is grub.cfg dat standaard in de map /boot/grub zit en wordt aangepast door update of instal.
  • Naast /etc/defaultgrub worden alle bestanden in de map /etc/grub.d gebruikt om het grub-menu samen te stellen.
  • In bestand 40_custom in de map /etc/grub.d kunnen eigen menukeuzes worden geplaatst en wordt niet overschreven door update of install.
  • Het eerste apparaat is hd0 (sda), de eerste partitie is 1. De toewijzing kan desgewenst worden gewijzigd in bestand device.map in de map /boot/grub, maar wordt overschreven bij een nieuwe installatie.
  • Met GRUB-2 kunnen ISO schijfkopiebestanden worden gestart zonder eerst een CD of DVD te branden.
  • Wijzigingen in Grub-menu worden pas van kracht na 'sudo update-grub'.

Grub aanpassen

Om grub aan te passen moet men wel weten waar de mogelijkheden zitten.

In /etc/default/grub staan de basis instellingen zoals:
GRUB_DEFAULT=0 - welke distributie wordt als eerste gestart (tel de regels in grubmenu, begin met 0).
GRUB_TIMEOUT=10 - hoeveel seconden blijft het grubmenu zichtbaar.

Live versie starten

Met Grml-rescueboot kan via het grub-menu een Linux Mint distributie.iso worden gestart.

Het programma kan met SoftwareBeheer worden geïnstalleerd.

Om hiermee een distributie in grub-menu te starten moeten nog twee handelingen worden verricht.

  • Kopieer de disto in de map /boot/grml/.
Hiervoor zijn beheerdersrechten nodig.
  • Type in de terminal sudo update-grub.
Hierbij moet een regel verschijnen als bij voorbeeld Found Grml ISO image: /boot/grml/linuxmint-18-cinnamon-64bit.iso

Met deze methode kan de live versie wel helemaal worden gebruikt maar niet worden geïnstalleerd. Bij het installeren moeten alle partities worden afgekoppeld en dat gaat hiermee niet. Het installatieprogramma heeft de distro.iso nodig en die partitie kan daardoor niet worden afgekoppeld.

Lees voor het installeren van een distributie het artikel DistroInstal.

Grub mooier

Grub-menu met achtergrond en gekleurde tekst
Grub tekst
De tekstkleur aanpassen kan in /etc/grub.d/06_mint_theme
  • Normale tekst
set menu_color_normal=green/black geeft groene karakters op zwarte achtergrond.
  • Geselecteerde tekst
set menu_color_highlight=yellow/light-gray geeft gele karakters op grijze achtergrond.

Na deze verandering wel sudo update-grub uitvoeren. Herstart de pc om het effect te zien.

Grub achtergrond
Plaats een afbeelding in de map /boot/grub.
Let op: Er mogen geen spaties in de afbeeldingnaam voorkomen.
Update grub

Herstart de pc om het effect te zien.

Snuister voor Grub achtergrond thema's eens rond op de websites gnome-look en kde-look en zoek op grub2.

Grub-custom|Grub-customizer

Met Grub-customizer is het eenvoudig om grub mooier te maken.

Het wordt echter vanaf Linux Mint 18 niet meer in SoftwareBeheer aangeboden.

Met Grub-customizer hoeft niet in de grub-mappen te worden gezocht, maar kan via menu's eenvoudig worden gekozen wat men wil aanpassen en is het resultaat direct zichtbaar.

Geavanceerde opties

Geavanceerde opties

De 'Geavanceerde opties' kunnen worden gebruikt om Linux Mint met een andere kernel te starten. Dit is een handige mogelijkheid als een nieuwere kernel toch niet goed werkt. (Lees ook Linux kernen bekijken en aanpassen)

Als het Grub-menu meer dan een systemen vermeldt, heeft ieder systeem zijn eigen 'Geavanceerde opties' (meestal de eerste regel onder de systeemstarters).

Na selectie van deze mogelijkheid zal een venster openen zoals bijvoorbeeld hiernaast.

Kies een kernel zoals afgebeeld in de grijze regel. Linux Mint zal dan starten met de geselecteerde kernel.

De andere regel (Recovery mode) zal een venster openen dat enkele systeem herstel mogelijkheden biedt.

Als het systeem volledig draait en alles goed werkt, kan de kernel definitief worden geactiveerd door grub aan te passen.

Open hiervoor de terminal en type (of kopie/plak)
sudo update-grub
Hierdoor zal de huidige kernel de standaard kernel worden.

Zie ook