挂接外部 lvm 卷 修改 grub 错误的 LV UUID

如果我们要修复一个外部的 LVM 卷, 我们需要先用 vgchange -ay vg_name 把看到的需要修改的 vg 激活, 然后 lvdisplay|grep Path 就可以看到 lv 的路径, 然后用 mount /dev/vg_name/lv_name /mnt 就可以挂接了。

后面修改的事情可以参考: Ubuntu 1904 修改 rootvg 名字需要注意的几个问题
另外一篇文章也可以阅读一下: Ubunt1904 virt-sysprep Bug

Ubuntu 1904 修改 rootvg 名字需要注意的几个问题

在克隆虚拟机的时候 vg 的名字没有被修改过,事后修改有点诸葛亮,而且充满风险。修改的步骤很简单, vgrename oldvgname newvgname 即可。
Logical Volume 的修改: lvrename vgname old-lvname new-lvname

  1. /etc/initramfs-tools/conf.d/resume 里面包含 swap 的 lv 卷信息
  2. /etc/fstab 这个自然不必说了
  3. /boot/grub/grub.cfg 这个当然也要修改

# update-grub // 这步其实报错了,不能修改,和下面的 update-initramfs 类似
# cp /boot/initrd.img-xxx /boot/initrd.img-xxx.bak // 先做备份
# update-initramfs -c -k all // 这步也报错了,因为旧的 vg 的名字找不到了。

修改完几个文件,运行 update-initramfs -c -k all 以后,虽然报错,但是重启后,系统是可以正常使用的。 这样子, rootvg 的名字就能成功修改了。