我有一台全新的游戏笔记本电脑,每次运行 Linux 时它都会崩溃。如果我在本机运行 Linux,它会在一段看似随机的时间后完全冻结(包括鼠标光标)。如果我在 Windows 8.1 下的 VMWare Player 中运行 Linux,Linux 最终会以同样的方式挂起,但 Windows 也会崩溃并显示蓝屏死机(BSOD)短暂延迟后。BSOD 总是显示 MACHINE_CHECK_EXCEPTION,而 BugCheck 日志显示代码为 0x9c。
我尝试过的Linux版本有:
- Ubuntu MATE 15.10 64 位
- Ubuntu 15.04 64 位
- Ubuntu MATE 15.04 64 位
- Ubuntu MATE 14.04.2 64 位
- Ubuntu MATE 14.04.2 32 位
除了这些或多或少随机的挂起之外,Linux 运行良好 —— 并且我能够在崩溃之间使用它很多个小时。
我以为这是硬件问题,但困难在于除非我还运行 Linux,否则 Windows 不会崩溃(在虚拟机中)。我尝试同时启动所有可用的应用程序(大约 30 个),播放 YouTube 视频,还运行压力测试应用程序,例如Prime95。我也玩过一些图形要求高的游戏。
我已经运行了“Windows 内存诊断工具”和其他内存测试,没有明显问题。
一种猜测是 Linux 以某种方式使用了 Windows 未使用的 CPU 功能,但不清楚为什么这会引发随机硬件故障。
我怎样才能明确地证明我的硬件有故障(或没有)?
编辑:我似乎有点运气定影通过禁用 BIOS 中的某些功能来解决 Linux 问题。自从这样做以来,我还没有看到任何崩溃。我最初所做的更改(仅基于猜测):
- 虚拟化技术:已禁用
- 快速启动:已禁用
- SpeedStep:已禁用
- PCI 延迟计时器:64 个时钟(原为 32 个)
根据对这些变体的后续测试,显然两个都需要禁用 VT 和 SS — — 但可以肯定的是,至少要禁用 SpeedStep。 这是否可以更容易地将崩溃隔离为基于硬件缺陷? ...或者这可能是 Ubuntu/Linux 中的软件问题?
为了更明确地说明我的问题:我并不是真的在寻求解决问题的方法,尽管从理论上讲这很好。我真正需要的是一种在 Windows 下隔离和重现此问题的方法,而无需同时运行 Linux。我假设我的设备有问题——我只需要一种方法来证明这一点。请记住,只要我运行 Linux(上面提到的 BIOS 更改除外),机器就会崩溃,因此不能仅通过更新 Windows 驱动程序来解决此问题。
简而言之:知道 Linux 会导致崩溃,那么其他我可以在 Windows 中运行的压力测试是否会导致相同类型的崩溃?或者,这是 Linux 中已知的错误吗?
请注意,我的处理器是较新的 i7-5700HQ(Broadwell 微架构)。
另请注意:我不认为这是由严重过热引起的。该机器包括一个额外的可以手动启用的风扇,并且崩溃似乎与重负载无关。
更新:本地运行 Linux 的问题已通过安装 BIOS 更新解决在我发布问题几个月后,它就可用了。我现在也在运行 Ubuntu MATE 15.10,但我认为这并不重要,因为在 BIOS 更新之前它也失败了。我想简而言之,该系统与 Linux 不兼容(反之亦然),就像它们在发布时一样。
我没有回去重新测试虚拟机问题,因为现在我可以本地运行 Linux,我不再需要它了——而且我已经从 Windows 8.1 迁移到 Windows 10,所以无论如何它不完全是一个同类测试。
答案1
这是硬件问题,9C 参数的含义取决于您使用的 CPU 类型。最常见的原因是过热、硬件故障(CPU、RAM、电源等)。超频等硬件超出其能力也会导致该错误。
检查 BIOS 中的硬件设置,从 RAM 开始。确保没有过热或超频。
还请尝试卸载/不要安装主板附带的程序。
如果这不能解决问题,您应该尝试其他几个步骤:
确保机器充分冷却。如果有任何疑问,请打开 PC 机箱的侧面-如果可能的话-(注意任何相关的保修条件!)并将主风扇正对着主板。这将排除大多数(缺乏)冷却问题。
更新所有与硬件相关的驱动程序:视频、声音、RAID(如果有)、NIC...任何与硬件交互的东西。无论如何,运行最新的驱动程序都是很好的做法。
根据制造商的说明更新主板 BIOS。制造商的网站应该会提供针对特定品牌和型号的详细说明。
尝试(压力)测试那些可以人为测试的硬件组件。最明显的例子是 RAM 和 HDD。对于 RAM,使用内置内存诊断程序(运行 MDSCHED)或第三方 memtest86 实用程序运行数小时的测试。对于硬盘驱动器,检查 CHKDSK /R 是否在驱动器上发现任何问题,尤其是“坏扇区”。不可靠的 RAM 尤其对软件来说是致命的,任何不是 100% 清晰的内存测试结果都值得关注。不幸的是,即使诊断实用程序的结果为 100% 清晰,也不能保证 RAM 没有缺陷 - 只能保证在测试过程中没有遇到任何问题。
清洁并小心清除机器内部的灰尘。重新安装所有连接器和内存模块。尽可能使用一罐压缩空气清洁 RAM DIMM 插槽。
如果其他方法都失败了,请开始逐个移除硬件,希望罪魁祸首是一些可以移除的非必要组件。显然,如果您有同等组件可以进行交换,这种测试会容易得多。就您而言,RAM 和 HDD 可能可以交换。
答案2
将 libata.force=noncq 添加到 grub 启动参数。效果很好。我的问题是视频驱动程序,不是在虚拟机中运行,而是实际的双重启动。
答案3
来自 service.msicomputer.com:
为什么我会收到 BSOD MACHINE_CHECK_EXCEPTION?
如果您在打开任何 Office 2016 应用程序、某些游戏和虚拟桌面软件时遇到蓝屏错误,显示“MACHINE_CHECK_EXCEPTION”或“CLOCK_WATCHDOG_TIMEOUT”BSOD。这是由微代码中的错误引起的,仅影响 Broadwell CPU(第 5 代),可通过从下面列出的版本通过 BIOS 更新更新微代码来解决。
...
最后更新:2015 年 9 月 30 日