CentOS扩容boot分区并升级内核

本文作者CVE-柠檬i:https://www.cnblogs.com/CVE-Lemon

前言

由于安装k8s需要升级内核,但我自己的的boot分区只有200M大小,无法安装新内核,所以干脆把swap分区分给boot了。在此期间关于grub的操作踩了好多坑,所以特此记录一下正确操作。

使用rpm安装新内核,下载链接:https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm

操作

扩容分区

使用df -hT,可以看到boot只有190M,swap已经被关掉了,有4个G

复制/boot的文件:

复制代码
mkdir ~/bootbak
cp -a /boot/* ~/bootbak

取消挂载

复制代码
umount /boot

使用fdisk删除sda1和sda2,重新创建新的sda1

复制代码
fdisk /dev/sda
d
1
d
2
n
a
1

格式化分区

复制代码
mkfs.ext4 /dev/sda1

修改etc/fstab

复制代码
/dev/sda1	/boot                   ext4    defaults        1 2

恢复boot的文件

复制代码
mount /dev/sda1 /boot
cp -a ~/bootbak/* /boot

安装grub并重新生成grub配置文件。注意,安装grub是安装到磁盘而非分区。

复制代码
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

安装内核

安装内核:

复制代码
rpm -ivh kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm

查看并设置启动顺序

复制代码
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

grub2-set-default 0

重启验证

复制代码
reboot

升级成功:

复制代码
uname -r
相关推荐
sunoo-22911 分钟前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习
小雪崩21 分钟前
嵌入式学习 day33:线程进阶
linux·c语言·学习
牢姐与蒯31 分钟前
Linux进程(四).进程优先级以及进程切换,进程调度
linux·运维·服务器·ubuntu
大爱编程♡40 分钟前
Linux C 语言文件 IO 与构建工具实战指南
linux·服务器
Linux运维技术栈1 小时前
深度拆解 Linux logrotate 重复切割问题:根因、排查与生产级根治方案
linux·logrotate
ouynagda2 小时前
Linux多线程:互斥锁与信号量学习笔记
linux·笔记·学习
重生之我是Java开发战士2 小时前
【Java EE】认识Linux与项目部署
java·linux·java-ee
Tisfy2 小时前
LeetCode 3720.大于目标字符串的最小字典序排列:状态机 —— :从左往右枚举,失败则退回(最多退回一次)
linux·数据库·leetcode·字符串·状态机·构造
SKH.2 小时前
Linux软件编程(5)线程
java·linux·jvm
mounter6253 小时前
重构 Kexec Handover:Linux 内核如何将 KHO 打造为无状态、可重入的跨重启交接基石
linux·内存管理·linux kernel·kernel·liveupdate