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
相关推荐
mosaic_born5 分钟前
systemctl restart reload enable 重启服务时的区别
linux
文青小兵23 分钟前
Linux云计算——docker compose haibor elfk (四)
linux·服务器·docker·云计算
思麟呀28 分钟前
C++11并发编程:互斥锁
linux·开发语言·c++·windows
顺风尿一寸31 分钟前
深度解析 Linux touch 命令:从用户输入到磁盘 Inode 的完整旅程
linux
j_xxx404_39 分钟前
Linux 线程日志系统设计:从策略模式、RAII 到 pthread 线程安全与内核写入路径|附源码
linux·运维·服务器·开发语言·c++·人工智能·策略模式
明天…ling42 分钟前
CentOS 7 安装 Docker 踩坑全记录(含 sudo 权限、yum 源失效、命令报错解决方案)
linux·docker·centos
江华森42 分钟前
Linux 内核调优 + TCP/IP 协议栈深度解析 + 低延迟网络优化
linux·网络·tcp/ip
学Linux的语莫1 小时前
deepagent知识
linux·运维·服务器
步十人1 小时前
epoll——I/O多路复用技术
linux·数据库·redis
浮生若城1 小时前
Linux库制作与原理(1):静态库、动态库和ELF文件
linux·运维·服务器