Arch Linux启动时随机出现“内核恐慌”的可能解决方案

这篇文章是为了展示如何“修复”几乎有错误的启动问题 Arch Linux。 如下图所示:

IMG_20140707_210559

可以看出,这是启动带有此问题的操作系统时随机出现的许多错误“组合”之一。 就像在该错误中所指出的那样,它表明“硬件”中可能存在问题,但是,众所周知,在该操作系统中,即使不属于操作系统的错误技巧也可以解决。

因此,我将描述我对这个问题的经验。 根据我的经验,问题仅在于 Arch Linux 或我在外部测试过的另一个发行版,因为有了我安装或测试过的任何ubuntu,它开始时都没有问题。 但是如果我试图撕裂 Arch Linux 安装在硬盘驱动器上时,它存在一个问题,必须重新引导大约50次才能使OS正常启动并可以使用它。

这已经让我有些问题,因为我只能使用安装的ubuntu进行测试,而我什至无法完成一半的工作 Arch Linux。 因此,我决定解决此问题并开始调查,寻找存在相同问题的论坛线程,他们还提到这是硬件错误,而恰恰是CPU,所以它开始让我担心,所以我不得不打开PC并验证正在发生的事情,但是它没有帮助。

但是向我展示的是,我不应该放弃的是 Ubuntu 我可以因为 Arch Linux 不(也许 Ubuntu 胜过 ……?)。 所以我开始将引导参数写入内核 Arch Linux, 像: lapic,nomce,intel_idle.max_cstate = 0,disable_cpu_apic,acpi_skip_timer_override,acpi = stric,clk,apm,noapic,acpi = oldboot,acpi-cpufreq,intel_pstate = disable,i8042.noacpi = 1,apmt = ds apm =已复制,acdtpi = 0,apm =已复制pci = nocrs,rhgb,acpi =强制,pnpacpi = XNUMXff 和其他更多…在我所阅读的论坛中,所有这些都是推荐的。

在我不得不去查阅内核参数的文档之前,我建议这样做: https://www.kernel.org/doc/Documentation/kernel-parameters.txt

我找到了一个非常有趣的参数,目前我设法启动了 Arch Linux 没问题:

linux /boot/vmlinuz-linux root=UUID=fbefe36c-1712-4f3b-b3e3-3eac759d71c9 notsc nomce maxcpus = 0

如此处所示,此参数的作用是在不激活对称处理模式的情况下将使用限制为cpu。 最初,它工作得很好,直到我使用命令为止 吃豆子-Syyu; 把我扔了 核心倾销 o 分段故障。

因此,我自动注意到发生了奇怪的事情,因此我开始运行其他进程,直到系统突然完全冻结并且不再起作用,直到重新启动它为止。 所以我做了同样的操作,但是这次我设法执行了 HTOP 它显示了以下内容:

IMG-20140729-WA0001

不出所料,它只显示一个CPU,因为另一个已禁用它,但是,对于我来说,为什么程序抛出异常似乎很奇怪 段故障, 甚至无法启动图形环境; 因此,这至少给了我更多希望,如果我以一种方式设置内核参数,它将引导我 Arch Linux 照常。

因此,我一直尝试尝试在列表中编写的其他参数,直到遇到此参数为止,这是目前最好的解决方案:

 linux /boot/vmlinuz-linux root=UUID=fbefe36c-1712-4f3b-b3e3-3eac759d71c9 notsc nomce isolcpus = 1

此参数的作用很简单,例如在对称处理中隔离(不停用)CPU的第二个核心,也就是说,将处理负载分配给单个核心,而另一个仅是互补的。 尽管看起来很矛盾,但这并不会对性能造成太大影响,因为这个出色的OS能够以这种方式运行应用程序:

测试

linux_rlz_compiz

因此,在启动时,我观察到的唯一问题是一个或两个内核恐慌或oops。 但与之前必须重新启动的50次相比,我可以将其视为“解决方法”。 对于其余的内容,到目前为止,它已经允许我使用操作系统并撰写您现在正在阅读的这篇文章:-)。

希望他们能对您有所帮助,并且不要离开 GNU / Linux的,这是他们发明的最佳操作系统。 我肯定地说。


