当我的根目录位于 RAID 和 LVM 上时,如何从启动错误中恢复?

当我的根目录位于 RAID 和 LVM 上时,如何从启动错误中恢复?

当根目录位于 RAID 和 LVM 上的(Archlinux)系统配置错误且无法启动时,需要采取什么步骤来恢复它?

答案1

首先,获取一个 Linux Live USB 驱动器,我使用 Debian 驱动器并从它启动。

如果您的服务器位于楼梯下或其他难以坐下的位置,请执行以下三个步骤:

1 成为 root 用户,输入adduser myname并输入您的登录信息。

2 将该行添加myname ALL=(ALL) ALL/etc/sudoers

3sshd如果 sshd 守护进程尚未运行,请键入以启动它(它位于 debian 棒上)。

现在我假设您已登录到您的计算机。输入sudo -s以成为 root。

要找到您的 RAID 阵列并安装它们,请执行以下两个步骤:

1 键入mdadm --examine --scan > /etc/mdadm/mdadm.conf以设置配置。

2 键入madam --assemble --scan以准备设备。

现在要挂载你的 LVM 分区,请执行以下步骤:

1 键入lvscan以查找所有卷。

2 键入vgchange -ay dirname其中 dirname 是卷组的目录。(对我来说,/dev/data因为/dev/arraylvscan 显示/dev/data/home/dev/array/root

3 对于每个卷,您现在可以在其中创建一个目录/mnt并通过键入以下命令将分区挂载到该目录下,mount /dev/array/root /mnt/root其中 root 是您要挂载的分区的名称及其/dev/array/root所在的卷。

现在,mkdir /mnt/boot如果您的启动目录位于单独的分区上,那么请在那里输入并挂载您的启动分区(我的启动目录也在 raid 设备上),因此我输入mount /dev/md1 /mnt/root/boot

现在我们已经设置好了所有文件系统,是时候将 chroot 到我们损坏的系统中了。首先像这样切换到根目录cd /mnt/root。然后执行以下一系列命令:

mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
mount -t devpts pts dev/pts/

现在到了主要事件的时间,输入chroot . /bin/bash后您就会回到旧系统。您可以像平常一样修复它,也许可以运行pacman -Syu以安装所有更新,如果您的内核发生变化,请不要忘记运行mkinitcpio

相关内容