如何通过 chroot 恢复 Arch Linux 系统
创始人
2024-03-02 11:26:26
0

这个快速指南解释了恢复 Arch Linux 安装的一些方便步骤。

作为一个滚动发布的版本,Arch Linux 中有时会出现一些问题。不是因为你自己的行为,而是数以百计的其他原因,如新内核与你的硬件或软件的兼容性。但是,Arch Linux 仍然很棒,它提供了最新的软件包和应用。

但有时,它也会给你带来麻烦,你最终只能看到一个闪烁的光标,其他什么都没有。

所以,在这种情况下,与其重新格式化或重新安装,不如在放弃希望之前尝试恢复安装和数据。本指南概述了这个方向的一些步骤。

恢复 Arch Linux 安装

第一步是用 Arch Linux 创建一个可启动的 现场 Live USB。从 这个链接 下载 .ISO 并创建一个可启动的 USB。你可以查看这个 如何使用 Etcher 创建可启动的 USB 的指南。记住这一步需要另一个稳定的工作系统,因为你目前的系统不能使用。

你需要知道你的 Arch Linux 安装在哪个分区上。这是一个非常重要的步骤。如果你不知道,你可以用 GParted 来查找。或者在你的 GRUB 菜单中查看,或者你可以运行下面的命令来了解。这将列出你所有的磁盘分区及其大小、标签:

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

完成后,插入 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 服务器通信。例如,如果你正在使用 Lightdm,那么你可以通过以下方式检查它的状态。

systemctl status lightdm

或者,可以通过下面的命令启动它,并检查出现了错误。

lightdm --test-mode --debug

下面是一个 Lightdm 失败的例子,它导致了一个不稳定的 Arch 系统。

lightdm - test mode

或者通过使用 startx 启动 X 服务器来检查。

startx

根据我的经验,如果你在上述命令中看到错误,尝试安装另一个显示管理器并启用它,如 sddm。它可能会消除这个错误。

根据你的系统状态,尝试上述步骤,并进行故障排除。对于特定于显示管理器 lightdm 的错误,我们有一个 指南,你可以看看。

如果你使用的是 sddm,那么请查看 这些故障排除步骤

总结

每个安装环境都是不同的。上述步骤可能对你不起作用。但它值得一试,根据经验,它是有效的。如果它起作用,那么,对你来说是好事。无论哪种方式,请在下面的评论区中告诉我结果如何。


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

作者:Arindam 选题:lkxed 译者:geekpi 校对: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...