【问题标题】:How to solve "Kernel panic - not syncing - Attempted to kill init" -- without erasing any user data [closed]如何解决“内核恐慌 - 不同步 - 试图杀死 init” - 不删除任何用户数据 [关闭]
【发布时间】:2019-09-08 03:46:54
【问题描述】:

我试图在我们的 Ubuntu 服务器中更新 libc,但它失败了,现在当我重新启动服务器时,我收到一条错误消息:

内核恐慌 - 不同步 - 试图杀死 init!

它只是挂起。

解决这个问题的方法是什么?服务器有 10 个人使用,所以我不想重新安装删除他们的数据。

【问题讨论】:

  • 内核恐慌的发生有多种原因。通常是由于硬件故障...您需要查看 /var/log/dmesg 和 /var/log/syslog 以获取有关实际情况的更多信息。
  • 您应该尝试使用“Live CD”启动,然后挂载包含//lib 的硬盘分区。然后尝试恢复 libc 文件。
  • 这不是这个问题的正确论坛。你最好在 superuser.com 或 ubuntu.stackexchange.com 上询问。这个问题看起来很快就会迁移到 superuser.com。
  • 我从 14.04 升级 dist 时遇到了同样的问题,我什至无法使用旧内核启动并救援更多,你是如何解决的。 ??????
  • 我也有同样的问题。你找到解决方案了吗?谢谢。

标签: security ubuntu linux-kernel selinux panic


【解决方案1】:

如果完整的消息是:

kernel panic - not syncing: Attempted to kill inint !
PId: 1, comm: init not tainted 2.6.32.-279-5.2.e16.x86_64 #1

那么您应该禁用 selinux,然后重新启动系统。

更简单的方法是使用实​​时操作系统并重新启用它

vim /etc/selinux/config
    ...
    SELINUX=enforcing
    ...

第二种选择是通过添加 selinux=0

在内核参数中禁用 selinux
vim /boot/grub/grub.conf
    ...
    kernel /boot/vmlinuz-2.4.20-selinux-2003040709 ro root=/dev/hda1 nousb selinux=0
    ...

来源kernel panic - not syncing: Attempted to kill inint !

【讨论】:

  • selinux != linux 防火墙!
  • 第二个在将qemu 2.6.0 用于ARM debian (rasbian) 系统时不起作用。
  • 顺便说一下链接挂了,我不知道它指向什么。
【解决方案2】:
  1. 安装centos live cd 并启动
  2. 进入救援模式并等待加载
  3. 读取终端以查看其安装操作系统的位置
  4. 进入操作系统
  5. vim 或 nano /etc/selinux/config
  6. 确保 SELINUX=enforcing 或 disabled

【讨论】:

    【解决方案3】:

    解决办法是:-

    1. 重启
    2. 进入高级菜单,然后点击“e”(编辑启动参数)
    3. 转到以 linux 开头的行并按 End
    4. 新闻空间
    5. 在末尾添加以下内容 -> kernel.panic=1
    6. 按 F10 重新启动

    这基本上会强制您的 PC 重新启动,因为默认情况下它不会在内核崩溃后重新启动。

    【讨论】:

    • 这在 Ubuntu 14.04 上对我不起作用
    • 这里也没有用
    • 这对 debian 9.x 不起作用):
    【解决方案4】:

    从 CD 启动以挽救安装和编辑 /etc/selinux/config:将 SELINUX 从强制更改为许可。重新启动并启动系统

    /etc/selinux/config更改前:

    SELINUX=enforcing and SELINUXTYPE=permissive

    /etc/selinux/config 更改后: SELINUX=permissive and SELINUXTYPE=permissive

    【讨论】:

      【解决方案5】:

      我只是在更换故障磁盘时遇到了这个问题。我已经将系统文件复制到了新磁盘上,并且很高兴在 fstab 中用新磁盘的 UUID 替换旧磁盘的 UUID 条目。

      但是我没有替换 /boot/grub 中 grub.conf(有时是 menu.lst)文件中的 UUID。所以检查你的 grub.conf 文件,如果“内核”行有类似

      kernel ... root=UUID=906eaa97-f66a-4d39-a39d-5091c7095987 
      

      它可能有旧磁盘的 UUID。用新磁盘的 UUID 替换它并运行 grub-install(如果您在 live CD 救援中,您可能需要 chroot 或指定 grub 目录)。

      【讨论】:

        【解决方案6】:

        重新安装 /
        例如。

        1. mount -o remount,rw /dev/xyz /
        2. sed -i 's/1 1/0 0/' /etc/fstab
        3. sed -i 's/1 2/0 0/' /etc/fstab
        4. 重启

        【讨论】:

          【解决方案7】:

          在 grub 屏幕上 goto boot in recovery。

          开机按住ESC

          它应该带你进入一个 gui 菜单。打开命令并修复 selinux。

          另外我建议运行干净的损坏包

          【讨论】:

            【解决方案8】:

            通过 cd 使用救援模式并挂载文件系统。尝试检查是否删除了任何二进制文件或文件夹。如果被删除,您将不得不手动安装 rpm 以取回这些文件。

            https://askubuntu.com/questions/92946/cannot-boot-because-kernel-panic-not-syncing-attempted-to-kill-init

            【讨论】:

            • 在基于 Debian 的系统(例如 Ubuntu)上,它将是 .deb 文件而不是 rpm 文件。如果恢复系统失败,则在重新安装之前复制用户数据目录是另一种选择。实际上,这是在进一步尝试修复之前应该做的第一件事。前往您当地的办公室,获取外部硬盘驱动器,从 liveCD 启动并备份用户数据。然后考虑修复。
            猜你喜欢
            • 1970-01-01
            • 2019-01-10
            • 2017-08-24
            • 2014-01-04
            • 2018-08-28
            • 2018-09-22
            • 1970-01-01
            • 2020-01-28
            • 1970-01-01
            相关资源
            最近更新 更多