在 64 位元 UEFI 上為 Windows 8.1 32 位元作業系統設定 VHD 啟動

在 64 位元 UEFI 上為 Windows 8.1 32 位元作業系統設定 VHD 啟動

我有一臺本機運行 Windows 8.1 64 位元的 Surface Pro 3。透過擴展,裝置上的 UEFI 具有 64 位元引導程式。

我正在嘗試設定裝置以允許 VHD 啟動到 Windows 8.1 32 位元作業系統。當我最終啟動到 VHD 映像時,我最終收到一條錯誤訊息,指出映像已損壞。

我採取的步驟如下。首先我建立了 vhdx 檔案:

diskpart
create vdisk file=D:\windows8.vhdx maximum=40960 type=expandable
select vdisk file=D:\windows8.vhdx
attach vdisk
create partition primary
assign letter=F
format quick label=VHDX
exit

然後,我將 Windows 8.1 32 位元映像安裝到我的E:\磁碟機並將該映像套用到 .vhdx 檔案:

dism /Apply-Imaeg /ImageFile:E:\Sources\install.wim /index:1 /ApplyDir:F:\

這樣做之後,我使用 bcdboot 產生引導程式條目:

F:\Windows\system32\bcdboot.exe F:\Windows /s F: /f ALL /d /addlast

之後,我查找了引導程式條目並新增了虛擬機器管理程式啟動類型和適當的描述:

bcdedit /v
bcdedit /set {GUID-FROM-ABOVE} hypervisorlaunchtype auto
bcdedit /set {GUID-FROM-ABOVE} description Windows 8.1 32-bit (VHDX)

然後我重新啟動設備,以便可以選擇 VHD 啟動映像:

shutdown /r /o /t 0

當我最終啟動進入圖像時,出現以下錯誤:

Your PC needs to be repaired
File: \windows\system32\winload.efi
Error code: 0xc0000359  
The application or operating system couldn't be loaded because a required file is missing or contains errors.

我在這裡做錯了什麼?

答案1

有關的其他更新信息UEFI Windows 跨平台啟動

Windows 對 UEFI 的支持

Microsoft 首先在伺服器上支援 EFI 1.10,然後在用戶端和伺服器上新增對 UEFI 的支援。

對於 UEFI 2.3.1,UEFI 有 x86 和 x64 版本。 Windows 10 兩者都支援。但是,UEFI不支援跨平台啟動。這表示具有 UEFI x64 的電腦只能執行 64 位元作業系統,而具有 UEFI x86 的電腦只能執行 32 位元作業系統。


新增了一些關於從 Windows 10 啟動、UEFI 與舊版 Windows To Go 的資訊 | 32 位元與 64 位元。

https://technet.microsoft.com/en-us/library/mt185782(v=vs.85).aspx

檢查主機 PC 和 Windows To Go 磁碟機之間的體系結構相容性

除了 BIOS 中的 USB 啟動支援之外,Windows To Go 磁碟機上的 Windows 10 映像還必須與主機 PC 的處理器架構和韌體相容,如下表所示。


我也有 Surface Pro 3,發現並體驗了一些特別之處。

Surface Pro 3 有以下功能/問題:

  • 它是UEFI「唯一」設備
  • 不支援傳統 BIOS / CSM(相容模式)(大多數機器的韌體中都有一個設置,允許您啟用它,但在本機中則不然)
  • 因此,啟動較舊的作業系統在此類新機器上不受支援。
  • 它似乎不受支持,並且很可能無法完成;除非有人找到破解或解決方法(未得到 Microsoft 官方支援)。
    • 此外,Surface Pro 3 出廠時附帶安全啟動、TPM,其硬碟機和分區預設為位元鎖定狀態。
    • 這三件事導致了作業系統啟動時出現完全不同的問題。
    • 為了本機啟動 VHD,我必須停用它們

為什麼這是一個問題以及為什麼會發生這種情況?

類似註解的範例:

基本總結: 在較新的機器(例如Surface Pro 3 和東芝筆記型電腦)中,原始設備製造商(OEM) 已開始刪除某些用於幫助向後相容以啟動和運行舊作業系統的東西(上面列出的範例)。

引用類似的回覆透過 Microsoft 論壇上的「JHoff80」:

抱歉,但我認為你很 SOL。我的理解是 UEFI 必須與您嘗試運行的作業系統具有相同的架構。 Surface Pro UEFI 是 64 位,因此您只能在其上執行 64 位元作業系統。

不幸的是,Surface 也沒有像許多其他 PC 那樣具有模擬 BIOS 的“Legacy Boot”選項。

有關 32 位元 UEFI 啟動的其他文章和資訊:

32 位元 UEFI 啟動似乎有問題和限制,特別是對於各種硬體 + 韌體 + 分割區 + 作業系統組合。

我遇到了以下內容,它可能與幫助人們調試和解決問題有一定的相關性。

下面引用了 Ubuntu 網站。 https://help.ubuntu.com/community/UEFI

以 UEFI 模式安裝 Ubuntu:

  1. 使用Ubuntu的64位元磁碟。 (UEFI模式下Ubuntu32bit無法輕鬆安裝。如果 32 位元 UEFI 是您的電腦啟動的唯一方式(例如,如果您有一台基於 Intel Atom 的現代筆記型電腦),那麼這就是一個問題。在這種情況下,您將需要複雜的解決方法.)

使用 E2B 的 32 位元 UEFI 啟動:
http://rmprepusb.blogspot.com/2014/09/32-bit-uefi-booting-using-e2b.html

某些基於 Intel Atom 的平板電腦僅支援 32 位元 UEFI(即使 Atom CPU 本身是 64 位元 CPU)。
問題是,如果使用者的平板電腦是 32 位元 UEFI 系統(不支援 CSM\MBR 模式),那麼他們需要找到一個可 32 位元 UEFI 啟動的作業系統 - 而這樣的作業系統並不多!
注意:如果它們是 32 位元 UEFI 可啟動的,那麼它們將包含 \EFI\boot\bootia32.efi 檔案(以及其他檔案)。如果它們不包含該文件,則它們將無法從 32 位元 UEFI 系統上的 E2B USB 隨身碟啟動。
從 Asus T100 啟動 Ubuntu 的說明(由 Karan 發現)位於 [此處][5]。 Karan 發現他可以將 bootia32.efi 檔案從[此處][6]複製到 Ubuntu 14.04 64 位元 .imgPTN 檔案 (\EFI\boot\bootia32.efi),然後他的 Intel Atom 系統即可啟動。我懷疑這只有在您的韌體是 32 位元 UEFI 但 CPU 是 64 位元的情況下才有效,就像 Karan 的 [Notion Ink CN89553G][7]。

相似的:https://superuser.com/a/889802/183467

某些系統不支援 Legacy\CSM\MBR 開機。查看韌體設定中的這些選項,並停用快速啟動。沒有 Legacy\CSM\MBR 選項的系統只能 UEFI 開機。 LinuxLive 和 E2B 適用於 Legacy\CSM\MBR 開機系統。

相關內容