解碼失敗,系統在傳統引導期間停止(可能是由於連接了大型 SATA 驅動器)
我啟動了基於 Linux Mint 20.2 的 liveUSB 記憶棒。在輸出 initrd 行(在 vmlinuz 之後)後,我得到了“解碼失敗,系統停止”的空白螢幕(嘗試了兩次,錯誤被重現)。這僅發生在 4 種情況中的 1 種情況下:連接大型 (>4TB) SATA 驅動器的傳統啟動;UEFI 使用驅動器啟動(一個 4Tb 和一個 >4TB),傳統啟動不帶該驅動器(僅連接一個 4TB)(第 4 個:UEFI 不帶磁碟,我沒有嘗試過)。找到支持大型驅動器的 Web 搜尋: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- _ _ _ _系統停止失敗,https://www.quora.com/Now-I-am-booting-Ubuntu-20-10-with-flash-card-When-booting-it-is-saying-Decoding-failed- system-halted-What-should-I-do,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 失敗假設的答案。當我連接一個硬碟驅動器時,系統在沒有電源的情況下啟動 - 繁榮那個新的。
“解碼失敗,系統停止”似乎意味著 initramfs 解壓縮常式檢測到錯誤。如果這是真的,那麼錯誤發生在啟動過程的早期,甚至在核心嘗試檢測任何 SATA 控制器之前。
如果 initramfs 成功解包,系統將在 SATA 訪問錯誤時進入基於 initramfs 的緊急模式,而不是停止。
相反,您應該檢查以下原因:
- 插入不良的 SATA 連接器或損壞的電纜可能會導致在斷開/重新連接磁碟時移動電纜時出現數據錯誤。(但這不應該影響從實時 USB 引導…)
- 一個舊的並且開始出現故障的電源可能不再能夠同時啟動所有磁碟的任務(因此斷開任何磁碟可能會有所幫助,因為它可以減少負載)。RAM 記憶體或 USB 記憶棒在啟動時可能會出現輕微的欠壓,這足以在讀取 initramfs 文件時導致數據損壞,但不幸的是不足以觸發欠壓檢測。
- “不喜歡”的 HDD 中的故障可能會導致它在啟動時消耗異常量的電流,從而導致系統其餘部分發生欠壓事件,從而導致讀取 USB 記憶棒的數據損壞。