我遇到了内核恐慌的问题-无法同步:试图杀死 init!

我遇到了内核恐慌的问题-无法同步:试图杀死 init!

我尝试使用 grub 启动文件系统,但没有成功。我不想使用外部媒体重新安装操作系统。请帮我解决这个问题。请查看下面链接图片中的错误截图。

我使用 Ubuntu 18.04 LTS 作为我的 HP pavilion g6 中唯一的操作系统,该电脑配备英特尔 i5 处理器和 8GB 内存。

错误图像

我尝试过在启动系统之前使用“e”选项,并通过用“nomodeset”删除“quiet splash”来更改 Linux 命令行。我尝试了大多数解决方案,但没有成功。

我尝试使用以下步骤从 grub 启动,但失败了,并且遇到了同样的错误。下面的命令根据我的系统略有不同 -

grub> set root=(hd0,1) grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 grub> initrd /boot/initrd.img-3.13.0-29-generic grub> boot

由于 BIOS 中禁用了虚拟化功能,因此我无法启动 vbox,因此出现了问题,因此我重新启动系统以在 BIOS 中启用虚拟化功能,再次重新启动机器后,我又遇到了这个问题。

目前,我只能使用“c”和“e”选项访问 Linux 中的 grub 命令行界面和高级启动选项。

更新 1:我禁用了虚拟化,但问题并未解决。我也无法使用该locate命令找到文件 zz-resume-auto。Grub 无法识别此命令。我也尝试使用,search.file zz-resume-auto但没有成功。我不太熟悉 grub 命令行界面。请帮我使用命令来搜索文件。

输出ls -al /boot:-

在此处输入图片描述

更新2:我也无法启动到最新的内核版本。我附上链接以了解更多信息。我尝试使用启动修复来解决这个问题,但没有任何效果。请查看启动修复报告 -http://paste.ubuntu.com/p/F2kbMT6nd5/

谢谢。

答案1

您尝试启动的内核的 initramfs 映像完全可能已损坏。根据您的ls -al /boot输出,该映像可能是 5.3.0-28 或 5.3.0-40

initramfs 是一个 gzip 压缩的 cpio 存档。在启动时,内核会将该存档解压到 RAM 磁盘中,然后挂载并将其用作初始根文件系统。所有根设备的查找都发生在这个早期用户空间中。这些通常位于 /boot 中,在我的系统上称为 initrd.img-内核版本

您可以使用命令检查图像中是否存在相关文件lsinitramfs /boot/initrd.img-5.3.0-28-generic | grep zz-resume-auto(例如,根据您搜索的图像和要搜索的内容调整文件名)

如果是这种情况,该update-initramfs脚本可能会解决问题。以下是 [手册页] 的摘录

EXAMPLES
   Update the initramfs of the newest kernel:

   update-initramfs -u

   Create the initramfs for a specific kernel:

   update-initramfs -c -k 2.6.18-1-686

有关启动过程的更多详细信息,请参阅不错的介绍。

资料来源:

man update-initramfs

https://unix.stackexchange.com/questions/424599/is-update-initramfs-u-needed-after-adding-or-removing-a-module-with-modprobe

https://opensource.com/article/17/2/linux-boot-and-startup

答案2

当内核由于某种原因无法继续运行时,就会发生“内核恐慌”。

“试图终止init”实际上意味着:“init死亡或无法启动”。这是进程 #1,它在 Linux 中占有特殊地位,没有它系统就无法运行。很可能是库错误或其他问题导致进程根本无法启动。检查dmesg发生故障之前的日志。

答案3

此错误...

您安装了一个应用程序(可能是 zram 或类似的程序),但该应用程序安装了无效文件zz-resume-auto.*,或者您手动添加了某个地方的文件zz-resume-auto.*,但其中有错误,或者您有一个有缺陷的/boot/initrd.img-5.3.0-40-generic文件。

找到此文件并更正脚本错误。使用locate -b zz-resume-autofind / -name zz-resume-auto帮助查找此文件。它可能位于 中/etc/initramfs-tools/conf.d/。如果是这样,您需要sudo update-initramfs -c -k 5.3.0-40-generic在修复脚本后执行 。

更新#1:

在 BIOS 中禁用虚拟化功能,看看是否能让您启动。

更新 #2:

尝试启动较旧的 -28 内核。

更新 #3:

sudo update-initramfs -c -k 5.3.0-40-generic解决了问题

相关内容