---
title: "Arch Linux 内核更新引发黑屏：一次排错回顾（Intel 11 代核显）"
description: "近期，在一次 Arch Linux 系统更新至内核 5.19.12 后，我的电脑（搭载 Intel 11 代核显）遭遇了启动黑屏。此文详述了如何利用 Live 环境和 chroot 诊断问题，找出有问题的内核包，并通过降级软件包来解决问题的过程。"
pubDate: "2022-09-29"
categories: ["Arch Linux", "故障排除", "内核", "Intel", "Linux"]
---

最近，我在对我的 Arch Linux 机器进行例行系统更新后遇到了启动问题，导致黑屏。通过识别出影响我 Intel 第 11 代集成显卡的问题内核更新（版本 5.19.12），并在 Live 环境中降级相关软件包，解决了这个问题。

## 问题浮现：更新后的黑屏

更新完系统，重启电脑，GRUB 菜单之后，屏幕就黑了。没有光标，只有些微的闪烁。这通常意味着图形驱动出了问题，但我的机器用的是 Intel 11 代集成显卡，按理说不该这么容易出问题，不像 Nvidia 独显那样常见。

## 排查步骤

要诊断并修复这个问题，我需要从系统外部入手。我按以下步骤操作：

1. **从 Live USB 启动：** 我制作了一个 Arch Linux Live USB 启动盘，并用它启动了我的笔记本。

2. **连接网络：** 进入 Live 环境后，我用 `iwctl` 连接了 Wi-Fi，以便在需要时可以查阅在线资源（比如 Arch Wiki 或论坛）。

3. **挂载系统分区：** 我使用 `fdisk -l` 确定了我的系统分区，然后将它们挂载起来：

   ```bash
   # Verify partition names first with fdisk -l
   mount /dev/nvme0n1p2 /mnt      # Mount root partition
   mount /dev/nvme0n1p1 /mnt/boot  # Mount boot partition (if separate)
   ```

4. **进入 Chroot 环境：** 我将根目录切换到我安装的系统，以便在其上执行操作：

   ```bash
   arch-chroot /mnt
   ```

## 探寻原因

进入 chroot 环境后，我首先怀疑是最近的更新惹的祸。我检查了 pacman 的日志，看看最近安装了哪些软件包：

```bash
tail -n 300 /var/log/pacman.log | less
```

日志证实，在问题开始出现的时间点（13:55）左右，确实有几个软件包被更新了，其中包括 Linux 内核（linux, linux-headers）。具体来说，内核被更新到了 5.19.12.arch1-1 版本。

![Pacman 日志显示内核更新到 5.19.12](https://img.eigenigma.io/troubleshooting-an-arch-linux-black-screen-after-kernel-update/pacman-log-kernel-update.png)

我在 Arch Linux 论坛上快速搜索了一下，特别是在"Kernel & Hardware"版块，发现了一些类似的报告。

![Arch Linux 论坛搜索内核黑屏问题的结果](https://img.eigenigma.io/troubleshooting-an-arch-linux-black-screen-after-kernel-update/arch-forum-search-results.png)

多位用户确认，这次特定的内核更新（5.19.12）导致了黑屏，主要影响的是搭载 Intel 11 代集成显卡（Tiger Lake）的系统。

![论坛用户确认黑屏问题的帖子](https://img.eigenigma.io/troubleshooting-an-arch-linux-black-screen-after-kernel-update/forum-reports-black-screen.png)

![论坛帖子指出受影响的是 Intel Tiger Lake 集成显卡](https://img.eigenigma.io/troubleshooting-an-arch-linux-black-screen-after-kernel-update/forum-intel-igpu-affected.png)

大家推测的原因，指向了 5.19.12 内核中引入的一个影响 Intel iGPU 驱动的退步（regression）或错误。

![论坛讨论 Intel iGPU 驱动的内核回退问题](https://img.eigenigma.io/troubleshooting-an-arch-linux-black-screen-after-kernel-update/forum-kernel-regression.png)

## 解决之道：降级内核

既然原因找到了，解决办法也就明朗了：将内核相关的软件包降级回之前能正常工作的版本（5.19.11）。

1. 查找缓存的软件包：Pacman 会保留旧版本的软件包缓存（如果没清理过的话）。我列出了缓存中的内核软件包：

   ```bash
   ls /var/cache/pacman/pkg | grep 'linux' | less
   ```

2.降级软件包：我使用 `pacman -U` 来安装在缓存中找到的先前版本的内核及相关软件包。具体的包名可能略有不同，但通常包括 linux、linux-headers、linux-docs 等。

   ![Pacman 将内核软件包降级到 5.19.11](https://img.eigenigma.io/troubleshooting-an-arch-linux-black-screen-after-kernel-update/pacman-downgrade-packages.png)

   ```bash
   pacman -U /var/cache/pacman/pkg/linux-5.19.11.arch1-1-x86_64.pkg.tar.zst \
           /var/cache/pacman/pkg/linux-headers-5.19.11.arch1-1-x86_64.pkg.tar.zst \
   ```

   _注：如果遇到类似问题，建议暂时将这些软件包添加到 `/etc/pacman.conf` 的 `IgnorePkg` 列表中。这样可以防止它们再次被更新，直到上游修复了这个问题。_

<!-- markdownlint-disable MD029 -->
3. 退出并重启：成功降级后，我退出了 chroot 环境，卸载了分区，然后重启：

```bash
exit
umount /mnt/boot
umount /mnt
reboot
```

重启之后，系统顺利进入了桌面环境。

## 结语

Arch Linux 这样的滚动发行版，虽然总能带来最新的软件，但偶尔的更新也可能引入一些退步。这一次，内核 5.19.12 就给使用 Intel 11 代核显的用户带来了黑屏的困扰。通过使用 Live 环境、chroot、检查日志以及参考社区论坛的讨论，我得以定位到有问题的更新，并通过降级内核软件包解决了问题。这次经历，虽然在我多年使用 Arch 的过程中并不常见，但也提醒了我掌握基本系统恢复技巧的重要性。
