如何通过 chroot 恢复 Arch Linux 安装
创始人
2024-03-02 13:10:11
0

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

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

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

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

恢复 Arch Linux 安装

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

下载 arch linux

你需要知道在 你的 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 

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

exec /sbin/init

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

systemctl status lightdm

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

lightdm --test-mode --debug

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

lightdm - test mode

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

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

  • 根据你的系统的实际状态来尝试上面的步骤并解决问题。针对特定的显示管理器 Lightdm 的错误,我们有一份 指南,你可能会想查看它。
  • 如果你正在使用 sddm ,那么,试试 这些排错步骤 看看是否工作。

结语

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


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

作者:Arindam 选题:lkxed 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Adobe Researc...
这项由Adobe Research的黄迅、李政奇、Eli Shec...
2025-06-16 20:42:44
Elastic 之 ela...
聚合可以让我们极其方便的实现对数据的统计、分析。例如:...
2025-06-01 01:44:38
Maven 三种arche...
新建Maven project项目时,需要选择archetype。...
2025-05-31 18:41:23
elasticsearch...
参考资料 适合后端编程人员的elasticsearch快速实战教...
2025-05-30 21:00:38
ElasticSearch...
1、获取索引列表 GET /_cat/indices?format...
2025-05-29 10:16:50
用ChatGPT编写的一个...
以下是一个简单的Maven工程和Spring demo案例...
2025-05-29 02:23:18

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...