无法从 Live USB 启动:内核崩溃

无法从 Live USB 启动:内核崩溃

无论我怎么尝试,我都无法从 Ubuntu Live USB 启动(当前版本 20.04 LTS)。“磁盘检查”成功完成后,启动立即停止。当启动时没有启动画面(nosplash),我收到以下消息:

run-init: can't execute 's/sbin/init': No such file or directory
Target filesystem doesn't have requested /sbin/init.
run-init: can't execute 's/sbin/init': No such file or directory
run-init: can't execute 'etc/init': Permission denied
Kernel Panic - not syncing: Attempted to kill init! exitcode=0x00000100

内核崩溃

在此处输入图片描述

由于启动时甚至无法进入命令行,因此我无法提供文本文件形式的日志。不过,有一个整个启动过程的视频。如果您认为这有帮助,我可以把它放在某个地方。

我已经研究了好几天,相信我已经尝试了所有帖子中推荐的方法。以下是所有我尝试过的事情,不一定按时间顺序排列:

  1. 已成功验证下载的 ISO(提供的 SHA256这里
  2. 尝试了三个不同的 USB 棒,两个 USB 3,一个 USB 2,每个都使用最新版本的 Rufus(3.10)进行了多次设置。
  3. 尝试了计算机上的不同 USB 插座,以及主板上的两个 USB 控制器。
  4. 尝试了一下 Bios 提供的几个启动选项(例如 UEFI 与 Legacy+UEFI、支持 Win 7/8 安装开/关、安全启动)
  5. 更新的 BIOS
  6. 尝试使用 UEFI 和非 UEFI 启动
  7. 尝试了所有这些高级启动选项:nosplash、nomodeset、acpi=off、nolapic
  8. 断开计算机上除 Live USB 棒、键盘+鼠标适配器和屏幕以外的所有连接
  9. 检查我的硬件是否受支持,对于(可能是最重要的)英特尔 Z170 芯片组来说似乎就是这样

我的电脑:

  • MSI Z170A Gaming M5 (MS-7977,规格)(我不是游戏玩家,但这个模型当时满足了我所有的要求……)
  • 英特尔酷睿 i7-6700 CPU(3.40GHz)
  • Corsair Vengeance LPX 2x8GB DDR4
  • 应该不相关,但里面有一个三星 SSD 950 M.2 驱动器,里面装有 Windows 10(一直以来都在运行,并且仍然没有问题)

我只是不明白内核(?)为什么无法从映像中访问文件,而这些映像(可能)一秒钟前才提取到内存中,或者至少在前一刻成功检查了完整性。我做错了什么?

答案1

由于您可以在 UEFI 模式下启动,因此我们将 Rufus 排除在外:

如果您只是将其中一个驱动器格式化为 FAT32(您可以使用 Windows 磁盘管理器来执行此操作,无论驱动器是 GPT 还是 MBR 都无关紧要),然后手动将所有 ISO 文件提取到该驱动器上(您可以使用7-zip执行此操作),然后尝试以 UEFI 模式启动它?

考虑到这几乎就是 Rufus 在创建 UEFI 驱动器时所做的,我预计您会看到完全相同的问题。

您收到的错误非常令人费解,因为如果 ISO SHA256 匹配,尤其是的文件验证/casper/filesystem.squashfs没有产生任何错误,那么/sbin/init肯定存在于 SquashFS 文件系统上的 应该是可访问的。

我唯一能想到的是:

  • 对于某些类型或底层文件系统的 SquashFS 来说,由于是符号链接,因此在处理符号链接时出现了奇怪的错误/sbin(但这种情况不太可能发生,因为符号链接其实没什么特别的)
  • 奇怪的 SquashFS 解压缩错误,因为 SquashFS 使用压缩,当 SquashFS 驱动程序请求额外的文件块进行解压缩时,底层文件系统可能会产生影响,并且解压缩可能会使用某些特定的 CPU 扩展来提高速度(这可以解释为什么它仅限于某些平台)。

另一个可能值得进行的测试是尝试使用 FAT32 格式的驱动器并添加toram到内核选项(您添加了 的选项nosplash),以便将 SquashFS 映像加载到内存并从那里读取,而不是从磁盘读取。如果这样做,您应该会看到启动过程需要更长时间,并显示类似 的消息Copying live-media to ram...。这应该有助于确认这是否真的与使用 FAT32 作为 SquashFS 文件的底层文件系统有关。

答案2

最终发现是 USB 的问题。我之前没有尝试过的两件事被证明是有效的:

任何一个将 ISO 映像写入 USB 驱动器DD 模式。(Rufus 提供两种将 ISO 映像写入 USB 记忆棒的不同模式:ISO 模式和 DD 模式;ISO 模式是标准模式。)这样做的缺点是不能将该特定的 USB 记忆棒用于其他任何用途。

或者将 USB 格式化为NTFS(而不是最常用于 USB 记忆棒的 FAT32)

我可以在Rufus 常见问题解答似乎表明 ISO 一开始就存在问题(根据 Rufus FAQ,GRUB EFI 引导加载程序中缺少 FAT32 模块支持)。

编辑:Rufus 开发人员 Pete 对此很感兴趣,我们正在调查这里可能发生了什么。不过,这似乎不是一个普遍存在的问题。我会报告的。

相关内容