Ubuntu删除多余内核教程
发布时间:2025-05-16 00:03       
Ubuntu 删除多余内核教程 🧹
Ubuntu 在系统更新时会自动安装新内核,但旧内核不会自动删除,导致 /boot 分区空间不足 或 启动菜单杂乱。本教程详细介绍如何 安全删除旧内核,释放磁盘空间并优化系统。
📌 一、为什么要删除旧内核?
- 节省磁盘空间:每个内核占用约 200MB~500MB,长期积累会占满
/boot分区。 - 减少启动项:避免 GRUB 菜单出现多个无用内核选项。
- 降低维护负担:旧内核可能存在安全风险,建议仅保留 1~2 个备用内核。
📌 二、查看当前已安装的内核
方法1:使用 dpkg 列出所有内核
dpkg --list | grep linux-image
输出示例:
ii linux-image-5.15.0-76-generic 5.15.0-76.83 amd64 Signed kernel image generic
ii linux-image-5.15.0-78-generic 5.15.0-78.85 amd64 Signed kernel image generic
rc linux-image-5.15.0-60-generic 5.15.0-60.66 amd64 Signed kernel image generic
ii表示已安装rc表示已卸载(但可能有残留配置)
方法2:查看当前正在使用的内核
uname -r
示例输出:
5.15.0-78-generic
⚠️ 注意:不要删除正在使用的内核,否则可能导致系统无法启动!
📌 三、删除旧内核(3种方法)
方法1:手动删除(推荐)
- 列出所有可删除的旧内核(排除当前使用的):
sudo apt purge $(dpkg --list | grep linux-image | awk '{print $2}' | grep -v $(uname -r)) - 同时删除关联的
linux-headers(可选):sudo apt purge $(dpkg --list | grep linux-headers | awk '{print $2}' | grep -v $(uname -r | sed 's/-generic//')) - 清理残留配置:
sudo apt autoremove --purge
方法2:使用 apt autoremove(自动清理)
sudo apt autoremove --purge
适用场景:
- 适用于 Ubuntu 自动标记为“可卸载”的旧内核。
- 不会删除手动安装的内核,可能仍有残留。
方法3:使用 purge-old-kernels(Ubuntu 官方推荐)
- 安装
byobu(含该工具):sudo apt install byobu - 运行清理(保留最近 2 个内核):
sudo purge-old-kernels --keep 2
优点:
- 自动识别并保留最新内核,避免误删。
📌 四、更新 GRUB 启动菜单
删除内核后,需更新 GRUB 以移除无效启动项:
sudo update-grub
验证是否生效:
sudo grep "menuentry" /boot/grub/grub.cfg
输出应仅显示保留的内核。
📌 五、检查 /boot 分区空间
df -h /boot
示例输出:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1.9G 1.2G 600M 67% /boot
如果 Use% 接近 100%,说明仍需清理。
📌 六、常见问题 ❓
Q1:误删正在使用的内核怎么办?
- 解决方法:
- 重启进入 GRUB 高级选项,选择另一个内核启动。
- 重新安装内核:
sudo apt install linux-image-generic
Q2:/boot 已满,无法安装新内核?
- 临时解决方案:
sudo apt clean # 清理软件包缓存sudo apt autoremove --purge # 删除旧内核
Q3:如何禁止自动安装新内核?
- 方法:
sudo apt-mark hold linux-image-generic linux-headers-generic