Grub: verschil tussen versies

Uit LinuxMintNL WiKi
Ga naar: navigatie, zoeken
(Aangepast)
(Grub aanpassen)
 
(15 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
'''Grub''' is de naam voor het Grub 2 startmenu van [[NieuweDistro|Linux distributies]].
+
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 versie wordt geïnstalleerd of als er een update/upgrade van het systeem plaatsvindt.
+
 +
Het wordt aangemaakt als een [[NieuweDistro|Linux distributies]] wordt geïnstalleerd, en aangepast als er een update/upgrade van het systeem plaatsvindt.
  
In Grub staan alle opstartbare systemen (OP) die het op de aangesloten apparaten kan vinden en plaatst de opstartlocatie standaard op de sda drive of op de [[hdd]] van de installatie/update/upgrade.
+
Met grub kunnen alle opstartbare systemen (OS) worden gestart die het op de aangesloten apparaten kan vinden.
Het kan dus voorkomen dat Grub vanaf een andere hdd met een ander menu opstart na een install/update/upgrade van een distributie.
 
  
== In de terminal ==
+
Het kan voorkomen dat Grub, na de pc-start vanaf een andere drive, met een ander grub-menu opstart.
De meest gebruikte Grub commando's zijn update en install en worden gebruikt om Grub opnieuw de systemen te laten doorzoeken op veranderingen en het Grubmenu aan te passen.
 
  
Het verschil:
+
[[Bestand:Grub.png|thumb|Standaard GNU/Grub2 menu voorbeeld]]
*''Install'' plaats een nieuwe Grub-starter in de [[MBR|Master Boot Record]] (MBR) van de aangegeven drive of partitie.<br/>
 
:In de starter worden de systeemgegevens geplaatst van het op dat moment in gebruik zijnde systeem. Daarmee wijst het bij opstarten naar het grub-menu van dat systeem.
 
:Dit is vooral van belang als meerdere systemen zijn geïnstalleerd.
 
Terminal commando:<br/>
 
'''let op:''' ? is het derde karakter van de drive waarop grub wordt geïnstalleerd, normaal is  dit sda.
 
sudo grub-install /dev/sd?
 
Wordt grub op een partitie geïnstalleerd dan volgt na de drive nog het cijfer van de partitie, hier b.v. partitie 1 op sda
 
sudo grub-install /dev/sda1
 
  
*''Update'' zoekt de gegevens uit de grub-starter en alle opstartbare systemen op de aangesloten apparaten.
+
== Wat is grub ==
:Deze informatie komt in het grub-menu met op de eerste plaats (bovenaan) de gegevens uit de grub-starter.  
+
Grub bestaat uit twee delen.  
:Daarna plaatst het de locatie van het grub-menu in de grub-starter.
+
; De starter ([https://nl.wikipedia.org/wiki/Bootloader 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 ([https://nl.wikipedia.org/wiki/Bootloader#Bootmanager 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.
  
:Hierdoor zal altijd het laatst aangemaakte grub-menu worden getoond.
+
== Installatie ==
 +
[[Bestand:Instal-4d2.png|thumb|Grub instellen bij de installatie voorbeeld<br />Loader op sda, Manager op sda5]]
 +
Installatie van grub vindt plaats bij installatie van een Linux systeem.
  
Terminal commando: op de eerste plaats
+
De meest gebruikte commando's om grub aan te passen zijn ''install'' en ''update'' en worden gebruikt om grub opnieuw in te stellen.
sudo update-grub
+
 
 +
*''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 <code>sudo grub-install /dev/sda</code> wordt de grub-starter in de MBR van de [[HDDinstellen#Volgorde|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 <code>sudo grub-install /dev/sdg</code>
 +
 
 +
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 <code>sudo update-grub</code> 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 ==
 
== Menu opbouw ==
Het grub menu wordt opgebouwd door verschillende bestanden.<ref name="bron">[http://wiki.ubuntu-nl.org/community/Grub2/Grub2Bestanden Grub 2 handmatig bewerken (Ubuntu wiki)]</ref>
+
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 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.
 
* 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.  
 
* 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.
 
* 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, 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.
+
* 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 en geïnstalleerd zonder eerst een CD of DVD te branden.  
+
* Met GRUB-2 kunnen ISO schijfkopiebestanden worden gestart zonder eerst een CD of DVD te branden.  
* Wijzigingen in Grubmenu worden pas van kracht na 'sudo update-grub'.  
+
* Wijzigingen in Grub-menu worden pas van kracht na 'sudo update-grub'.  
  
 
== Grub aanpassen ==
 
== Grub aanpassen ==
 
Om grub aan te passen moet men wel weten waar de mogelijkheden zitten.
 
Om grub aan te passen moet men wel weten waar de mogelijkheden zitten.
  
Een volledige uitleg om grub handmatig aan te passen is te vinden op de Ubuntu wiki.<ref name="bron"></ref>
+
In /etc/default/grub staan de basis instellingen zoals:<br />
 +
''GRUB_DEFAULT=0'' - welke distributie wordt als eerste gestart (tel de regels in grubmenu, begin met 0).<br />
 +
''GRUB_TIMEOUT=10'' - hoeveel seconden blijft het grubmenu zichtbaar.
  
* Met [[Grub-custom|Grub-customizer]] hoeft niet in de grub-mappen te worden gezocht.
+
Vergeet niet daarna het grub te herstellen met:<br />
Hiermee kan via menu's eenvoudig worden gekozen wat men wil aanpassen en is het resultaat direct zichtbaar.
+
''sudo update-grub''
 +
 +
===Live versie starten===
 +
Met '''Grml-rescueboot''' kan via het grub-menu een Linux Mint distributie.iso worden gestart.
  
* Grub achtergrond thema's
+
Het programma kan met [[SoftwareBeheer]] worden geïnstalleerd.
Snuister eens wat rond op de websites [http://gnome-look.org gnome-look] en [http://kde-look.org kde-look] en zoek op grub2.
 
  
De installatie van achtergronden kan ook in de Terminal. (zie hiervoor Grub-customizer)
+
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 <code>sudo update-grub</code>.
 +
: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===
 +
[[Bestand:G2 splash color-edit.png|thumb|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 [http://gnome-look.org gnome-look] en [http://kde-look.org kde-look] en zoek op grub2.
 +
 
 +
;Grub-custom|Grub-customizer
 +
Met [[Grub-custom|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 ==
 +
[[Bestand:GrubRecover.png|thumb|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 [[Bijwerkbeheer-18.2#Menu_Tonen|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)
 +
:<code>sudo update-grub</code>
 +
:Hierdoor zal de huidige kernel de standaard kernel worden.
  
 
== Zie ook ==
 
== Zie ook ==
 +
* [https://forum.linuxmintnl.nl/viewtopic.php?f=7&t=5720 Grub-kopie op USB-stick] LMNL forum.
 +
* [https://nl.wikipedia.org/wiki/BootX_(Linux) Oude bootloaders] Wikipedia
 
* [[Terminal#Bash_terminal| De bash-shell (terminal)]]
 
* [[Terminal#Bash_terminal| De bash-shell (terminal)]]
 
+
* [http://wiki.ubuntu-nl.org/community/Grub2/Grub2Bestanden Grub 2 handmatig bewerken] Ubuntu wiki
== Bronnen en referenties ==
+
* [https://makkelijkelinuxtips.blogspot.com Opstartlader Grub: hoe hem te repareren, aan te passen of te verwijderen] Makkelijkelinuxtips.
<references />
 
  
 
[[Categorie:Terminal]]
 
[[Categorie:Terminal]]

Huidige versie van 22 feb 2021 om 13:47

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.

Vergeet niet daarna het grub te herstellen met:
sudo update-grub

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