Problemen op een draaiend systeem maken menigeen al nerveus. Maar een pc die niet wil booten, betekent voor veel gebruikers meteen einde oefening. Maar je hoeft je daar helemaal niet zo snel bij neer te leggen. Hoe hopeloos het er ook uitziet, je kunt nog altijd aan je systeem sleutelen om het weer aan de praat te krijgen. Benieuwd hoe dat werkt? Lees dan snel verder!
Het originele artikel is geschreven door Serge Gielkens.
Om op te starten doorloopt je pc een aantal stappen. Bij elk daarvan kan het misgaan, maar met enige kennis van zaken lukt het vaak om je computer weer vlot te trekken. Helemaal aan het begin net na het opstarten heb je wel te maken met een volledig andere omgeving dan Linux. Dat is de wereld van GRUB. Die schrikt veel gebruikers af, maar dat is niet nodig. Daar kan namelijk meer dan je denkt.
De bootloader is verantwoordelijk voor het opstarten van je besturingssysteem. Bij Linux doet GRUB dat. Die toont in een menu de boot-opties, bijvoorbeeld of je Linux of Windows wil opstarten op een dualboot-systeem. Als GRUB dat menu niet kan vinden, dan kom je in zijn shell:
grub>
Deze is nog best uitgebreid. Zo werk tab-completion net als op Linux. Om vanaf hier Linux handmatig op te starten heb je de kernel nodig met initiële ramdisk en het root filesysteem. Haal eerst een lijst op met devices:
ls (hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
In dit geval hebben we één harde schijf (hd0) met drie partities. De eerste is (hd0,gpt1). Op een systeem met het oudere MBR partitioneringsformaat zie je in plaats daarvan (hd0,msdos1). Zoek nu naar de kernel en ramdisk door voor elke partitie een lijst met bestanden op te vragen. Voor de eerste partitie doe je dat zo:
ls (hd0,1)/
Let op de eind-slash! De naam van de kernel begint met ‘vmlinuz’, terwijl dat voor de ramdisk ‘initramfs’ of ‘initrd’ is. Zoek op dezelfde manier de root-partitie, herkenbaar aan directories als /etc. Bij ons is dat (hd0,3). Als je geen aparte boot-partitie hebt, vind je hier onder /boot de kernel en ramdisk. Toon nu de inhoud van fstab:
cat (hd0,3)/etc/fstab
De string vóór het mount point ‘/’ is de root-parameter voor de kernel. Vaak begint die met ‘UUID=‘. Laad hiermee de kernel in:
linux (hd0,2)/vmlinuz-5.2.6-200.fc30.x86_64 root=UUID=b16eb496-ebcc-449e-8ee4-880757419dcd
Bij ons is (hd0,2) de boot-partitie. Gebruik als kernel-versie en root-parameter de waarden op jouw systeem. Laad vervolgens de ramdisk in het geheugen:
initrd (hd0,2)/initramfs-5.2.6-200.fc30.x86_64.img
Zorg in geval van meerdere kernels op je systeem dat de versies van vmlinuz en initramfs identiek zijn. Boot nu de pc:
boot
Genereer na het inloggen de correcte GRUB-configuratie. Mint gebruikt daarvoor update-grub. Op Fedora tik je in:
sudo grub2-mkconfig --output=/boot/efi/EFI/fedora/grub.cfg
Let goed op dat je het juiste uitvoerbestand gebruikt. Op oudere BIOS-systemen is dat bijvoorbeeld /boot/grub2/grub.cfg.
Distributies zijn geneigd om boot-meldingen te verbergen, waardoor je niet ziet op welk punt de pc blijft hangen. Via het GRUB-menu pas je dat aan, maar dit schiet soms snel voorbij. Mint toont het zelfs helemaal niet. Gebruik dan direct na het opstarten de Esc-toets om het menu te zien.
Met de bovenste menuregel start je gewoonlijk het systeem op. Druk op de e-toets om deze te bewerken. Beweeg de cursor naar beneden, totdat je ‘linux’ ziet staan met daarachter het pad naar de kernel samen met zijn parameters. Haal hiervan de opties ‘quiet’ en ‘splash’ weg en gebruik vervolgens Ctrl+x om te booten. Nu rollen de meldingen over je scherm.
Deze aanpassing via het GRUB-menu is tijdelijk. Bij een volgende boot zie je dus wederom niets. Maak dit permanent door het bestand /etc/default/grub aan te passen. Ga hier naar de regel die begint met ‘GRUB_CMDLINE_LINUX’, en verwijder daar ‘quiet splash’. Genereer dan net als hierboven het nieuwe configuratiebestand voor GRUB.
Inzicht door bootmeldingen
De kernel-parameters zijn ook nuttig om een weerbarstig boot-proces aan de praat te krijgen. Een optie die nogal eens wil helpen om een hangend systeem weer vlot te trekken, is acpi=off. Power management doet het daardoor niet meer. Je laptop schakelt zich bijvoorbeeld niet meer zelf uit na een shut down. Dat moet je dan met de aan-uitknop doen.
Verder zijn de opties ‘noapic’ en ‘nolapic’ de moeite van het proberen waard. Consequentie van die laatste is wel dat je nog maar één werkende core hebt. Zoals je merkt kleven er behoorlijke nadelen aan deze opties, maar je kunt in ieder geval vanuit een werkend systeem verder.
Kernel drivers kunnen elkaar ook in de weg zitten. Als je de officiële Nvidia drivers hebt geïnstalleerd, conflicteren die met de open source variant nouveau. Je grafische omgeving werkt dan niet of slecht. Verhinder daarom het laden van nouveau door de kernel-parameter ‘module_blacklist=nouveau’.
Bij sommige distributies heb je in het GRUB-menu speciale opties om weer een werkend systeem te krijgen. Zo heb je bij Mint de ‘Advanced options’. Kies die en selecteer in het volgende scherm de regel die eindigt op ‘(recovery mode)’. Je krijgt dan een aantal mogelijkheden die het booten mogelijk weer op gang brengen, zoals het vrijmaken van diskruimte of een check van het bestandssysteem.
Op Debian vind je ook een dergelijke modus. Daarmee beland je eigenlijk in single user modus, dat wil zeggen, je logt in als root op een minimaal systeem. Onder andere heb je geen netwerk. Je bereikt hetzelfde trouwens door de kernel-parameter ‘single’.
Soms stokt het boot-proces bij de laatste fase en blijft het grafische inlogscherm achterwege. Druk dan op Ctrl+Alt+F2. Als het boot-proces probleemloos is afgerond op de grafische omgeving na, zie je hier een login prompt. Gebruik dit om in te loggen op de tekstconsole. Je hebt weliswaar geen grafische desktop, maar verder een volledig functionele omgeving. Controleer hier bijvoorbeeld de status van de display manager. Die verzorgt het grafische inlogscherm. Op Mint 19 tik je daartoe in:
systemctl status lightdm
Op een KDE-desktop zie je vaak sddm, terwijl bij Gnome standaard gdm de display manager is. Om terug te keren naar het grafische scherm gebruik je op Mint de combinatie Ctrl+Alt+F7. Bij andere distributies is dat soms Ctrl+Alt+F1.
Mocht niks werken, pak dan een live CD of USB. Door hiervan te booten heb je toegang tot je bestanden en kun je het probleem hopelijk alsnog oplossen. Als laatste geschut heb je Super Grub2 Disk. Die doet zijn uiterste best om GRUB-configuraties en kernels te vinden om daarmee je systeem te booten.
Super Grub2 Disk: supergrubdisk.org
Distributies zijn geneigd om boot-meldingen te verbergen, waardoor je niet ziet op welk punt de pc blijft hangen