在长期跑的PVE上,经过多次升级,有时候会累积了很多kernel(内核)版本,建议运行在最新的内核上,并保留上一个版本作为应急,其余都删除。
使用一个脚本可以按需清理不需要的Kernel:
bash -c "$(curl -fsSL https://dukeyin.com/shell/kernel-clean.sh)"
有时候我们会发现,内核虽然升级了新版本,但是PVE每次开机都还是使用老版本,查看当前版本的命令:
uname -r
并不是已经安装了的最新版。
如此可以检查是不是某个内核版本被Pin了:
首先列出所有已安装的内核:
pve-efiboot-tool kernel list
如果发现有内核被Pin了,则可以通过以下命令取消Pin
pve-efiboot-tool kernel unpin
完成后再用上上个命令list一下,看看Pin是否取消了。
最好只使用系统的自动选择Kernels。但是假如你哪天想强制使用某个内核,就可以Pin它:
pve-efiboot-tool kernel pin 6.14.11-2-pve
修改了内核Pin,需要刷新一下启动工具:
proxmox-boot-tool refresh
然后没什么事了就重启
reboot
等重启完成之后,再验证一下内核是否是最新的了
uname -r
假如ok了的话,可以再次使用本文开头的脚本删除多余的内核。
假如脚本删不掉旧内核?
检查已经安装的内核包有几个:
pve-efiboot-tool kernel list
列出两个以上的话,想卸载旧的那(几)个
举例说,有更新的内核,而我们要卸载 6.14.11-4-pve 这个老内核
步骤 1:卸载 6.14 元包(必须第一步)
apt remove proxmox-kernel-6.14 -y
步骤 2:卸载 6.14 内核映像(signed + unsigned)
apt remove proxmox-kernel-6.14.11-4-pve-signed proxmox-kernel-6.14.11-4-pve -y
步骤 3:清理依赖
apt autoremove --purge -y
步骤 4:刷新 EFI 引导记录
pve-efiboot-tool refresh
#PVE