我在瘦客户端上运行 Ubuntu 作为无头家庭服务器。几个月前我已经升级到 23.10,但我意识到从那时起我就一直使用内核 6.2.0。
运行sudo apt update、sudo apt update或sudo apt dist-upgrade对我没有任何帮助(一切似乎都是最新的)。
运行lsb_release -a让我
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 23.10
Release: 23.10
Codename: mantic
所以我确定我的时间是 23.10。
我对 Linux 还很陌生,所以我不知道该怎么做,抱歉^^'。
编辑1: 正如评论中提到的,我做到了
sudo apt-mark auto `apt-mark showmanual | grep linux`
然后apt-update和apt-upgrade,但什么也没有。更奇怪的是我的 /boot/grub/ 只提到了类似的东西
linux /boot/vmlinuz-6.5.0-25-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro
initrd /boot/initrd.img-6.5.0-25-generic
里面没有任何与 6.2.0 内核相关的内容。Ubuntu 是机器上安装的唯一操作系统。
uname -r仍然输出6.2.0-35-generic。
编辑2: 运行sudo update-grub然后重新启动,sudo apt-update和sudo apt-upgrade告诉我一切都是最新的,并且uname -a stills 保持不变:
Linux 6.2.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC 10 月 3 日星期二 13:14:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
作为参考,这里是我的 /boot/grub/grub.cfg 的内容:https://pastebin.com/snBWFJUA 奇怪的是,一切都与内核 6.5 相关,在 /boot 中我只有这些文件:
config-6.5.0-25-generic
initrd.img-6.5.0-25-generic
System.map-6.5.0-25-generic
vmlinuz-6.5.0-25-generic
编辑 3:根据要求提供 完整的启动修复报告: https ://pastebin.com/DQqRtG2q
你需要运行:
然后,只有到那时,你才应该运行:
第一个命令
sudo apt update
更新需要更新的软件包列表(它检查可用更新)。如果不更新软件包列表,您的系统将永远不会知道哪些软件包已过期或未过期。因此,在运行任何其他命令来安装或升级软件包之前,我们应该始终
sudo apt update
每天至少运行一次。apt
奇怪的是,我注意到我的 Ubuntu 23.10 虚拟机也没有更新内核——所有其他预期的更新都在工作。看一下手动设置:
如果您获得像 linux-image-generic-14 这样的条目,那么这就解释了为什么他们没有获得更新。
将它们设置回“自动”:
(或者只是从之前的 apt-mark 输出中剪切并粘贴)。
然后执行
你也应该得到新的内核。
我的计算机分为 3 个分区:1- BIOS/grub、2- 启动文件、3- ubuntu。
由于某种原因,我的引导分区在 Ubuntu 中被卸载,因此无法识别。当我尝试使用 apt Upgrade 进行更新时,Ubuntu 将文件放入其自己分区(第三个分区)的启动文件夹中。
但是,由于 Grub 是从 Boot 分区(第 2nde 个分区)中的文件引导,因此 ubuntu 分区的 boot 文件夹中更新的任何文件都将被忽略。
我只需在 Ubuntu 中将启动分区重新挂载为 /boot 即可,瞧!
非常感谢@ubfan1 和其他人的帮助。