Windows 8 變更啟動順序

Windows 8 變更啟動順序

我在 UEFI 模式下在 3TB GPT 磁碟上安裝了 Windows 8 和 Ubuntu 12.10。

兩者都可以正常啟動。

兩個作業系統都在 UEFI 啟動選單中建立了自己的條目,其中有一個「ubuntu」條目和一個「Windows 8」條目。

開機順序可以在主機板的 UEFI 設定中變更。

我想先啟動“ubuntu”,因為我將 GRUB 2 設定為能夠啟動兩個系統。

但每當我啟動 Windows 8 時,它都會更改啟動順序,以便它首先啟動。

我怎樣才能防止這種情況發生?

多謝。

- 更新 -

我了解到 bcdedit.exe 可用於操作 Windows 中的開機設定資料。

這很重要,因為 Windows 將 BCD 與儲存啟動順序的啟動 NVRAM 同步。

每次觸碰 BCD 中的 {fwbootmgr} 條目時,NVRAM 都會被覆寫。

我修改了此條目以首先載入 GRUB 2,結果確實如此。但是,啟動 Windows 8 後,NVRAMBCD中的{fwbootmgr}恢復為原來的順序,即先啟動Windows 8。

我對此真的很困惑。

-- 更新 2 --

我透過在 Windows 的群組原則編輯器中建立啟動腳本來解決這個問題。啟動腳本發出「bcdedit /set {fwbootmgr} DEFAULT {適當的 UUID}」指令。這是一個大駭客,絕對不是我想要的解決方案。我希望 Windows 在 NVRAM 中排名第二,僅次於 GRUB。

那我該怎麼做呢?

答案1

微軟代表在他們的官方論壇上回答了我的問題。他們表示,這確實是正常行為。

我透過在每次系統啟動時執行 .bat 檔案解決了該問題。該文件執行以下操作:

bcdedit /set {fwbootmgr} DEFAULT {appropriate UUID}

其中「適當的UUID」是GRUB中的UUID,可以從「bcedit /enum韌體」清單中讀取。

可以透過開啟群組原則編輯器來編輯bat檔案(在metro中尋找)。

我寫了一篇關於雙啟動問題的文章:http://tlfabian.blogspot.hu/2013/01/converting-dual-boot-mbr-partitioned.html

答案2

不保證,但在 Windows 中嘗試:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

如果您尚未停用安全啟動,則需要更改grubx64.efishim.efi.

如果這不起作用,請向 Microsoft 投訴,或將其從雙啟動狀態中刪除並在虛擬機器中執行。

相關內容