Skip Navigation

Grub-btrfs troubles

Hello all, I'm having some network problems on my server (Ubuntu Lunar Lobster Server Edition), namely my plex port is no longer reachable from outside the network despite it being port forwarded and allowed through ufw. A few days ago I used airvpn's eddie gui program, and it completely wrecked my network. Caused it to be completely cut off from internet when disabled, even with the killswitch function off.

I rolled back to a snapshot I'd made earlier using snapper and grub-btrfs and thought the problem was solved. But while I regained the ability to access the internet, it still seems to have messed something up. I can't seem to get my kernel upgraded. I have 6.2.0-25 installed, but I can only boot into 6.2.0-24, even when I apt removed the older kernel. I believe this is what is causing my networking issues, though even if it's not I'd need a solution so as to be able to keep my kernel updated.

I'm at a bit of a loss at this point and am wondering if I've dug myself in too deep with grub-btrfs. I'm contemplating getting a fresh image on there and sticking to manual use of snapper.

Any help would be much appreciated, thanks.

16
16 comments
  • Did you setup this server with a boot partition?

    Rolling back the root subvolume with an older kernel could create a mismatch to the boot partitions kernel. Not sure if that's contributing to your problem, but might be worth looking into.

  • Have you tried a normal "grub-update" command to make sure it gets the right kernel to boot up for you? Not 100% familiar with Ubuntu, but perhaps that's all you'd need to run to get it booting to the right version.

    • Yes, I've done that to no avail. And when I run "dpkg -l | grep linux-image" it shows I have five different kernels on my system, despite me only having the latest one installed through apt. Edit: Scratch that, I think I was misreading the input but the fact remains I can't seem to get rid of 6.2.0-24

      • Edit: autocorrect being annoying

        Again, no Ubuntu expert here, so do this at your own risk (someone jump in and say this is a bad idea if it is). Not irreversible as you can just revert what I'm telling you via live CD, but just wanted to leave the warning.

        If uname -r shows the old kernel *-24, and grub update is choosing that instead of *-25, perhaps Ubuntu relies on the last change/created date or something weird. What you can check is if *-24 AND *-25 show up in /usr/src. If both are there, do (as root/sudo): mv /usr/src/*6.2.0-24* /root. Now run grub-update again. I think it should tell you which version it chose for the boot menu.

        Next try: grep 6.2.0 /boot/grub/grub.cfg to verify you see the new version.

        • If you see it, reboot and see if it starts with it. If you can't boot, go through the liveCD and move that directories back to /usr/src, chroot to the drive (see https://www.turnkeylinux.org/docs/chroot-to-repair-system for how to do this properly), and after chrooting, run grub-update again.
        • If you don't see it or get nothing back from grep, move the directory back and re-run grub-update to avoid not being able to boot back in. This wasn't the fix we were hoping for.

        ^ this is all assuming Ubuntu puts its kernels in /usr/src and uses that location as reference to what's available/installed. If you see nothing there, then something else will need to be attempted

        Edit 2: another thing to check is if the compiled kernels are in /boot. Basically follow the same instructions above but use /boot/*-24 instead. This might actually be what needs to be done now that I think about it, not necessarily /usr/src.

You've viewed 16 comments.