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
相关推荐
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo2 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao4 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒7 天前
TShark:Wireshark CLI 功能
linux
A小辣椒7 天前
TShark:基础知识
linux
AlfredZhao8 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao8 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi