本文介紹啟動Windows執行個體時,提示“no bootable device”錯誤的問題原因和解決方案。
問題現象
Windows系統的ECS執行個體無法啟動,提示“no bootable device”錯誤。
當作業系統無法啟動時,只能通過VNC方式遠端存取執行個體。

問題原因
出現該問題的原因較多,您可以使用健康診斷工具,根據下表中執行個體健康診斷功能返回的資訊,選擇具體的修複方案。
執行個體健康診斷工具返回的資訊 | 解決方案 |
鏡像檔案中未安裝磁碟適配器驅動,導致系統啟動失敗。 | |
該執行個體存在異常的磁碟上層過濾驅動(UpperFilter),使得磁碟無法正確識別,可能導致作業系統無法正常啟動。 | |
該執行個體的系統磁碟分割被標記為“非活動的(inactive)”,導致作業系統無法正常啟動。 | |
該執行個體的系統磁碟分割必要檔案被破壞,啟動項配置異常,導致作業系統無法正常啟動。 | |
該執行個體的系統磁碟分割被分配的磁碟空間過小(小於 100MB),導致作業系統無法正常啟動。 | 該問題一般發生在使用自訂鏡像建立執行個體後,因鏡像本身問題導致執行個體無法啟動。此時,您需要重新製作鏡像,並使用鏡像更換該執行個體的作業系統。更多資訊,請參見製作Windows鏡像檔案和更換作業系統(更換系統硬碟)。 |
該執行個體系統硬碟中的系統磁碟分割不存在,導致作業系統無法正常啟動。 | |
該執行個體的系統磁碟分割對應的檔案系統類型不正確,導致作業系統無法正常啟動。 |
解決方案
安裝磁碟適配器驅動
您可以在掛載了修複盤的問題執行個體中,安裝磁碟適配器驅動以解決該問題,具體步驟如下:
遠端連線有問題的執行個體。
您可以在診斷結果介面單擊VNC遠端連線,使用診斷報告中提供的臨時登入執行個體的Administrator使用者及密碼資訊登入掛載了修複盤的ECS執行個體。具體操作,請參見通過VNC串連執行個體。
根據需要,選擇其中一種方式安裝磁碟適配器驅動。
假設掛載盤符為D,驅動檔案所在目錄為
C:\Drivers,執行命令如下:使用Dism工具安裝:
dism.exe /image:D:\ /Add-Driver /Driver:C:\Drivers /recurse使用PowerShell命令安裝:
Add-WindowsDriver -Path D:\ -Driver C:\Drivers -Recurse
在執行個體列表頁,將滑鼠懸浮至修複中的狀態上,然後單擊卸載修複盤。
重啟執行個體,使以上配置生效。
具體操作,請參見重啟執行個體。
遠端連線ECS執行個體,如果該執行個體可以正常串連,說明問題已修複。
具體操作,請參見使用Workbench工具以RDP協議登入Windows執行個體。
刪除Windows磁碟過濾驅動殘留項
方案一:重新安裝過濾驅動
建議您聯絡過濾驅動廠商尋求驅動安裝方法。
方案二:手動刪除註冊表殘留項
您可以在掛載了修複盤的問題執行個體中,手動刪除註冊表殘留項以解決該問題。具體步驟如下:
修改註冊表可能會對系統的穩定性和安全性產生影響。建議您在修改註冊表之前,備份當前的註冊表設定,以便在需要時可以還原。
遠端連線有問題的執行個體。
您可以在診斷結果介面單擊VNC遠端連線,使用診斷報告中提供的臨時登入執行個體的Administrator使用者及密碼資訊登入掛載了修複盤的ECS執行個體。具體操作,請參見通過VNC串連執行個體。
在運行對話方塊中輸入
regedit,單擊確定,進入登錄編輯程式。選中
HKEY_LOCAL_MACHINE,然後選擇載入離線註冊表,路徑為D:\Windows\System32\config\SYSTEM,註冊表名稱為OfflineSYSTEM。
刪除
HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}註冊表下UpperFilter中的殘留值,如下圖的test_filter。
在執行個體列表頁,將滑鼠懸浮至修複中的狀態上,然後單擊卸載修複盤。
啟動執行個體。
具體操作,請參見啟動執行個體。
遠端連線ECS執行個體,如果該執行個體可以正常串連,說明問題已修複。
具體操作,請參見使用Workbench工具以RDP協議登入Windows執行個體。
將系統磁碟分割設定為活躍狀態
您可以在掛載了修複盤的問題執行個體中,將系統磁碟分割設定為活躍狀態以解決該問題。
遠端連線有問題的執行個體。
您可以在診斷結果介面單擊VNC遠端連線,使用診斷報告中提供的臨時登入執行個體的Administrator使用者及密碼資訊登入掛載了修複盤的ECS執行個體。具體操作,請參見通過VNC串連執行個體。
將系統磁碟分割設定為活躍狀態。
您可以根據需要,選擇其中一種方式。假設異常系統所在磁碟序號為1,系統磁碟分割序號為1。
使用diskpart進行修複
開啟
DiskPart視窗。您可以在搜尋方塊中輸入
diskpart開啟,也可以在搜尋方塊輸入Windows PowerShell並輸入diskpart命令開啟。選擇待操作的磁碟。
select disk 1清除磁碟唯讀狀態。
attribute disk clear readonly選中系統磁碟分割。
select partition 1將系統磁碟分割設定為活躍(Active)狀態。
active
使用PowerShell命令進行修複
Set-Partition -DiskNumber 1 -PartitionNumber 1 -IsActive $true在執行個體列表頁,將滑鼠懸浮至修複中的狀態上,然後單擊卸載修複盤。
重啟執行個體,使以上配置生效。
具體操作,請參見重啟執行個體。
遠端連線ECS執行個體,如果該執行個體可以正常串連,說明問題已修複。
具體操作,請參見使用Workbench工具以RDP協議登入Windows執行個體。
重新設定Windows系統啟動項
您可以在掛載了修複盤的問題執行個體中,重新設定Windows系統啟動項以解決該問題。本文以系統磁碟分割盤符為S,Windows分區盤符為C作為樣本,可按照如下方式配置:
遠端連線有問題的執行個體。
您可以在診斷結果介面單擊VNC遠端連線,使用診斷報告中提供的臨時登入執行個體的Administrator使用者及密碼資訊登入掛載了修複盤的ECS執行個體。具體操作,請參見通過VNC串連執行個體。
進入
PE模式,使用BCDboot命令列工具執行以下命令,重新設定啟動項。UEFI啟動方式
bcdboot C:\Windows /s S: /f UEFIBIOS啟動方式
bcdboot C:\Windows /s S:
執行以下命令,查看啟動項配置資訊。
UEFI啟動方式
bcdedit /store S:\EFI\Boot\BCDBIOS啟動方式
bcdedit /store S:\Boot\BCD
系統返回啟動項配置資訊如下所示:

(可選)除
C盤外,如果ECS執行個體D盤還有可用的Windows系統,您還可以配置多個Windows系統啟動項。UEFI啟動方式
bcdboot D:\Windows /s S: /d /p /addlast /f UEFIBIOS啟動方式
bcdboot D:\Windows /s S: /d /p /addlast