64 ビット UEFI 上の Windows 8.1 32 ビット OS の VHD ブートを設定する

64 ビット UEFI 上の Windows 8.1 32 ビット OS の VHD ブートを設定する

私は、ネイティブで Windows 8.1 64 ビットを実行する Surface Pro 3 を持っています。さらに、デバイスの UEFI には 64 ビットのブート ローダーがあります。

Windows 8.1 32 ビット OS で VHD ブートができるようにデバイスを設定しようとしています。最終的に 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 クロスプラットフォームブート

UEFI の Windows サポート

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/ja-jp/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 が搭載されており、ハード ドライブとパーティションはデフォルトでビット ロック状態になっています。
    • これら 3 つの要因により、OS の起動時にまったく異なる種類の問題が発生します。
    • VHDのネイティブブートには無効にする必要がありました

なぜこれが問題となり、なぜこのようなことが起こるのでしょうか?

同様の例:

  • 昨年、東芝のラップトップにレガシーCSMモードが搭載されているにもかかわらず、Windows 7 x64 SP1を起動しようとして多くの問題に直面しました。
  • それはいくつかありましたファームウェア / GOP ドライバーMSFN で指摘されている問題。 http://www.msfn.org/board/topic/172462-migrating-windows-7-or-8-install-from-bios-machine-to-native-boot-vhd/
  • 私は共和党の問題が何であったのか完全に理解していないし、それ以上説明することもできない

要点: 新しいマシン (Surface Pro 3 や Toshiba のラップトップなど) では、OEM は、古いオペレーティング システムを起動して実行するための下位互換性を確保するために使用されていた特定の機能 (上記の例) を削除し始めています。

同様の引用そして返事Microsoft フォーラムの「JHoff80」による投稿:

申し訳ありませんが、それは無理だと思います。私の理解では、UEFI は実行しようとしている OS と同じアーキテクチャを持つ必要があります。Surface Pro UEFI は 64 ビットなので、64 ビット OS しか実行できません。

残念ながら、Surface には、他の多くの PC にあるような BIOS をエミュレートする「レガシー ブート」オプションもありません。

32 ビット UEFI ブートに関する追加記事と情報:

特にハードウェア + ファームウェア + パーティション + OS の組み合わせが多岐にわたる場合、32 ビット UEFI ブートに関して問題と制限があるようです。

私は次のことに遭遇しました。これは、人々が問題をデバッグして解決するのに役立つ関連性があるかもしれません。

以下にUbuntuサイトを引用します。 https://help.ubuntu.com/community/UEFI

Ubuntu を UEFI モードでインストールするには:

  1. Ubuntuの64ビットディスクを使用します。Ubuntu32bitはUEFIモードでは簡単にインストールできません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 ブート可能な OS を見つける必要があることです。しかし、そのような OS は多くありません。
注: 32 ビット UEFI ブート可能な場合は、\EFI\boot\bootia32.efi ファイル (など) が含まれます。そのファイルが含まれていない場合、32 ビット UEFI システム上の E2B USB ドライブから起動できません。
Asus T100 から Ubuntu を起動するための手順 (Karan が見つけた) は [こちら][5] にあります。Karan は [こちら][6] の bootia32.efi ファイルを Ubuntu 14.04 64 ビット .imgPTN ファイル (\EFI\boot\bootia32.efi) にコピーすると、Intel Atom システムが起動することを発見しました。ただし、Karan の [Notion Ink CN89553G][7] のように、ファームウェアが 32 ビット UEFI で CPU が 64 ビットの場合にのみ、これが機能すると思われます。

似ている:https://superuser.com/a/889802/183467

一部のシステムでは、Legacy\CSM\MBR ブートをサポートしていません。ファームウェア設定でこれらのオプションを確認し、Fast Boot も無効にしてください。Legacy\CSM\MBR オプションのないシステムは、UEFI ブートのみ可能です。LinuxLive と E2B は、Legacy\CSM\MBR ブート システム用です。

関連情報