解码失败,系统在传统启动期间停止(可能是由于连接了大型 SATA 驱动器)

解码失败,系统在传统启动期间停止(可能是由于连接了大型 SATA 驱动器)

我启动了基于 Linux Mint 20.2 的 liveUSB 棒。输出 initrd 行(vmlinuz 之后的一行)后,我得到了空屏幕,显示“解码失败,系统停止”(尝试了两次,错误被重现)。这种情况仅发生在 4 种情况之一:连接大型 (>4TB) SATA 驱动器的传统启动; UEFI 使用驱动器启动(一个 4Tb 和一个 >4TB),传统启动时不带该驱动器(仅连接一个 4TB)(第四:UEFI 不带磁盘,我还没有尝试过)。网络搜索对大型驱动器的支持发现:https://superuser.com/questions/1005475/trying-to-understand-linux-support-for-4tb-hard-disk-drive-on-legacy-bios在哪里:

尽管如此,由于新磁盘是非启动磁盘,因此您不必真正担心这些问题。

对于“解码失败,系统停止”,我阅读了许多找到的链接:https://askubuntu.com/questions/1269855/usb-installer-initramfs-unpacking-failed-decoding-failed,https://forums.linuxmint.com/viewtopic.php?t=328925,https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/1870260,https://askubuntu.com/questions/1355231/decoding-failed-system-halted,https://www.quora.com/Now-I-am-booting-Ubuntu-20-10-with-flash-card-When-booting-it-is-saying-Decoding-failed-system-halted-What-我应该做什么,https://www.reddit.com/r/linux4noobs/comments/q7ahdx/decoding_failed_system_halted_problem/

我不明白它如何适用于我的问题,他们谈论 initrd 中的压缩错误、硬件级别的驱动器故障、随机发生的问题。我猜测在 BIOS/传统模式下 initrd 无法识别大型 SATA 磁盘。我该如何检查?

补充1:
今天的另一个问题:

64 bit relocation outside of kernel! 
--- system halted  

loading initrd.lz...输出支持 PSU 失败假设的答案后再次进行。当我连接一个硬盘时,系统在没有电源的情况下启动 - 繁荣新的。

答案1

“解码失败,系统停止”似乎暗示 initramfs 解压缩例程检测到错误。如果这是真的,那么错误就发生在引导过程的早期,甚​​至在内核尝试检测任何 SATA 控制器之前。

如果 initramfs 成功解压,系统将在 SATA 访问错误时进入基于 initramfs 的紧急模式,而不是停止。

相反,您应该检查以下原因:

  • SATA 连接器插入不良或电缆损坏可能会导致在断开/重新连接磁盘时移动电缆时出现或消失的数据错误。 (但这不应该影响从实时 USB 启动...)

  • 旧的并且开始出现故障的电源可能不再能够同时启动所有磁盘的任务(因此断开任何磁盘的连接可能会有所帮助,因为它可以减少负载)。 RAM 内存或 USB 记忆棒在启动时可能会出现轻微欠压,足以导致读取 initramfs 文件时数据损坏,但不幸的是不足以触发欠压检测。

  • “不喜欢的”HDD 中的故障可能会导致其在启动时消耗异常量的电流,从而导致系统其余部分发生欠压事件,从而导致读取 USB 记忆棒时数据损坏。

相关内容