Centos 7 LVM 卷可能已重命名,现在无法启动

Centos 7 LVM 卷可能已重命名,现在无法启动

我有一个朋友的系统配置为Centos 7。他不能告诉我他具体做了什么,但他没有足够的空间来安装一个软件,他正在查看分区的大小不知怎的,他认为他可能已经重命名了 LVM 卷,尽管他甚至不知道 LVM 卷是什么。

机器将不再启动,它只是挂起,必须关闭并重新启动。另一个大问题是它似乎是使用 LVM 卷上的 /boot 分区设置的,并且无法挂载 LVM 卷。

使用“故障排除”选项从安装介质启动无法找到现有的 Linux 安装,并且会崩溃。我启动的唯一方法是跳过对现有安装的检查,只获取命令提示符。执行此操作后,当我运行 pvscan 或 lvscan 时,它表示找不到任何 LVM 卷。我可以运行 sfdisk 并查看 Linux 驱动器,我看到三个分区,一个是 EFI,一个是看起来以 Windows 格式格式化的数据分区,以及 LVM 卷。我没有看到分区表有任何问题。

如果我可以再次启动并运行它,我会将 /boot 分区移动到专用分区(非 LVM),但现在如何安装 LVM 卷?

答案1

首先,分区类型显示“Linux LVM”这一事实并不能保证分区的实际内容与之匹配。用于file -s <PV device>查看实际内容是什么。完整 LVM PV 的示例(匿名)输出:

# file -s /dev/sda3
/dev/sda3: LVM2 PV (Linux Logical Volume Manager), UUID: xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx, size: nnnnnnnnnnnn

同样,如果分区类型报告为Microsoft basic data,则不一定意味着该情况;可能只是 CentOS 以/boot这种方式设置分区类型。我想这可能是为了解决某些早期 UEFI 固件版本中的一些错误,这些错误被认为足够重要,可以在 CentOS 所基于的 RHEL 7 首次发布时自动解决?

尝试运行vgscan -vv显式让 LVM 尝试识别磁盘上的 PV。当使用 运行时-vv,它应该会产生大量的调试输出,您可以使用它来验证它是否确实查看了正确的磁盘,以及它是否在其上看到了类似 LVM 的内容。

要访问 LVM 逻辑卷,您需要首先使用 激活它们vgchange -ay,或者使用 逐个激活它们lvchange -ay <name of LV>

通常,这应该使 LVM 卷的设备节点可供使用,但在救援环境中,您可能必须运行vgscan --mknodes才能显式生成它们。

如果 LV 或其所在 VG 的名称已更改,您将有两个选择:将其更改回原来的状态,或修复引用它的配置。我猜想您需要查看的地方是root=GRUB 配置文件中定义内核引导选项的行上的选项/boot/grub/grub.cfg(或者<mountpoint>/grub/grub.cfg如果存在单独的/boot分区并且您将其安装到临时位置以修复它),和/etc/fstab

相关内容