• Kernel Panic i Linux – Vad det är, hur du framkallar det och hur du löser det

    Gurumeditera? Det är fel OS, Herr Tux – det är kernelpanik som gäller.

    Plötsligt fryser din Linuxdator. Skärmen fylls med teknisk text och det sista du ser är ett meddelande i stil med:
    “Kernel panic – not syncing: Attempted to kill init!”

    För en ovan användare kan detta vara skrämmande, men i själva verket är en kernel panic Linuxkärnans sätt att skydda sig från att gå sönder på riktigt. I denna artikel går vi igenom vad en kernel panic är, hur man på ett säkert sätt kan framkalla en sådan för teständamål, och – viktigast av allt – hur man felsöker och återställer systemet efter en krasch.

    Vad är en kernel panic?

    En kernel panic uppstår när Linuxkärnan stöter på ett allvarligt fel som den inte kan hantera. Det kan röra sig om skadad minnesåtkomst, fel i en drivrutin eller att en viktig systemkomponent saknas. När det händer stoppar kärnan all aktivitet och ”panikar” – för att skydda systemet från dataförlust eller korruption.

    Det är i praktiken samma sak som att dra i handbromsen när bilen börjar slira på is – allt stannar direkt.

    Vanliga orsaker till kernel panic

    Kernel panics kan uppstå av flera olika skäl. Här är några vanliga orsaker:

    • Felaktig hårdvara: trasigt RAM, överhettning eller hårddiskfel.
    • Drivrutiner som inte passar: särskilt tredjepartsmoduler som inte stämmer med kärnversionen.
    • Saknade eller trasiga systemfiler: till exempel /sbin/init, initramfs eller en felaktig /etc/fstab.
    • Problem i GRUB: felaktiga UUID:er, saknade kernel-poster eller initrd-filer.
    • Användarfel: att av misstag ta bort viktiga filer eller döda process ID 1.

    Så här simulerar du en kernel panic (i testmiljö)

    Varning: Testa aldrig detta på ett produktionssystem! Använd en virtuell maskin eller isolerad testmiljö.

    Metod 1: Använd SysRq-trigger

    Det finns en inbyggd mekanism i Linux som tillåter utvecklare att utlösa kernel panics manuellt för teständamål.

    1. Aktivera systemets sysrq-funktion: echo 1 | sudo tee /proc/sys/kernel/sysrq
    2. Utlös en kernel panic: echo c | sudo tee /proc/sysrq-trigger

    Systemet fryser direkt, och kernel panic-meddelandet visas.

    Metod 2: Ladda “crash”-modul

    Vissa Linuxkärnor innehåller en modul som heter crash. Om den finns:

    sudo modprobe crash
    

    Om modulen inte hittas kan du kontrollera dess tillgänglighet med:

    modinfo crash
    

    Så felsöker du en kernel panic

    När du fått en kernel panic gäller det att lugnt och metodiskt reda ut vad som gått fel.

    1. Starta om och kontrollera loggar

    Systemet kommer att vara fruset. Starta om med hård omstart. Kontrollera sedan loggar:

    journalctl -xb
    

    eller:

    dmesg | less
    cat /var/log/kern.log | less
    

    Sök efter nyckelord som panic, BUG, segfault, VFS, eller felaktiga moduler.

    2. Boota i en tidigare kärnversion

    Om problemet började efter en kärnuppdatering:

    1. Starta om och gå till GRUB-menyn.
    2. Välj Advanced options.
    3. Välj en tidigare kärna, t.ex. 5.15.x istället för 6.x.

    Vill du sätta en äldre kärna som standard:

    sudo grub-set-default 1
    

    3. Bygg om initramfs

    En trasig initramfs (initialt ramfilsystem) kan stoppa hela bootkedjan.

    Kör följande kommando:

    sudo update-initramfs -u -k all
    

    Eller bara för aktuell kärna:

    sudo update-initramfs -c -k $(uname -r)
    

    Starta om när det är klart:

    sudo reboot
    

    4. Reparera filsystem

    Om kernel panic-meddelandet säger att root-filsystemet inte kan monteras – kör fsck.

    1. Lista partitioner: lsblk
    2. Kör filsystemskontroll: sudo fsck /dev/sda1

    Ersätt /dev/sda1 med rätt partition.

    5. Kontrollera hårddisk och RAM

    Felaktig hårdvara är en vanlig bov.

    Använd smartctl för att läsa ut diskinformation:

    sudo smartctl -a /dev/sda
    

    Håll utkik efter attribut som:

    • Reallocated_Sector_Ct
    • Current_Pending_Sector

    Om värdena stiger: disken är på väg att ge upp – byt den snarast.


    6. Reparera GRUB och fstab

    Om bootloadern inte hittar rätt partition → panic.

    1. Starta från en live-USB.
    2. Montera rootpartitionen: sudo mount /dev/sda1 /mnt
    3. Installera GRUB igen: sudo grub-install --root-directory=/mnt /dev/sda sudo update-grub
    4. Kontrollera /etc/fstab och UUID:er: blkid

    Förebygg kernel panics – så gör du rätt från början

    • Undvik att röra kärnfiler om du inte vet vad du gör.
    • Testa nya kärnor i en testmiljö innan du uppdaterar på skarpa system.
    • Använd LTS-kärnor om du prioriterar stabilitet.
    • Ha alltid minst två kärnor installerade.
    • Aktivera kdump om du vill samla in kraschanalys.

    Bonus: Automatisk omstart efter panic

    För servrar är det ofta bättre att de startar om sig själva efter en krasch:

    Lägg till i /etc/sysctl.conf:

    kernel.panic = 10
    

    Ladda inställningen:

    sudo sysctl -p
    

    Sammanfattning

    En kernel panic är ett allvarligt fel, men inte en katastrof – så länge du vet hur du ska felsöka. I de flesta fall går det att reda ut orsaken och få systemet på fötter igen med rätt verktyg och metodik.

    Har du en testmiljö? Simulera en kernel panic själv – och öva på att reparera den. Det är ett av de bästa sätten att växa som Linuxanvändare.

