如何通过 chroot 恢复 Arch Linux 安装
这篇速成指南诠释了一些步骤，它对于恢复一个 Arch Linux 安装很有帮助。
Chroot Arch Linux
这篇速成指南诠释了一些步骤，它对于恢复一个 Arch Linux 安装很有帮助。
![](/data/attachment/album/202211/01/213036fel3lq00iz0377v3.jpg)



> 
> 这篇速成指南诠释了一些步骤，它对于恢复一个 Arch Linux 安装很有帮助。
> 
> 
> 


作为一个滚动发布版本，Arch Linux 有时会崩溃。那不是你自身的问题，而是因为数百个其它的原因，例如一个新内核与你的硬件或软件的兼容性。但是，即使如此，Arch Linux 仍然是比较优秀的，并且提供最新的软件包和应用程序。


但是，有些时候，它会给你带来麻烦，最后你只会看到一个闪烁的光标。


因此，在这种情况下，在你放弃希望前，你可能希望尝试恢复系统的安装以及数据，而不是重新格式化或重新安装。这篇指南在这些方面概述了一些步骤。


### 恢复 Arch Linux 安装


第一步是创建一个可启动的 Arch Linux 的<ruby> 现场 <rt>  Live </rt></ruby> USB 。从下面的链接中下载 ISO 镜像文件，并创建一个可启动的 ISO 的启动盘。你可以查看 [这篇](/article-15020-1.html) 关于如何使用 Etcher 创建可启动的 ISO 的启动盘的指南。记住，这一步骤需要在另一个工作稳定的系统上完成，很明显，这是因为你当前系统是不可用的。



> 
> **[下载 arch linux](https://archlinux.org/download/)**
> 
> 
> 


你需要知道在 **你的 Arch Linux 安装在哪个分区上**。这是关键的一步。如果你不知道，你可以使用 GParted 来找出来。或者在你的 Grub 菜单中查看，或者也可以运行下面的命令来找出来。这将列出你所有的磁盘分区、大小和标签。



```
sudo lsblk -o name,mountpoint,label,size,uuid

```

在完成后，插入 USB 设备，并从中启动。你应该会在现场 USB 启动后看到 Arch Linux 提示符。


现在，使用下面的命令挂载 Arch Linux 分区。将 `/dev/sda3` 更改为你实际对应的分区。



```
mount /dev/sda3 /mnt
arch-chroot /mnt

```

`arch-chroot` 命令将在终端中挂载你的 Arch Linux 分区，然后，使用你的 Arch 用户名和密码来登录系统。现在，取决于你在这个阶段的需要，你可能有下面的一些选项。


* 你可以前往 `/home` 文件夹来备份你的数据。为防止排错手段不能解决问题。你可以复制这些文件到一块外部的 USB 磁盘或其它的分区。
* 检查日志文件，尤其是 pacman 日志，因为升级一些软件包可能会导致系统不稳定工作，例如，图形驱动程序或其它一些驱动程序。依据日志的记载，如果你有需要的话，你可以降级一些具体指定的软件包。


你可以使用下面的命令来查看 pacman 日志文件的最新的 200 行日志，来找出一些引起失败的项或依赖项的缺失。



```
tail -n 200 /var/log/pacman.log | less

```

上面的命令给出 `pacman.log` 文件的末尾处的 200 行来用于查对。现在，仔细检查自你上次成功启动以来更新了哪些软件包。


在某个地方记录下软件包的名称和版本。你可以尝试逐个降级软件包，或者，如果你认为是某个特定的软件包造成的问题的话，你可以使用 `pacman` 命令的 `-U` 开关选项来降级它。



```
pacman -U <package name>

```

在降级后（如果有一些软件包进行降级的话），你可以运行下面的命令来启动你的 Arch 系统。



```
exec /sbin/init

```

检查你的显示管理器的状态，并检查其是否有一些错误。有时，显示管理器会产生不能与 <ruby> X 服务器 <rt>  X Server </rt></ruby> 通信的问题。例如，如果你正在使用 Lightdm ，那么你可以通过下面的命令来检查它的状态。



```
systemctl status lightdm

```

或者，你可能希望通过下面的命令来启动它并检查错误。



```
lightdm --test-mode --debug

```

这里是一个 Lightdm 故障的示例，它导致了 Arch 系统不稳定工作。


![lightdm - test mode](/data/attachment/album/202211/01/213113nv34ii73yyq41o31.jpg)


或者，使用 `startx` 来启动 X 服务器进行检查。


根据我的经验，如果你在上面的命令中看到这些错误，尝试安装另外一个显示管理器（例如 sddm）并启动它可以消除错误。


* 根据你的系统的实际状态来尝试上面的步骤并解决问题。针对特定的显示管理器 Lightdm 的错误，我们有一份 [指南](https://www.debugpoint.com/2021/03/failed-to-start-lightdm/)，你可能会想查看它。
* 如果你正在使用 sddm ，那么，试试 [这些排错步骤](https://wiki.archlinux.org/title/SDDM#Troubleshooting) 看看是否工作。


### 结语


每个系统环境都是不同的。上面的步骤不一定适合你。但是，它值得一试，根据我的经验，它是可行的。如果它可行，那么恭喜你。否则，在下面的评论区让我知晓你是如何进行的。




---


via: <https://www.debugpoint.com/recover-arch-linux/>


作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lkxed](https://github.com/lkxed) 译者：[robsean](https://github.com/robsean) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

