Debian
系統跳過 grub 並載入到 Windows (UEFI)
這是我第一次在具有 UEFI 而不是 BIOS 的電腦上安裝 Linux(Debian 測試)。我先安裝了 Windows,然後安裝了 Debian(就像我一直做的那樣),但無論如何系統都會直接啟動到 Windows 10。
我嘗試了許多解決方案:禁用安全啟動,嘗試了多個 bios 設置(CSM 支持啟用-禁用,僅 UEFI 啟動,UEFI 和舊版等),禁用 Windows 快速啟動,嘗試安裝 rEFInd,嘗試從 Windows shell 使用 bcdedit,嘗試徹底重裝系統。。
引導進入 GRUB(已安裝且執行良好)的唯一方法是使用 rEFInd USB。通過這種方式,我設法使用 efibootmgr EFI/debian/grubx64.efi 命令將 GRUB 添加到 EFI(缺少),但它仍然無法正常工作。
我的電腦是Thinkpad T470。
除了您已經提到的嘗試之外,還有兩種可能性,都涉及系統韌體:
- 韌體實際上並沒有正確實現 UEFI,忽略各種 UEFI 引導變數,
\EFI\Microsoft\Boot\bootmgfw.efi
如果存在則無條件載入。如果是這種情況,那麼除了 Windows 之外,您實際上無法正確地對系統上的任何東西進行雙重引導。許多較舊的技嘉主機板因此而臭名昭著,但我認為聯想從未在任何 Thinkpad 上做到這一點。- UEFI 引導載入程序變數是只讀的,但以與 UEFI 規範不匹配的方式實現。我知道至少一些 THinkpad(例如我以前擁有的 L540)具有允許使用者“鎖定”這些變數的韌體,以便它們無法更改,據說是為了保護系統免受啟動時惡意軟體的侵害(我用它來防止 Windows 在很長一段時間內重寫引導順序,直到我了解了這個
bcdedit
技巧)。區分這兩種情況其實並不難。要檢查第二種情況是否正在發生:
- 啟動進入 Linux。
- 使用該
efibootmgr
命令添加虛擬引導條目或更改引導順序。- 完全關閉系統(不要重新啟動,從字面上關閉系統)。
- 再次啟動進入 Linux。
如果您在步驟 2 中所做的更改仍然存在,那麼第一種情況可能是您的問題,並且您可能無法更改任何內容以使該系統雙啟動 Windows 和 Linux。否則,第二種情況是怎麼回事,您可能會在韌體設置中找到一個選項來禁用此行為(我不記得我的 L540 上的選項是什麼,但它應該在引導或安全選項卡中) .