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

当在RAID和LVM上拥有其根的(Archlinux)系统configuration错误并且无法引导时,需要采取哪些步骤来恢复它?

首先,得到一个Linux的生活的USB棒,我使用Debian的一个,并从它启动。

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

1成为root用户,键入adduser myname并input您的login信息。

2将行myname ALL=(ALL) ALL/etc/sudoers

3键入sshd以启动sshd守护程序(如果它尚未运行)(位于debian中)。

现在我假设你已经login到你的机器。 键入sudo -s成为根。

要find您的RAIDarrays并安装它们,请执行以下两个步骤:

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

2型madam --assemble --scan准备设备。

现在要安装您的LVM分区,请执行以下步骤:

1键入lvscan查找所有卷。

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

3对于每个卷,现在可以在/mnt创build一个目录,并且在root是要装入的分区的名称时键入mount /dev/array/root /mnt/root并在/dev/array/root它的音量。

现在,inputmkdir /mnt/boot并在那里安装你的启动分区,如果你有一个独立的分区上的启动目录我也有一个RAID设备,所以我inputmount /dev/md1 /mnt/root/boot

现在我们已经安装好了所有的文件系统,现在是时候把我们的系统破坏了。 首先换成你的根目录,就像cd /mnt/root 。 然后执行以下一系列命令:

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

现在是主事件的时间,inputchroot . /bin/bash chroot . /bin/bash然后回到旧系统。 你可以pacman -Syu修复它,也许运行pacman -Syu安装所有的更新,如果你的内核发生变化,不要忘记运行mkinitcpio