
問完之後出現了這個問題一。看來 Win8.1 UEFI x64 啟動管理器無法啟動除 Windows 本身 (winload.efi) 以外的任何東西。嘗試從中啟動任何其他 UEFI 映像 (.efi) 會給出錯誤代碼 0xC000007B,我很確定這不是因為缺少文件,而是因為該文件“無效”,因為當我將該文件重命名為錯誤更改為 0xC000000F。我已禁用安全啟動,但沒有任何運氣。
目前我正在嘗試整合酶標儀引導程式。我可以說它的 UEFI 映像正在運行,因為它能夠使用韌體從 USB 隨身碟啟動。但是,使用 Windows 啟動管理員會得到與上述相同的結果(錯誤代碼 0xC000007B)。目前我的BCD配置是(圖):
命令列截圖http://imageshack.com/a/img811/7857/kbth.png
asF:\rEfit\refind
是儲存 refind 的目錄,「refind_x64.efi」是程式映像。
注意:我還想知道是否只允許 UEFI 映像(.efi 檔案)在 UEFI Windows 中啟動,以及非 UEFI 映像(如ntldr
、bootmgr
)的格式是什麼?
編輯:將 rEFInd 移至標準目錄(“EFI”)並沒有解決問題。
答案1
一年後我又遇到同樣的問題。幸運的是,這次我找到了解決方法。為了在 Windows 啟動管理員中新增載入非 Windows UEFI 映像的 OsLoader,您需要手動編輯 BCD 註冊表。在 RegEdit 中,有一個名為「HKEY_LOCAL_MACHINE\BCD00000000」的鍵 - 它是從 Windows EFI 系統分割區載入的,編輯它的子鍵可以直接編輯 BSD 檔案。它下面有一個名為“Description”的鍵,但我們將重點放在另一個名為“Objects”的鍵。在它下面,您需要一個新物件(或修改現有物件)。然後,在目標物件 GUID 名稱下,您需要將「描述」類型值編輯為「0x10100003」(這表示韌體應用程式 osloader - 此查找的積分請轉到此頁)。就是這樣 - 然後該物件的“path”和“device”元素指定一個 UEFI 文件,該文件將在選擇 OS-Loader 時載入。
重要警告:
不要只是為了測試它而執行上述操作 - 以這種方式加載 Uefi 會將其燒錄到 Uefi 啟動配置中,加載後 - 您可能無法再次啟動到 Windows(除非您加載的應用程序沒有重置Uefi Boot Cfg ) - 因此只有在您確定時才使用它。
我這樣做了,然後我應該使用手動修復我的 Windows 啟動Uefi 啟動設定。比較喜歡使用哪一個。
編輯:我忘記補充一點,您首先需要擁有編輯“HKEY_LOCAL_MACHINE\BCD00000000”的權限,這很簡單 - 只需單擊其上的“屬性”並更改權限;)。
編輯:這項發現表明,編輯 Windows BSD 最強大(且簡單 - 至少對我而言)的方法是使用註冊表。我透過這樣做完成的行為 - 不可能使用 BCDedit 來完成,也不可能使用 BCD WMI 來完成。
答案2
EFI 是一個預先啟動環境。因此,EFI 本身不是 Windows 工具、Linux 工具或任何其他作業系統級工具。我想澄清這一點,因為您的某些短語聽起來好像您認為 EFI 是 Windows 的一部分。事實並非如此。
rEfit\refind
對於 EFI 引導程式來說,該路徑是不尋常的。此類程式通常駐留在EFI
ESP 上目錄的子目錄中,如EFI\refind
或中EFI\Microsoft
。儘管這樣的非標準位置不太可能是問題的根源,但我不能排除這種可能性。因此,使用更正常的位置是我的第一個建議。
我不太熟悉bcdedit
您所顯示的 Windows 命令的輸出,因此我無法對其發表評論;不過,我建議您查看 rEFInd 安裝說明,以便從 Windows 進行安裝。您完全有可能在輸入其中一個命令時出錯。
如果這沒有幫助,請嘗試從其他作業系統安裝 rEFInd。想必您已經安裝了 rEFInd 來與 Windows 一起啟動其他程式。對於大多數人來說,Linux 是首選,如果 Windows 工具不起作用,您應該能夠從 Linux 安裝 rEFInd。
答案3
所有 efi 啟動管理器/載入器都需要位於 ESP 分割區上;您無法在 F: 磁碟機上重新查找,該磁碟機可能已格式化為 NTFS 磁碟機。 EFI 系統會尋找標記為「ESP」並格式化為 fat32 的特定分割區。 EFI 系統沒有其他檔案系統的驅動程式。
refind 包含 ext2/4 reiserfs btrfs 和 iso9660 的驅動程序,但如您所見,您的 Windows EFI 載入程式位於 \EFI\Microsoft\Boot\bootmgfw.efi。該分割區在 Windows 中是看不到的,因為它是隱藏的,但是如果您使用 linux live 啟動(例如使用 gparted),那麼您將能夠看到它。然後您需要將 refind 放入 \EFI\refind 中,以便 rEFInd 載入程式位於 \EFI\refind\bootx64.efi
然後,您可以嘗試從Windows 加載程序將其鏈接加載,但最好將您的系統指向refind 的.efi 文件作為默認加載程序,因為這將掃描您的系統並為您提供代表可用的efi/legacy 啟動選項的圖標你。我使用 refind,當我打開筆記型電腦時,我有一個 Windows 7 圖標、一個 Windows 8 圖標、一個 ubuntu 圖標、一個 Fedora 圖標和一個 ubuntustudio 圖標可供選擇。如果我插入了可啟動 USB 或 DVD,也會出現一個圖示。
它在預設下工作得很好,但也可以輕鬆自訂。您將無法從 fat32 ESP 分割區以外的任何分割區載入 efi 引導程式,儘管從 ESP 分割區載入 refind 後,它可以存取其他分割區上的載入器 efi 和舊版載入器。