Linux parallel gebruiken: problemen en oplossingen

Alieke van Sommeren
0

Inhoudsopgave

Ubuntu en andere Linux-varianten naast elkaar installeren lijkt simpel zat, want de ene distributie neemt automatisch de andere mee in zijn bootmenu. Maar bij zo’n parallelle installatie loop je alsnog kans op wat struikelblokken. We bespreken een aantal mogelijke problemen en oplossingen bij Linux parallel gebruiken.

Linux parallel naast elkaar gebruiken boot problemen oplossingen bootmenu

Oude kernel

Sinds een paar weken gebruikt Ubuntu op mijn via UEFI bootende pc een verouderde kernel. Dit ondanks het feit dat ik bij het updaten al meerdere malen alles heb bijgewerkt. Kan dat liggen aan Linux Mint dat ik recent ernaast geïnstalleerd heb?

Je hebt Linux Mint als laatste geïnstalleerd, en blijkbaar start daardoor automatisch de bootmanager Grub van Linux Mint op. Die boot­manager krijgt niet automatisch mee wanneer een parallel geïnstalleerde Ubuntu een nieuwe kernel in gebruik neemt. Ubuntu geeft dat alleen aan via het hoofdconfiguratiebestand van zijn eigen Grub. Die wijziging blijft onopgemerkt, waardoor bij het starten van het menu grub.cfg van Linux Mint wordt geladen. Daarin staat de status van Ubuntu’s kernel die Mint op het moment van installeren of updaten van de distributie de beste keuze vond en waarna hij het configuratiebestand met de tool grub-mkconfig heeft aangemaakt.

Dit probleem is snel op te lossen, maar de fix is slechts een tijdelijke. Boot Linux Mint eenmalig en regel daarin via sudo update-grub een nieuwe grub.cfg. Daarbij ziet hij ook de nieuwe kernel. Voor het geval je distributie geen vergelijkbaar script biedt, gebruik dan de door dat soort scripts gebruikte grub-mkconfig of bij Fedora en een aantal andere distributies heet het commando grub2-mkconfig.

Deze stappen zijn slechts een workaround. Dit trucje moet je namelijk na elke kernel-update weer herhalen. Om de oorzaak te verhelpen, moet je wat dieper onder de motorkap gaan tweaken, zoals de volgende vragen in deze FAQ laten zien. Ze verklaren ook hoe je valkuilen kunt voorkomen. Want bij sommige distributies werkt de gebruikelijke workaround niet. Dit geldt bijvoorbeeld voor als je Fedora via een Grub van Linux Mint of ­Ubuntu boot.

Bootmanager wisselen

Naast Ubuntu heb ik bij wijze van test Linux Mint draaien, die zijn Grub als standaard bootmanager heeft ingesteld. Hoe zet ik dit weer om naar de Grub van Ubuntu?

Start Ubuntu op en open de commandline om ls /sys/firmware/efi/ uit te voeren. Zie je een aantal bestanden en mappen verschijnen? Dan betekent dit dat je Linux via UEFI boot. In dit geval kun je sudo grub-install uitvoeren om de Grub van Ubuntu opnieuw te installeren en de EFI Boot-entry opnieuw aan te maken. Dat laatste overschrijft de entry die Linux Mint heeft aangemaakt. Die kun je dan nu via de Grub van Ubuntu opstarten.

Mocht het ls-commando een fout opleveren, dan start je pc op de klassieke manier op, ook wel Legacy BIOS modus genoemd. Op de meeste systemen is de Grub van Ubuntu dan door het invoeren van sudo grub-install /dev/sda weer in te stellen als standaard bootmanager. Let wel op als je meer dan één disk in je systeem hebt zitten: dan moet je het commando aanpassen. Kijk in je BIOS set-up na vanaf welke disk Linux standaard opstart. Start dan Linux op om via het schijfbeheer (gnome-disks) de Linux-aanduidingen voor de disks uit te voegen. Deze moet je aan het commando grub-install toevoegen. Let hier weer op dat de aanduiding geen getal bevat, de bootcode moet in de eerste sector van de disk belanden en niet op een van de partities.

