我最近安装了 Ubuntu 16.04,它似乎会随机冻结。我尝试查看解决方案Ubuntu 15.10 和 16.04 不断随机冻结但是在安装这些内核时,我在启动时遇到了内核恐慌,所以我进一步寻找解决方案Ubuntu 16.04 不断冻结导致内核崩溃但不知道该如何解决这个问题。有人能告诉我应该安装哪些内核才能解决这两个问题(内核崩溃和随机冻结)吗?16.04 预装的内核是 4.4.0-21-通用以下是一些额外的细节:
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
Processor: Intel® Pentium(R) CPU N3540 @ 2.16GHz × 4
Graphics: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits)
Ram : 4Gb
Os type - 64 bit architecture
如果我需要提供任何其他详细信息,请告诉我。
编辑-1)
saisumit@saisumit-Inspiron-3551:~$ sudo dpkg -l | grep linux-headers-4.7*.deb
[sudo] password for saisumit:
saisumit@saisumit-Inspiron-3551:~$ sudo dpkg -l |grep linux-image-4.7*.deb
saisumit@saisumit-Inspiron-3551:~$ sudo update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.7.0-040700rc3-generic
Found initrd image: /boot/initrd.img-4.7.0-040700rc3-generic
Found linux image: /boot/vmlinuz-4.4.0-21-generic
Found initrd image: /boot/initrd.img-4.4.0-21-generic
Adding boot menu entry for EFI firmware configuration
done
saisumit@saisumit-Inspiron-3551:~$
我使用此方法安装
wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.7-rc3-yakkety/linux-headers-4.7.0-040700rc3_4.7.0-040700rc3.201606121131_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.7-rc3-yakkety/linux-headers-4.7.0-040700rc3-generic_4.7.0-040700rc3.201606121131_i386.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.7-rc3-yakkety/linux-image-4.7.0-040700rc3-generic_4.7.0-040700rc3.201606121131_i386.deb
sudo dpkg -i linux-headers-4.7*.deb linux-image-4.7*.deb
编辑 - 2 ( 安装 grub 定制程序 )
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
答案1
您的处理器受到c 状态错误 当 CPU 尝试进入不受支持的睡眠状态时,会导致完全冻结。这是许多 Bay Trail 设备的问题,尤其是采用较新内核 (4.*) 的设备。
在上游正确修复之前,有一个简单的解决方法。你只需要传递一个内核启动参数并且随机冻结完全停止。
您可以通过编辑 GRUB 的配置文件来完成此操作:
启动 Ubuntu 并按ctrl+ alt+打开终端t,然后输入
sudo nano /etc/default/grub
找到这条线GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
这需要更改为包括intel_idle.max_cstate=1
因此,编辑后的内容为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
如果除了 quiet 和 splash 之外您已经有了其他启动参数,那么就不要管它们了。
ctrl现在按+保存文件,o然后enter按ctrl+退出x
现在输入
sudo update-grub
然后重启
要从手动安装的较高版本恢复到较旧的内核,请重新启动系统并按 进入 GRUB 菜单shift。在 GRUB 屏幕上选择Ubuntu 的高级选项并选择你想要启动的内核(4.4.0-21-generic
根据你的情况)
系统启动后,在删除任何内容之前,请检查uname -r
以确保已启动正确的内核。
系统默认会启动最高版本的内核,所以你需要自己删除较新的内核。你需要做的就是删除与其相关的文件,因此找到要删除的内核的版本字符串...如果你是通过 debian 方法安装的:
dpkg -l | grep linux-image
如果你使用make install
do安装ls /boot
,则可以看到已安装的内核版本
假设您要删除的内核有发布字符串4.7.0-040700rc3-generic
。您可以找到与此内核相关的所有文件:
sudo updatedb && locate -b -e 4.7.0-040700rc3-generic
要删除它们,您可以使用xargs
(假设您已经运行sudo updatedb
)
locate -b -e 4.7.0-040700rc3-generic | xargs -p sudo rm -r
-p
在执行找到的文件之前,会xargs
要求确认rm -r
。对于不是目录的文件,它会抛出错误,因为你试图递归删除它们,但它仍然有效。最后运行
sudo update-grub