centos/rocky/redhat 8 删除swap分区,重启后无法进入系统

title: centos/rocky/redat 8 删除swap分区,重启后无法进入系统
date: 2022-10-21 16点23分
tags: [centos,linux,rocky,redhat]
category: 运维

博客文章图

介绍

由于centos 被红帽收购后,centos 8 刚出一年就要“夭折”了,变成了centos stream,现在centos 8 的接替版本有不少发行版如rocky linux 、almalinux(这两个发行版三大云服务都已经支持了)… 扯远了。
之前写过一篇centos 7 版本删除swap分区后需要做的操作,本来想着在8 版本上也能通用但失算了,所以来记录一下踩的坑。

删除swap分区

先检查一下swap内存,

[root@template-rocky8 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1722         187        1289           8         245        1377
Swap:          1639           0        1639

找到对应的分区

从下面能看到是/dev/mapper/rl-swap硬盘分区(顺带提一嘴,/dev/mapper/ 这个开头的都是LVM管理的硬盘,好处可以自行了解。)

[root@template-rocky8 ~]# cat /etc/fstab | grep -v "#"

/dev/mapper/rl-root     /                       xfs     defaults        0 0
UUID=1636f04f-505e-458c-b46d-b8719d16bac3 /boot                   xfs     defaults        0 0
UUID=B056-5CAB          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/rl-swap     none                    swap    defaults        0 0

临时禁用swap

[root@template-rocky8 ~]# swapoff -v /dev/mapper/rl-swap 
swapoff /dev/mapper/rl-swap
[root@template-rocky8 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1722         186        1268           8         266        1377
Swap:             0           0           0

删除LVM的Logical Volume,LV(逻辑卷)

检查一下lv的名称,你会发现有多个名称,如/dev/mapper、/dev/rl,下面命令查看,发现是通过软连接实现,都指向了/dev/dm-1、/dev/dm-0上

[root@template-rocky8 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/rl/swap
  LV Name                swap
  VG Name                rl
 .........
   
  --- Logical volume ---
  LV Path                /dev/rl/root
  LV Name                root
  VG Name                rl
 .........
[root@template-rocky8 ~]# ls -lht /dev/mapper/
total 0
lrwxrwxrwx. 1 root root       7 Oct 21 16:08 rl-swap -> ../dm-1
lrwxrwxrwx. 1 root root       7 Oct 21 15:17 rl-root -> ../dm-0
crw-------. 1 root root 10, 236 Oct 21 15:17 control
[root@template-rocky8 ~]# ls -lht /dev/rl/
total 0
lrwxrwxrwx. 1 root root 7 Oct 21 16:08 swap -> ../dm-1
lrwxrwxrwx. 1 root root 7 Oct 21 15:17 root -> ../dm-0

删除swap分区

[root@template-rocky8 ~]# lvremove /dev/rl/swap 
Do you really want to remove active logical volume rl/swap? [y/n]: y
  Logical volume "swap" successfully removed.

更新/etc/fstab文件

更新后的文件,如需对比请看前文。

[root@template-rocky8 ~]# cat /etc/fstab  | grep -v "#"
/dev/mapper/rl-root     /                       xfs     defaults        0 0
UUID=1636f04f-505e-458c-b46d-b8719d16bac3 /boot                   xfs     defaults        0 0
UUID=B056-5CAB          /boot/efi               vfat    umask=0077,shortname=winnt 0 2

[root@template-rocky8 ~]# systemctl daemon-reload

grub 更新

修改 /etc/default/grub

更改前

[root@template-rocky8 ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

更改后,删除了于swap分区相关的路径(/dev/mapper/rl-swap、rd.lvm.lv=rl/swap)。

[root@template-rocky8 ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=“ ( s e d ′ s , r e l e a s e . ∗ (sed 's, release .* (seds,release.,g’ /etc/system-release)”
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=“console”
GRUB_CMDLINE_LINUX=“crashkernel=auto resume=rd.lvm.lv=rl/root”
GRUB_DISABLE_RECOVERY=“true”
GRUB_ENABLE_BLSCFG=true

发现bug,更新一下grub,如果不将resume删除每次重启都会检查硬盘。

[root@template-rocky8 ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rl/root"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

重建grub配置

如何区分区是legacy 模式还是UEFI,具体看/sys/firmware/efi 这个目录是否存在,如果不存在则是legacy,反之则是UEFI。

检查系统安装模式
[root@template-rocky8 ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
UEFI
legacy BIOS mode(传统模式安装的系统)
grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI BIOS mode(UEFI安装的系统)

本文中为UEFI,注意不同发行版在/…/EFI/这个目录名称是不同的,若是redhat则是/boot/efi/EFI/redhat/grub.cfg

[root@template-rocky8 ~]# grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
Generating grub configuration file ...
Adding boot menu entry for EFI firmware configuration
done

验证

重启验证

[root@template-rocky8 ~]# init6

选择对应的内核
查看启动时grub配置
中间可能会检查一下硬盘,需要一定时间。
正常进入系统

参考资料

redhat 8.0 产品文档 14.7章节,为swap删除LVM2逻辑卷 ,吐槽一下8的文档还没更新完成,里面缺少了更新grub的配置
redhat 7.0 产品文档 15.2章节,删除交换空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值