我的笔记本电脑上安装了 Arch Linux 和 Windows 10(BIOS MBR)。当我使用 Arch 时,偶尔会发生内核崩溃。这种情况大多发生在我使用 pacman 安装某些软件包时。上次我启动系统时没有 X,当安装某些字体包时再次发生此故障时,我能够拍摄输出的图片。
这是图片:https://imgur.com/94yeW9X(我的声誉点数不足以在此发布图片)。
这台笔记本电脑上安装的 Windows 10 运行正常,没有 BSOD、随机重启等。
什么原因导致此故障?我该如何解决此问题?
答案1
崩溃信息指向“brcmsmac”Broadcom Wi-Fi 驱动程序。我之前在其他人的系统上看到过这种崩溃,他们证实切换到以太网可以避免崩溃。
另一个线程在 Reddit 上提到如果您需要 Wi-Fi,可以使用专有的“broadcom-wl”驱动程序作为替代方案。
我不确定这是驱动程序本身的错误,还是其他内核更改的后果。尝试安装较旧的内核,以找出具体哪个版本破坏了它,然后如果你有几天空闲时间,平分到特定的改变。
答案2
问题解决了!感谢 user1686!
这个问题实际上是由 Wi-Fi 驱动程序“brcmsmac”(Broadcom Wi-Fi 驱动程序)引起的。为了解决这个问题,我决定为我的无线网卡安装另一个专有驱动程序,因为我每天都需要 Wi-Fi。
起初,我插入我的 Android 设备以将其用作 USB 网络共享以避免崩溃。
然后我为这个无线网卡下载了另一个模块:
# pacman -Syu broadcom-wl
问题模块 brcmsmac 在启动时作为 initramfs 的一部分加载。我使用以下命令检查了这一点:
~$ mkinitcpio -M
我将此模块(以及与“wl”模块冲突的“b43”模块)列入了黑名单。为了将这些模块列入黑名单,我在/etc/modprobe.d/
目录中创建了一个 .conf 文件:
# nano /etc/modprobe.d/blacklist.conf
然后我将这些行附加到文件中:
blacklist brcmsmac
blacklist b43
然后,在 Arch Wiki 的指导下,我将此 .conf 文件的路径添加到 mkinitcpio.conf 中的 FILES 数组中:
# nano /etc/mkinitcpio.conf
FILES=(/etc/modprobe.d/blacklist.conf)
然后我重新生成了 initramfs 并重新启动系统:
# mkinitcpio -p linux
# reboot
系统加载完成后,我尝试连接到我的 Wi-Fi 网络(我使用 NetworkManager),它成功了!但我仍然需要测试我的连接,所以我尝试从互联网上下载一些大文件,没有发生任何意外,没有崩溃,文件已完全下载。
我不知道我是否做对了所有事情,但现在我的笔记本电脑运行稳定。我在线观看视频、下载文件、使用 pacman 升级系统,到目前为止没有出现内核崩溃!