当根目录位于 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/array
lvscan 显示/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
!