openEuler修改根目录VG、LV名及系统启动失败问题处理


前言

在使用openEuler操作系统时,有时会遇到修改根目录VG(Volume Group)和LV(Logical Volume)名后,系统启动失败的问题,特总结以下解决方法。


一、系统版本

系统:openEuler 22.03 (LTS-SP2)

启动方式:uefi、legacy

二、实施步骤

1.查看vg、lv名称

[root@test01 ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                 8:0    0   30G  0 disk 
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   29G  0 part 
  ├─vg2-lv2_root  253:0    0   26G  0 lvm  /
  └─vg2-lv2_swap  253:1    0    3G  0 lvm  [SWAP]
sdb                 8:16   0   10G  0 disk 
└─sdb1              8:17   0   10G  0 part /apps
sdc                 8:32   0   10G  0 disk 
├─vg1-lv_var_log  253:2    0    2G  0 lvm  /var/log
└─vg1-lv_apps_log 253:3    0    8G  0 lvm  /apps/logs
sr0                11:0    1  3.5G  0 rom
[root@test01 ~]# vgscan 
  Found volume group "vg1" using metadata type lvm2
  Found volume group "vg2" using metadata type lvm2
[root@test01 ~]# lvscan 
  ACTIVE            '/dev/vg1/lv_var_log' [2.00 GiB] inherit
  ACTIVE            '/dev/vg1/lv_apps_log' [<8.00 GiB] inherit
  ACTIVE            '/dev/vg2/lv2_swap' [3.00 GiB] inherit
  ACTIVE            '/dev/vg2/lv2_root' [<26.00 GiB] inherit

2.修改vg、lv名称

修改vg2名称为vg3,修改lv2_xxxx名称为lv3_xxxx

[root@test01 ~]# vgrename vg2 vg3
  Volume group "vg2" successfully renamed to "vg3"
[root@test01 ~]# lvrename /dev/vg3/lv2_swap /dev/vg3/lv3_swap 
  Renamed "lv2_swap" to "lv3_swap" in volume group "vg3"
[root@test01 ~]# lvrename /dev/vg3/lv2_root /dev/vg3/lv3_root
  Renamed "lv2_root" to "lv3_root" in volume group "vg3"

3.修改/etc/fstab

[root@test01 ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sat Nov  4 10:42:55 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/vg2-lv2_root /                       ext4    defaults        1 1
UUID=8617346b-f351-468d-9c30-6c545c8239c9 /boot                   ext4    defaults        1 2
/dev/mapper/vg2-lv2_swap none                    swap    defaults        0 0
/dev/sdb1 /apps xfs   defaults        0 0
/dev/vg1/lv_var_log /var/log xfs   defaults        0 0
/dev/vg1/lv_apps_log /apps/logs xfs   defaults        0 0
[root@test01 ~]# sed -i 's/vg2-lv2_root/vg3-lv3_root/g' /etc/fstab
[root@test01 ~]# sed -i 's/vg2-lv2_swap/vg3-lv3_swap/g' /etc/fstab
[root@test01 ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sat Nov  4 10:42:55 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/vg3-lv3_root /                       ext4    defaults        1 1
UUID=8617346b-f351-468d-9c30-6c545c8239c9 /boot                   ext4    defaults        1 2
/dev/mapper/vg3-lv3_swap none                    swap    defaults        0 0
/dev/sdb1 /apps xfs   defaults        0 0
/dev/vg1/lv_var_log /var/log xfs   defaults        0 0
/dev/vg1/lv_apps_log /apps/logs xfs   defaults        0 0
[root@test01 ~]# 

4.修改/etc/default/grub

[root@test01 ~]# 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="resume=/dev/mapper/vg2-lv2_swap rd.lvm.lv=vg2/lv2_root rd.lvm.lv=vg2/lv2_swap cgroup_disable=files apparmor=0 crashkernel=512M"
GRUB_DISABLE_RECOVERY="true"
[root@test01 ~]# sed -i 's/vg2-lv2_swap/vg3-lv3_swap/g' /etc/default/grub
[root@test01 ~]# sed -i 's|vg2/lv2_root|vg3/lv3_root|g' /etc/default/grub
[root@test01 ~]# sed -i 's|vg2/lv2_swap|vg3/lv3_swap|g' /etc/default/grub
[root@test01 ~]# 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="resume=/dev/mapper/vg3-lv3_swap rd.lvm.lv=vg3/lv3_root rd.lvm.lv=vg3/lv3_swap cgroup_disable=files apparmor=0 crashkernel=512M"
GRUB_DISABLE_RECOVERY="true"

5.legacy修改/etc/grub2.cfg;uefi修改/boot/efi/EFI/openeuler/grub.cfg

替换文件vg、lv名为新vg、lv名,以legacy修改/etc/default/grub为例:

[root@test01 ~]# sed -i 's/vg2-lv2_root/vg3-lv3_root/g' /etc/grub2.cfg
[root@test01 ~]# sed -i 's/vg2-lv2_swap/vg3-lv3_swap/g' /etc/grub2.cfg
[root@test01 ~]# sed -i 's|vg2/lv2_root|vg3/lv3_root|g' /etc/grub2.cfg
[root@test01 ~]# sed -i 's|vg2/lv2_swap|vg3/lv3_swap|g' /etc/grub2.cfg

6.修改完成后配置

执行grub2-mkconfig -o /boot/grub2/grub.cfg后报错(如下),无报错直接强制重新reboot -f

[root@test01 ~]# mount -a
[root@test01 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
/usr/sbin/grub2-probe: error: failed to get canonical path of `/dev/mapper/vg2-lv2_root'.

 遇报错则执行如下,执行完成后强制重启reboot -f,启动后查看修改成功。

mount /dev/mapper/vg3-lv3_root /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys/ /mnt/sys
mount --bind /run/ /mnt/run
mount --bind /boot/ /mnt/boot

cat << EOF | chroot /mnt
grub2-mkconfig --output=/boot/grub2/grub.cfg
exit
EOF

umount /mnt/boot
umount /mnt/run
umount /mnt/sys
umount /mnt/proc
umount /mnt/dev
umount /mnt
[root@test01 ~]# reboot -f

[root@test01 ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                 8:0    0   30G  0 disk 
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   29G  0 part 
  ├─vg3-lv3_root  253:0    0   26G  0 lvm  /
  └─vg3-lv3_swap  253:1    0    3G  0 lvm  [SWAP]
sdb                 8:16   0   10G  0 disk 
└─sdb1              8:17   0   10G  0 part /apps
sdc                 8:32   0   10G  0 disk 
├─vg1-lv_var_log  253:2    0    2G  0 lvm  /var/log
└─vg1-lv_apps_log 253:3    0    8G  0 lvm  /apps/logs
sr0                11:0    1  3.5G  0 rom  

三、启动失败

可能原因:上述配置文件没有修改到位,系统重启过程中卡住

解决办法:

1、重启后在这个界面按e,可能会让输入username,这里输入root,默认密码为openEuler#12

2、修改如下位置vg、lv为新名称,按ctrl+x进入系统。

3、进入系统后将未修改完或修改错误的地方改好后,执行grub2-mkconfig -o /boot/grub2/grub.cfg

后重启。


总结

vgrename、lvrename修改名称后,还需要修改fstab、grub、grub2.cfg或grub.cfg。

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值