几周前我买了一台二手电脑,但遇到了一些问题。
起初,我安装的是 Arch Linux,一切都很顺利,直到我尝试启动 X,这时 X 出现了段错误。(更多详细信息请点击这里:https://unix.stackexchange.com/questions/686604/cannot-launch-xorg-on-intel-graphics-i5-8250u-computer)。
因此我尝试从头开始重新安装 Arch,这次一切顺利,我可以毫无问题地启动 GUI。
从那时起,我注意到了一些错误。我经常在旧电脑上永远不会出现的地方遇到段错误和核心转储。这包括程序崩溃(例如 MS Teams)、启动 k8s 失败、Brave 导致 SIGILL 错误、程序无法编译(例如 Ruby 2.7 或 pmount)以及其他看似不相关的问题。
我仍然可以使用笔记本电脑进行日常工作,但偶尔会发生类似的情况。
我不确定是什么原因导致的,但我猜测是硬件问题。内存条故障会导致这些问题吗?
不管怎样,我运行了 BIOS 诊断程序,一切正常。
答案1
绝对没错。
内存错误可能导致代码改变,使得执行流传递无效指令、数据或分支到随机区域。
硬件故障可能会返回垃圾或无效结果,导致驱动程序阻塞、失败或以完全意想不到的方式运行。例如,如果给定垃圾数据,驱动程序可能会将其转发给硬件,而硬件可能会使用 DMA 来复制 RAM 的错误区域,从而导致系统其他部分出现严重问题。
任何设备故障都可能导致一系列错误,而且很难确定。
Memtest86可以发现内存错误,但其他设备(例如 GPU 故障或其他硬件由于内部故障或焊接故障而出现异常)几乎无法诊断。由于笔记本电脑的组件紧密且通常不可更换,因此找到根本原因可能更加困难。