![Centos 7 LVM 卷可能已重命名,现在无法启动](https://linux22.com/image/162804/Centos%207%20LVM%20%E5%8D%B7%E5%8F%AF%E8%83%BD%E5%B7%B2%E9%87%8D%E5%91%BD%E5%90%8D%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
我有一个朋友的系统配置为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
。