Linux parallel naast elkaar gebruiken boot problemen oplossingen UEFI BIOS bootmenu

Veel problemen met meerdere Linux-distributies naast elkaar zijn te voorkomen door ze via UEFI te booten en ze direct in het bootmenu van het BIOS te selecteren.

Onveilige kernel

Ik start Fedora op via de Grub van Ubuntu. Hoe­wel ik bij Ubuntu sudo update-grub heb uitge­voerd (zoals jullie mij aanraden) start Fedora op met een antieke kernel vol met veiligheidsgaten. Hoe komt dat?

Bij Mint en Ubuntu herkent grub-mkconfig de nieuwste kernel van Fedora vaak niet en valt dan terug op de oudste. De genoemde Linux-distributies zijn maar een voorbeeld, want je komt bij andere confi­guraties hetzelfde probleem tegen.

Bij pc’s die besturingssystemen via UEFI opstarten, is het probleem makkelijk te omzeilen. Start Fedora via zijn eigen UEFI-entry die je in het bootmenu van je BIOS (Bios Boot Select oftewel BBS) of in de bootvolgorde van je BIOS set-up kunt vinden. Deze komt uit bij de eigen Grub van Fedora. Via die route boot Fedora dan op dezelfde manier als bij pc’s waarbij geen Linux Mint parallel staat geïnstalleerd. Deze manier van werken vermijdt alle problemen die bij het parallel installeren van meerdere distributies op kunnen duiken.

Voor pc’s die nog op de klassieke manier opstarten bestaat geen vergelijkbare truc. De beste oplossing die niet al te veel moeite kost is bij een versie van Linux die met de standaard Grub werkt een script in /etc/grub.d/ aanmaken dat grub.cfg aanvult. Daarin laad je met het commando configfile een parallel geïnstalleerde Linux.

Voorheen hebben ervaren Linux-gebruikers het probleem opgelost door bij de tweede of als derde geïnstalleerde distributie wat code voor het aanroepen van Grub aan het begin van de bewuste bootpartitie te maken. De Grub van de als eerste geïnstalleerde Linux-distributie kan deze dan via chainloading laden. De documentatie en grub-install van de huidige versie van Grub raden echter sterk af om aan het begin van een partitie te installeren. Grub 2 kan hier namelijk niet betrouwbaar mee omgaan. De installers van veel Linux-distributies kunnen zo’n samengestelde mix van Linux-versies dan ook niet meer instellen.

Doorlezen is gratis, maar eerst even dit:

Dit artikel is met grote zorg samengesteld door de redactie van c’t magazine – het meest toonaangevende computertijdschrift van Nederland en België. Met zeer uitgebreide tests en praktische workshops biedt c’t de diepgang die je nergens online vindt.

Bekijk de abonnementen   Lees eerst verder

Strikt gescheiden parallel

Ik wil dezelfde distributie een tweede keer installeren. Daarbij wil ik geen last krijgen van problemen zoals in het voorbeeld van Linux Mint en Ubuntu worden beschreven. Kan ik niet elke installatie compleet onafhankelijk van elkaar starten, zoals dat bij een parallelle installatie van Fedora en Ubuntu op pc’s met UEFI ook kan? Ik bedoel dus via eigen UEFI-bootentry’s?

Dat is inderdaad mogelijk, maar daarvoor moet je wel een aantal dingen aanpassen. In het volgende voorbeeld gaat het om een naast Ubuntu geïnstalleerde Linux Mint. Op zo’n manier kun je ook deze twee zeer sterk aan elkaar verwante distributies dan volledig on­afhankelijk van elkaar naast elkaar gebruiken.

Bij het installeren van Mint moet je manueel partitioneren en een tweede ESP (EFI system partition) aanmaken, zodat de Grub van Mint niet de Grub van Ubuntu overschrijft. Na de installatie moet je dan voor allebei de distributies een eigen UEFI boot-entry aanmaken. Dit is nodig omdat ze allebei een entry met als label ‘Ubuntu’ aanmaken. Dit zorgt niet alleen dat de ene distributie de andere overschrijft bij het installatie, maar later herhaalt dit proces zichzelf ook weer als er updates zijn.

