使用 Intel Bay Trail 系统完全冻结

Jac*_*Dix 35 kernel intel 16.04

我的系统随机、频繁地完全冻结。我开始在 Ubuntu 14.04 中遇到同样的问题,但最近升级到 16.04 后没有改善,实际上看起来更糟。

当它发生时,什么都做不了。我已经尝试了此线程中的所有内容:当 Ubuntu 冻结但没有任何效果怎么办,我必须硬重置。我已经阅读了所有系统日志,journalctl但从来没有任何信息可以帮助诊断问题。

这是一个带有 Windows 10 的双引导系统,那里没有问题,所以它不是有缺陷的硬件。

我的笔记本电脑配备 Intel Bay Trail 处理器 (Pentium N3540)

Zan*_*nna 45

您的处理器受到c 状态错误的影响

当 CPU 尝试进入不受支持的睡眠状态时,这会导致完全冻结。对于许多 Bay Trail 设备来说,这是一个问题,尤其是使用较新的 (4.*) 内核时。

受影响的处理器 AFAIK:

Atom Z3735F (Asus X205TA, Acer Aspire Switch 10, Lenovo MIIX 3 1030) 
Atom Z3735G
Celeron J1900 (Asus ET2325IUK, shuttle XS35V4)
Celeron N2940 (Acer Aspire ES1-711, Chromebook)
Celeron N2840 (Acer Aspire ES1-311)
Celeron N2930 (Jetway JBC311U93, Zotac Nano CI320)
Pentium N3520 
Pentium N3530 (Acer V3-111P)
Pentium N3540 (Dell Inspiron 15 3000, Lenovo G50, ASUS X550MJ)
Run Code Online (Sandbox Code Playgroud)

(如果受到影响,请(建议)编辑以添加您自己的设备)

可以在此处找到 Bay Trail 处理器的完整列表

有一个简单的解决方法,直到上游得到正确修复。

您只需要传递一个内核启动参数,随机冻结就完全停止了。该参数可能会略微增加电池消耗,但它会给您一个可用的系统。

您可以通过编辑 GRUB 的配置文件来完成此操作:

启动 Ubuntu 并按Ctrl+ Alt+打开终端,T然后输入

sudo nano /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

找到开始的行 GRUB_CMDLINE_LINUX_DEFAULT=

这需要更改为包括 intel_idle.max_cstate=1

所以在你编辑之后它会读到类似的东西

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
Run Code Online (Sandbox Code Playgroud)

quietsplash是 Ubuntu 桌面的默认参数 - 无需更改它们,或任何其他预先存在的参数

现在保存按文件ctrl+o然后enter退出按ctrl+x

现在运行

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

然后重启。


如果您没有足够的时间在系统挂起之前执行此操作,该怎么办

没问题。如我之前链接的帮助页面所述,您可以在启动前将参数添加到 GRUB。请注意,这仅传递当前启动的参数,因此您在启动后仍需进行编辑/etc/default/grub以使更改永久生效。

您需要进入GRUB 菜单。如果您是双启动,这无论如何都会出现,否则您必须shift在按下电源按钮后按住(或点击)才能打开。

当您到达此屏幕时,选择Advanced Options for Ubuntu。您可以将光标移动到不同的内核,或将其留在原处以编辑默认选项。不是按enter,而是按,e您将进入编辑模式,看起来像这样

将光标向下移动到它所说的位置quiet splash,在飞溅后放置一个空格并仔细键入intel_idle.max_cstate=1以确保它后面也有一个空格。

现在按F10Ctrl+x启动。