嘗試在 UEFI 系統上透過 Windows 8.1 Bootmanager 啟動 \EFI\ubuntu\shimx64.efi (Ubuntu) 時發生錯誤 0xc000007b
EFI 條目
在 Ubuntu 安裝過程中,Ubuntu 自動建立了一個名為 的 EFI 啟動條目ubuntu
。如果我使用該條目,則該條目有效UEFI開機載入程式直接地。我的 EFI 啟動條目如下所示:
Entry #9
Name: ubuntu
BCD ID: {a738afa2-8136-11e3-824f-806e6f6e6963}
Device: \Device\HarddiskVolume3
Bootloader Path: \EFI\ubuntu\shimx64.efi
Entry #18
Name: Windows 8.1
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.efi
使用設備- 子選單
我想ubuntu
從頭開始Windows 8.1 引導程式。在Windows 8.1 引導程式螢幕上您可以選擇使用設備在子選單中。在此子選單中包含所有現有的UEFI開機載入程式列出。我可以選擇ubuntu
,重新啟動後我可以正確看到GRUB螢幕.
新增條目至Windows 8.1 引導程式
現在我新增現有的條目使用設備到主要 Windows 8.1 引導程式列表:
bcdedit /displayorder {a738afa2-8136-11e3-824f-806e6f6e6963} /addlast
bcdedit 輸出:
c:\>bcdedit /enum
Windows-Start-Manager
---------------------
Bezeichner {bootmgr}
device partition=\Device\HarddiskVolume3
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale de-DE
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {dd3893a3-8112-11e3-a3ae-ef458f8a8f20}
displayorder {current}
{dd3893a8-8112-11e3-a3ae-ef459f8a8f20}
{a738afa2-8136-11e3-824f-806e6f6e6963}
toolsdisplayorder {memdiag}
timeout 5
Windows-Startladeprogramm
-------------------------
Bezeichner {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows 8.1
locale de-DE
inherit {bootloadersettings}
recoverysequence {dd3893a5-8112-11e3-a3ae-ef458f8a8f20}
integrityservices Enable
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {dd3893a3-8112-11e3-a3ae-ef458f8a8f20}
nx OptIn
bootmenupolicy Standard
Firmwareanwendung (101fffff)
----------------------------
Bezeichner {a738afa2-8136-11e3-824f-806e6f6e6963}
device partition=\Device\HarddiskVolume3
path \EFI\ubuntu\shimx64.efi
description ubuntu
如果我然後ubuntu
選擇主要 Windows 8.1 引導程式列表重新啟動後出現以下錯誤(經過翻譯,因此原始英文措詞可能有所不同):
Error during start of Windows.
File: \EFI\ubuntu\shimx64.efi
State: 0xc000007b
Info: The Application or the Operating System could not be loaded, because a required file is missing or it contains mistakes.
請注意條目來自使用設備仍然有效。那麼到底發生了什麼事呢?應該是同一個條目吧?
手動新增條目
我還嘗試手動新增條目:
bcdedit /create /d "Ubuntu Test" /application bootsector
bcdedit /set {UUID_generated_by_/create} device partition=\Device\HarddiskVolume3
bcdedit /set {UUID_generated_by_/create} path \EFI\ubuntu\shimx64.efi
bcdedit /displayorder {UUID_generated_by_/create} /addlast
但同樣的錯誤發生了。
答案1
雖然現在由於時間不夠無法核實,但根據本指南,正確的條目類型是bootsector
,而配置中的條目類型在某種程度上是韌體應用程式的條目類型。我建議重新建立該條目。