web-dev-qa-db-ja.com

64ビットUEFIでのWindows8.132ビットOS用のVHDブートのセットアップ

Windows 8.164ビットをネイティブに実行するSurfacePro3があります。拡張により、デバイス上のUEFIには64ビットのブートローダーがあります。

Windows 8.132ビット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.132ビットイメージを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.

私はここで何が間違っているのですか?

2
Mike Bailey

UEFI Windowsクロスプラットフォームブート に関する追加の更新情報。

EFIのWindowsサポート

Microsoftは、サーバーでのEFI 1.10のサポートから始め、クライアントとサーバーの両方でUEFIのサポートを追加しました。

UEFI 2.3.1には、x86バージョンとx64バージョンの両方のUEFIがあります。 Windows10は両方をサポートしています。ただし、UEFIはクロスプラットフォームブートをサポートしていません。つまり、UEFI x64を搭載したコンピューターは64ビットオペレーティングシステムのみを実行でき、UEFIx86を搭載したコンピューターは32ビットオペレーティングシステムのみを実行できます。


Windows 10、Windows To Go for UEFI vsLegacyからの起動に関する情報の追加| 32ビットと64ビット。

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

ホストPCとWindowsToGoドライブ間のアーキテクチャの互換性を確認する

BIOSでのUSBブートのサポートに加えて、Windows ToGoドライブのWindows10イメージは、次の表に示すように、プロセッサアーキテクチャおよびホストPCのファームウェアと互換性がある必要があります。


私はSurfacePro 3も持っており、いくつかの特殊性を見つけて経験しました。

Surface Pro3には次の機能/問題があります。

  • EFI「唯一の」デバイス
  • レガシーBIOS/CSM(互換モード)サポートなし(ほとんどのマシンには、ファームウェアにそれを有効にする設定がありますが、このマシンにはありません)
  • したがって、古いオペレーティングシステムの起動このような新しいマシンではサポートされていません。
  • サポートされていないようで、おそらく実行できません。誰かがハッキングまたは回避策を見つけない限り(Microsoftによって公式にサポートされていません)。
    • また、Surface Pro 3には、セキュアブート、TPMが工場出荷時に出荷されており、そのハードドライブとパーティションはデフォルトでビットロック状態になっています。
    • これらの3つのことにより、OSの起動に関してまったく異なる問題が発生します。
    • VHDのネイティブブートには、それらを無効にする必要がありました

なぜこれが問題であり、なぜこれが起こっているのですか?

同様のメモの例:

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

基本的な概要:新しいマシン(Surface Pro 3や東芝のラップトップなど)では、OEMは、起動と下位互換性を支援するために使用される特定のもの(上記の例)をリッピングし始めました。古いオペレーティングシステムを実行します。

Microsoftフォーラムの「JHoff80」による同様の スレッド および 返信 での引用:

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

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

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

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

私は次のことに出くわしました、そしてそれは人々が彼らの問題をデバッグして解決するのを助けるためにここでいくらかの関連があるかもしれません。

以下に引用されているUbuntuサイト。https://help.ubuntu.com/community/UEFI

buntuを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

一部のIntelAtomベースのタブレットは32ビットUEFIのみです(Atom CPU自体が64ビットCPUであっても)。
問題は、ユーザーのタブレットが32ビットUEFIシステム(CSM\MBRモードをサポートしていない)の場合、32ビットUEFIブート可能であるOSを見つける必要があることです-そしてこれらの多くはありません!
注:それらが32ビットUEFIブート可能である場合、それらには\ EFI\boot\bootia32.efiファイルが含まれます(とりわけ)。そのファイルが含まれていない場合、32ビットUEFIシステムのE2BUSBドライブからは起動しません。
Asus T100からUbuntuを起動するための手順(Karanによって見つかりました)は[ここ] [5]です。 Karanは、bootia32.efiファイルを[ここ] [6]からUbuntu14.0464ビット.imgPTNファイル(\ EFI\boot\bootia32.efi)にコピーでき、Intel Atomシステムが起動したことを発見しました。 。 Karanの[NotionInk CN89553G] [7]のように、ファームウェアが32ビットUEFIであるが、CPUが64ビットである場合にのみこれが機能すると思います。

同様: https://superuser.com/a/889802/183467

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