31条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   格雷戈里奥·埃斯帕达斯(Gregorio Espadas)

    非常有趣的信息。 多年来,我从来没有在ArchLinux中遇到过内核恐慌,但是很高兴知道一旦出现问题该怎么办。 谢谢!

    1.    基克1n

      无论如何,我使用Arch已有很长的时间了(没有Arch就好像是1年)并且没有内核恐慌。
      谢谢你的提示。

    2.    c4爆炸

      正如我在文章中提到的,问题最有可能是由于硬件造成的,因为在我使用的arch中,它也没有给我这种类型的任何问题。

    3.    拉夫

      另一个在Arch中取得优异成绩的人,我从未遇到过内核恐慌

    4.    原始基础

      G使用GNU / Linux已有2年多……使用ArchLinux已有2年了,从没有内核恐慌..😉

    5.    曼努埃尔·德拉·富恩特

      我认为内核恐慌更多是由于硬件而不是发行版本身造成的。 我从来没有在我现在使用的笔记本电脑上看到过紧急内核,除非我将Ubuntu alpha放入其中(而且Arch Linux也在这里两年了)。 另一方面,在我拥有的另一台笔记本电脑中,我放置的任何发行版始终会引起内核恐慌和各种口味的错误。

  2.   埃利奥时间3000

    在Debian上使用内核3.14时,我还遇到了内核恐慌问题,此外,每当我打开PC时,都会收到“连接/断开超时”消息(以及将其关闭时的消息)。

    1.    阿毛里

      在Fedora中和在Arch中一样,这件事在我身上发生了很多,但是我不知道为什么,以及我如何看不到差异,因为我没有花时间研究或解决(如果有问题)。

  3.   托尼

    十分感谢你分享这些信息。 我们可以夸耀的很多事情就是这种类型的论坛

  4.   马努

    为什么Arch Linux会发生这种情况? 可能这是不够的,因为这些问题经常会因系统运行缓慢或挂起而达到将系统扔向烦恼的程度。

    1.    拉夫

      嘿? 你在说什么? o_O

    2.    阿毛里

      简而言之,Arch是一个KISS发行版,可从操作系统本身进行配置,简而言之,如果系统很重,那是因为您以这种方式构建它,如果系统有错误,那是因为您生成了它们,或者是因为您没有正确配置某些内容Arch Wiki相当完整,几年前,西班牙语中没有很多重要的话题,而且安装过程更加繁琐,有些困难,现在一切都变得自动化了。
      责怪发行版中的用户错误是……Windows(?)。

      1.    达拉

        责怪发行版的错误是一致的,仅仅是因为这是事实。 在对Manjaro遇到类似问题之后,我尝试了Arch,Antergos和另一个未知的发行版(抱歉,我现在不记得这个名字了),有人建议我向我保证它不会出现问题,但是什么也没有。 他们都给它。 在OpenSuse,Fedora,Mint,Mageia和后来我尝试过的所有工具中,都不会发生。 因此,就我而言,我别无选择,只能认为这是发行版的错。 但是,嘿,我没有妖魔化它或其他任何东西,更何况,这确实使我无法使用基于Arch的任何东西感到烦恼,因为我真的很喜欢它,但是那个该死的问题阻止了我。 我也不认为这与硬件有关,因为发生在我们身上的很多人并不是在使用相同的他妈的之前发生的。 好吧,实际上它一定是与硬件有关的东西,但是回到同一件事,如果我没有进行任何更改并且我在以前没有使用过的相同设备上遇到了问题,那显然是由于彻底改变了我的主意。

      2.    胡安

        “将发行版归咎于用户错误就是……Windows(?)。”

        我要告诉你,责怪用户产品错误就是苹果。 老实说,我已经思考了一千遍了,但我看不出使用维护者基本上为任何认真目的洗手的东西的优势。 我说的是,考虑到GPL软件不提供保修。

        您可以根据需要说,但如果是同一情况,则有报道称iPhone缺乏信号,而Apple的反应是几年前的“是您弄错了”。 如果制作发行版,通常希望提供一些质量和最少的支持,事实是Arch基本上是一个业余爱好者系统,在该系统中,您可以看到Arch的开发人员乐于打包新东西,但对提供真正的支持却没有兴趣。 。 每当我看到这些类型的帖子时,我都会更珍视我使用的发行版背后的工作。

        是的,如果它不起作用,在更新中停止工作或某些硬件出现故障,则是软件问题。 一个内核恐慌发行版却没有另一个……好吧,是的,很显然,有一个发行版正在做正确的事,另一个做错了事。 现在,如果您很高兴以90年代的风格使用Linux,那么每次插入新打印机时,我们都必须重新编译内核……在那里。

  5.   马里奥

    内核是由开发人员编译的吗? 还是你自己的?
    内核恐慌是通过在编译时未选择(与)某些组件或未激活某些模块来支持某些硬件而生成的。 凭借对硬件的实践和知识(您必须打开PC并查看其具有哪些品牌的芯片),您可以(通过chrooting)构建自定义内核。 如果您的计算机上装有ubuntu和Arch安装CD,则编译中的某些内容未激活。

    1.    c4爆炸

      它是来自archlinux本身和存储库中的库存内核。

  6.   匿名

    您正在使用的内核,还有您的硬件不喜欢的东西,您的主板上必须有罕见的芯片版本,或者甚至是芯片中的错误(通常会发生)。
    它可能是您的BIOS中的一张损坏的表,值班的中国人甚至没有很好地计算每个表的校验和是正常的,这些消息通常在引导开始时以$ dmesg -human出现。
    您还应该尝试使用另一个电源,当过滤失败时,纹波往往会导致这种故障。
    首先,尝试更改源,看看会发生什么,如果仍然相同,请尝试配置针对您的硬件的内核,这样您将在此过程中更好地了解您的PC。

    1.    c4爆炸

      感谢您的提示。 顺便说一句,它是一台笔记本电脑,我想我应该更换电池。 但是我明白你告诉我的可以帮助我。

  7.   友喜

    仍然令我疯狂的一个内核恐慌部分是新手们和我的旧的,过时的和满是灰尘的nVidia 6150 SE集成卡的错误(我的部分意思是;他们在支持多种图形芯片方面做得非常出色。像nVidia所拥有的那样,并且所有这些都仅使用逆向工程,而且问题仅在某些具有NV4E芯片组的卡上才会发生。

    只需启动Openbox + Firefox和灾难来袭(最美的莫过于在屏幕上看到完全随机的黑白马赛克)。 从Debian,Fedora,Archlinux,Slackware的内核3.6开始,我一直在唱它,现在又在Gentoo中重新进行了验证(仅安装在内核3.12中),我不再费心去向内核记录日志或花时间写一些不是胡说八道的东西。

    1.    匿名

      我为您提供了解决方案,我拥有gentoo和集成nvidia视频的PC与nouveau驱动程序相同,因此我别无选择,只能使用封闭的nvidia驱动程序,我的芯片必须使用304.123驱动程序

      00:0d.0 VGA兼容控制器[0300]:NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] [10de:03d6](rev a2)(编程为00 [VGA控制器])

      您必须先对内核文件进行修补,然后再对其进行编译,否则,图形模式将拒绝启动。

      这些步骤是:
      #nano -w /usr/src/linux-3.15.7-gentoo/drivers/acpi/osl.c
      在nano中使用ctrl + w搜索此文本,acpi_os_wait_events_complete和nano将带您到这一部分:

      无效acpi_os_wait_events_complete(无效)
      {
      flush_workqueue(kacpid_wq);
      flush_workqueue(kacpi_notify_wq);
      }
      EXPORT_SYMBOL(acpi_os_wait_events_complete);

      您需要添加的补丁是最后一行,以EXPORT,Ctrl +或Ctrl + X开头
      然后,编译内核,安装模块,安装内核,如果需要,请生成initramfs,如果使用Splash,则将初始代码添加到initramfs中,重新生成grub的条目,最后并且非常重要的是,您必须重建以下模块并非来自内核或专有的nvidia模块,否则将无法使用图形模式。

      #e选择内核列表
      #eselect内核集x
      #cd / usr / src / linux
      #使
      #make modules_install
      #挂载/启动
      #进行安装
      #dracut –hostonly»3.15.7-gentoo –force
      #splash_geninitramfs –详细–res 1400×1050 –附加/boot/initramfs-3.15.7-gentoo.img出现世界
      #grub-mkconfig -o /boot/grub/grub.cfg
      #出现@模块重建
      #卸载/启动
      #shutdown -r现在

      如果您使用genkernel,则只需修补该文件,我了解genkernel会自行修复。
      此外,您必须从内核中删除drm支持和nvidia驱动程序以及其他视频芯片,以免它们与作为nvidia模块安装的封闭nvidia驱动程序正面冲突。
      在使用bootsplash的情况下,您必须在内核中包含uvesa驱动程序,以便它支持高屏幕分辨率,因为封闭的nvidia驱动程序(如果我没记错的话)在以下终端的tty800«F600»中不支持超过1×1靴子。
      我对其他发行版一无所知,但我想如果这些步骤完成了,它就可以在任何发行版上工作,并且可以将出现的变更保存下来。

      对于nvidia和uvesa,这些是必须遵循的准则:
      http://wiki.gentoo.org/wiki/NVidia/nvidia-drivers/es
      http://wiki.gentoo.org/wiki/Uvesafb

      1.    友喜

        感谢您提供的信息,但是我通过改用专有解决了这一问题。 我记得以前的nVidia驱动程序(304.121)在转至3.13时也必须打补丁,因为它在模块的编译中存在问题(没有错误,但是模块拒绝工作),并且一切都归因于ACPI事件处理程序。 在Debian中,我遇到了问题并找到了解决方案。

        https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740097

    2.    达拉

      我以曼贾罗(Manjaro)为例,但之前我曾提到过Arch和其他衍生产品也发生了同样的事情。 因此,我认为问题不仅仅是那些受影响的人。

      附言:我无法直接回复相关消息,因为我看不到回复选项...

  8.   达拉

    我恰好是从Manjaro转到Linux Mint,因为它在更新到0.8.9之后的版本(在我记不清哪个版本)后启动时会冻结。 据我了解,这通常发生在笔记本电脑上。 我所讨论的问题与本文中的问题不同,我认为我得出的结论是它可能与电源管理有关。 有些人在拔下电源后启动笔记本电脑时不会冻结。 现在,我不记得这是否使我能够始终没有任何问题地开始,但是我当然能够以花费更长的时间做更多次。
    无论如何,最后我放弃了,转而使用Fedora和Linux Mint。

    1.    c4爆炸

      巧合的是,昨天我试图在没有充电器的情况下挂起它,并且在恢复它挂起状态后不得不重新启动。

  9.   阿毛里

    这很有趣,我在Arch呆了几个月,而且还没有一个内核恐慌! 实时环境中的Antergos(带有添加的存储库的Arch)在我身上发生了,但我认为这更容易理解。 主板有问题或RAM模块有问题吗? 我记得大约2年前,一个RAM模块使我在Windows中出现了多个蓝屏,并导致了多个内核崩溃! 在曼德里瓦(Mandriva)上。 在重新引导和重新引导之间,我必须一次测试每个内存。

    1.    达拉

      这是一个Arch问题(包含所有派生的问题),因为在其他发行版中没有此类问题。 我感到尴尬的是,他们目前还没有解决。 只是他们好几年了! 我从2011年开始就读过类似的问题。我很清楚,这是随着更新而来的,因为使用0.8.7、0.8.8和0.8.9版本而不进行更新不会发生任何事情。 从那时起,一切都变得糟透了,当然在旧版本中也发生了。 为什么只有我们几个人会发生这种情况? 我不知道,但是我不认为这是我们的问题,但是Arch的问题在于,因为正如已经说过的,其他发行版可以完美地工作。 我已经在他的日子里不知所措,想找到解决办法,但是我很累。 因此,很抱歉,我不会使用Arch。

      1.    友喜

        拱0.8.7、0.8.8和0.8.9? 我发现Arch使用该版本命名法。

        可能是您正在使用Manjaro吗?

      2.    友喜

        好的,我通过阅读您之前的评论来回答自己,一件事是Manjaro,另一件事是Arch。

        为某个问题归咎于发行版也不是一致的(不是很一致),至少就我而言,我不能归咎于nouveau和我的nVidia 6150SE卡为该问题尝试了多少发行版,因为问题是MMIO处理驱动程序和卡(nVidia会知道要修复什么,以及他们必须修复这些细节的疯狂事情)。 硬件也可能是问题所在,您可以看到在使用的任何操作系统(Windows,Linux,BSD)中,以及在修理计算机的经验中,我都遇到了非常奇怪的硬件问题(例如,除非您拒绝,否则PC会拒绝启动)更改内存位置,并且在关闭时必须重复该过程),对此我不能怪Windows和Debian。

  10.   拉索7

    我在现场Ubuntu 12.04上出现了内核恐慌

  11.   乌利塞斯·伯纳尔·佩雷斯

    我对我的Secure HP Pavilion dm4笔记本电脑,8 GB RAM和500个硬盘驱动器非常狂热,它已经使用了5年以上。 我不记得微处理器的速度,一个Intel Core i5,我认为超过2 MHz。
    我无法在终端屏幕上写任何东西。 我将继续寻找更多信息,以解决此问题。