linux:/boot分区满了?
Linux Boot 分区空间不足问题及解决方法
Boot 分区为什么会满?
在 Linux 系统中,boot 分区用于存储启动系统所需的文件,包括内核文件(vmlinuz)、初始化内存文件(initrd.img 或 initramfs)以及引导加载程序(如 GRUB)的相关文件。通常情况下,boot 分区的默认大小为 200 - 500 MB,这在大多数场景下是足够的。然而,随着系统内核的频繁升级,旧的内核文件会不断累积在 boot 分区中,而这些旧文件并不会自动删除。随着时间推移,这些累积的文件会逐渐填满整个 boot 分区。
当 boot 分区空间不足时,可能会导致系统无法正常更新内核,甚至在某些情况下,可能会影响系统的正常启动。因此,定期清理 boot 分区中的旧内核文件是非常重要的。
解决方法
一、Ubuntu 系统
1. 查看当前使用的内核版本
uname -a
运行此命令可以获取当前正在使用的内核版本信息。例如:
Linux ubuntu 5.15.0-46-generic #49-Ubuntu SMP Fri Jul 8 09:47:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
从输出中可以看到当前使用的内核版本为 5.15.0-46-generic。
2. 列出所有已安装的内核版本
dpkg --get-selections | grep linux-image
运行此命令可以列出系统中所有已安装的内核版本。例如:
linux-image-5.15.0-46-generic install
linux-image-5.15.0-48-generic install
linux-image-5.15.0-50-generic install
3. 删除多余的内核版本
选择不再需要的内核版本进行删除。例如,删除 linux-image-5.15.0-46-generic:
sudo apt-get remove linux-image-5.15.0-46-generic
删除完成后,可以使用以下命令清理残留的配置文件:
sudo apt-get autoremove
二、CentOS 系统
1. 查看当前使用的内核版本
uname -a
运行此命令可以获取当前正在使用的内核版本信息。例如:
Linux centos 3.10.0-1160.49.1.el7.x86_64 #1 SMP Tue Jan 26 15:21:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
从输出中可以看到当前使用的内核版本为 3.10.0-1160.49.1.el7.x86_64。
2. 列出所有已安装的内核版本
rpm -qa | grep kernel
运行此命令可以列出系统中所有已安装的内核版本。例如:
kernel-3.10.0-1160.49.1.el7.x86_64
kernel-3.10.0-1160.62.1.el7.x86_64
kernel-3.10.0-1160.76.1.el7.x86_64
3. 删除多余的内核版本
选择不再需要的内核版本进行删除。例如,删除 kernel-3.10.0-1160.49.1.el7.x86_64:
rpm -e kernel-3.10.0-1160.49.1.el7.x86_64
如果提示依赖性问题,可以使用 --nodeps 参数强制删除:
rpm -e --nodeps kernel-3.10.0-1160.49.1.el7.x86_64
4. 查看清理结果
ls /boot
运行此命令可以查看 /boot 分区中的文件,确认旧的内核文件已被删除。
总结
当 Linux boot 分区因旧内核文件积累而空间不足时,可以通过以下步骤解决问题:
- 检查当前使用的内核版本:使用
uname -a命令。 - 列出所有已安装的内核版本:
- Ubuntu:
dpkg --get-selections | grep linux-image - CentOS:
rpm -qa | grep kernel
- Ubuntu:
- 删除不再需要的内核版本:
- Ubuntu:
sudo apt-get remove linux-image-<版本号> - CentOS:
rpm -e kernel-<版本号>或rpm -e --nodeps kernel-<版本号>
- Ubuntu:
- 清理残留文件(Ubuntu):
sudo apt-get autoremove
定期清理旧的内核版本不仅可以释放宝贵的磁盘空间,还能优化系统资源,确保 boot 分区的正常运行。

浙公网安备 33010602011771号