几周前我买了一台二手电脑,我遇到了一些问题。
起初,我正在安装 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 诊断程序,一切顺利。
绝对没错。
内存错误可能导致代码更改,使执行流将无效指令、数据或分支传递到随机区域。
硬件故障会返回垃圾或无效结果,导致驱动程序阻塞、失败或以完全意想不到的方式运行。例如,如果给定垃圾数据,驱动程序可以将其转发到可能使用 DMA 复制到 RAM 的错误区域或从错误区域复制的硬件,从而导致系统其他部分出现重大问题。
任何设备故障都可能导致一连串错误,而且很难确定。
Memtest86可以发现内存错误,但其他设备(例如 GPU 故障或其他硬件由于内部故障或焊接故障而出现异常)几乎无法诊断。由于笔记本电脑的紧密且通常不可更换的组件,可能更难找到根本原因。