Kernel Panic i Linux – Vad det är, hur du framkallar det och hur du löser det

Gurumeditera? Det är fel OS, Herr Tux – det är kernelpanik som gäller.

Plötsligt fryser din Linuxdator. Skärmen fylls med teknisk text och det sista du ser är ett meddelande i stil med:
“Kernel panic – not syncing: Attempted to kill init!”

För en ovan användare kan detta vara skrämmande, men i själva verket är en kernel panic Linuxkärnans sätt att skydda sig från att gå sönder på riktigt. I denna artikel går vi igenom vad en kernel panic är, hur man på ett säkert sätt kan framkalla en sådan för teständamål, och – viktigast av allt – hur man felsöker och återställer systemet efter en krasch.

Vad är en kernel panic?

En kernel panic uppstår när Linuxkärnan stöter på ett allvarligt fel som den inte kan hantera. Det kan röra sig om skadad minnesåtkomst, fel i en drivrutin eller att en viktig systemkomponent saknas. När det händer stoppar kärnan all aktivitet och ”panikar” – för att skydda systemet från dataförlust eller korruption.

Det är i praktiken samma sak som att dra i handbromsen när bilen börjar slira på is – allt stannar direkt.

Vanliga orsaker till kernel panic

Kernel panics kan uppstå av flera olika skäl. Här är några vanliga orsaker:

  • Felaktig hårdvara: trasigt RAM, överhettning eller hårddiskfel.
  • Drivrutiner som inte passar: särskilt tredjepartsmoduler som inte stämmer med kärnversionen.
  • Saknade eller trasiga systemfiler: till exempel /sbin/init, initramfs eller en felaktig /etc/fstab.
  • Problem i GRUB: felaktiga UUID:er, saknade kernel-poster eller initrd-filer.
  • Användarfel: att av misstag ta bort viktiga filer eller döda process ID 1.

Så här simulerar du en kernel panic (i testmiljö)