Met het onderstaande commando maak je bijvoorbeeld een UEFI-bootentry aan voor Ubuntu waarbij de ESP onder /dev/sda2 is te vinden:

sudo efibootmgr –create
–label ‘Mijn Ubuntu’
–disk /dev/sda –part 2
–loader ‘\EFI\ubuntu\shimx64.efi’

Roep het commando met kleine aanpassing nog een keer aan voor de tweede bootentry voor Linux Mint. Verander het label in iets als ‘Mijn Mint’ en verwissel het achter –part aangegeven partitienummer met de ESP van Linux Mint.

Welke bootmanager

Ik heb meerdere Linux-distributies naast elkaar geïnstalleerd. Hoe kan ik zien uit welke distributie de Grub komt die mij het bootmenu toont?

Een vuistregel is dat de Grub hoort bij de distri­butie die in het bootmenu helemaal bovenaan staat vermeld. Meestal is dat de bootmanager van de distributie die je als laatste hebt geïnstalleerd of die je als laatste hebt bijgewerkt. Als je alle twijfel wilt wegnemen, kun je via de commandline van Grub erbij pakken. De commandline open je door op het moment dat Grub het menu toont op ‘c’ te drukken. Voer dan het commando echo $root in. Grub geeft dan de partitie aan waar hij bij het booten standaard naar zijn eigen onderdelen zoekt, die na het booten van Linux onder /boot/grub/ staan. Bij een input van hd0,gpt7 hoort bijvoorbeeld de Grub een een versie van Linux die op de zevende partitie van de disk staat die het BIOS als eerste (hd0) instelt. Bij Linux is dat vaak (maar niet verplicht) /dev/sda.

Meer vragen en antwoorden vind je in c't sep/2019

Bootmanager wisselt heen en terug

Soms staat Ubuntu helemaal bovenaan in het menu van mijn bootmanager, daarna weer Linux Mint dat er parallel naast draait en ik af en toe gebruik. Hoe komt dat en hoe kan ik het voorkomen?

Een aantal distributies installeert Grub via grub-install opnieuw zodra ze bij het installeren een nieuwer Grub-pakket krijgen. Dit is een risico, maar het is de enige manier om bij klassiek booten zeker te weten dat de Grub-code in de eerste sectors van de disk met de bootdata wordt bijgewerkt. Het kan dus gebeuren dat als Mint een update krijgt, zijn Grub de rol als bootmanager overneemt, totdat er door een update van Ubuntu weer van stuivertje wordt gewisseld. Daardoor wisselt ook de volgorde in het menu (zie de eerdere vraag), omdat elke Grub een eigen configuratiebestand gebruikt. De stappen om dit te voorkomen verschillen tussen de diverse families binnen de distributies. In de Ubuntu-wereld regel je dit door bij een van de distributies sudo dpkg-reconfigure grub-pc op te roepen en op die manier het opnieuw instellen van Grub bij updates te voorkomen.

Andere problemen

Nog meer vragen en antwoorden vind je in het artikel in uitgave 9/2019 van c’t magazine. We bespreken geregeld deze en andere Linux-problemen in het magazine en op de website. Meer tips, nieuws en achtergrondinfo vind je ook in Linux-rubriek.

(Thorsten Leemhuis en Alieke van Sommeren, c’t magazine)

Lees uitgebreide achtergrondinfo op je gemak in c't mei/2020

Meer over

Software

Deel dit artikel

Lees ook

Overal back-uppen: snel en eenvoudig met het gratis Duplicati

Back-uppen zonder kosten, op allerlei apparaten? Duplicati is geheel gratis, snel geïnstalleerd en geconfigureerd en draait onder alle gangbare deskto...

Outlook thuis of onderweg gebruiken via het web

Overal toegang tot je werk e-mail? Je kunt Outlook thuis of onderweg gebruiken met de versie voor in een browser. Die webversie is soms zelfs praktisc...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er