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.
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.
Yes, I have a separate boot partition. How would I fix a mismatch? The only posible solution I've found is to directly edit the grub entries, but that's a bit beyond what I've done with grub before. Thanks for the response!
Only thing I can think of is the subvolumes left over might be causing an issue. I don't know how snapper performs a rollback and I've seen a couple ways to do it. Sometimes its modifying the default subvolume to the snapshot you want to rollback to. This is fine IF your kernel params are NOT specifying the subvol. That would look like this rootflags=subvol=subvolume_name.
Usually I just rename the subvols and make sure the snapshot I'm renaming to replace the current root subvol is not set to read only.
So rename current root to root.broken
Then rename snapshot to root
Then set readonly prop to false.
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
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.