Varning: Testa aldrig detta på ett produktionssystem! Använd en virtuell maskin eller isolerad testmiljö.

Metod 1: Använd SysRq-trigger

Det finns en inbyggd mekanism i Linux som tillåter utvecklare att utlösa kernel panics manuellt för teständamål.

  1. Aktivera systemets sysrq-funktion: echo 1 | sudo tee /proc/sys/kernel/sysrq
  2. Utlös en kernel panic: echo c | sudo tee /proc/sysrq-trigger

Systemet fryser direkt, och kernel panic-meddelandet visas.

Metod 2: Ladda “crash”-modul

Vissa Linuxkärnor innehåller en modul som heter crash. Om den finns:

sudo modprobe crash

Om modulen inte hittas kan du kontrollera dess tillgänglighet med:

modinfo crash

Så felsöker du en kernel panic

När du fått en kernel panic gäller det att lugnt och metodiskt reda ut vad som gått fel.

1. Starta om och kontrollera loggar

Systemet kommer att vara fruset. Starta om med hård omstart. Kontrollera sedan loggar:

journalctl -xb

eller:

dmesg | less
cat /var/log/kern.log | less

Sök efter nyckelord som panic, BUG, segfault, VFS, eller felaktiga moduler.

2. Boota i en tidigare kärnversion

Om problemet började efter en kärnuppdatering:

  1. Starta om och gå till GRUB-menyn.
  2. Välj Advanced options.
  3. Välj en tidigare kärna, t.ex. 5.15.x istället för 6.x.

Vill du sätta en äldre kärna som standard:

sudo grub-set-default 1

3. Bygg om initramfs

En trasig initramfs (initialt ramfilsystem) kan stoppa hela bootkedjan.

Kör följande kommando:

sudo update-initramfs -u -k all

Eller bara för aktuell kärna:

sudo update-initramfs -c -k $(uname -r)

Starta om när det är klart:

sudo reboot

4. Reparera filsystem

Om kernel panic-meddelandet säger att root-filsystemet inte kan monteras – kör fsck.

  1. Lista partitioner: lsblk
  2. Kör filsystemskontroll: sudo fsck /dev/sda1

Ersätt /dev/sda1 med rätt partition.

5. Kontrollera hårddisk och RAM

Felaktig hårdvara är en vanlig bov.

Använd smartctl för att läsa ut diskinformation:

sudo smartctl -a /dev/sda

Håll utkik efter attribut som:

  • Reallocated_Sector_Ct
  • Current_Pending_Sector

Om värdena stiger: disken är på väg att ge upp – byt den snarast.


6. Reparera GRUB och fstab

Om bootloadern inte hittar rätt partition → panic.

  1. Starta från en live-USB.
  2. Montera rootpartitionen: sudo mount /dev/sda1 /mnt
  3. Installera GRUB igen: sudo grub-install --root-directory=/mnt /dev/sda sudo update-grub
  4. Kontrollera /etc/fstab och UUID:er: blkid

Förebygg kernel panics – så gör du rätt från början

  • Undvik att röra kärnfiler om du inte vet vad du gör.
  • Testa nya kärnor i en testmiljö innan du uppdaterar på skarpa system.
  • Använd LTS-kärnor om du prioriterar stabilitet.
  • Ha alltid minst två kärnor installerade.
  • Aktivera kdump om du vill samla in kraschanalys.

Bonus: Automatisk omstart efter panic

För servrar är det ofta bättre att de startar om sig själva efter en krasch:

Lägg till i /etc/sysctl.conf:

kernel.panic = 10

Ladda inställningen:

sudo sysctl -p

Sammanfattning

En kernel panic är ett allvarligt fel, men inte en katastrof – så länge du vet hur du ska felsöka. I de flesta fall går det att reda ut orsaken och få systemet på fötter igen med rätt verktyg och metodik.

Har du en testmiljö? Simulera en kernel panic själv – och öva på att reparera den. Det är ett av de bästa sätten att växa som Linuxanvändare.