web-dev-qa-db-ja.com

Windows10インストールディスクはUEFIオプションを提供しません

私は、プリインストールされた64ビットWindows 10 Home Single Languageを備えたhpノートブック(Intel Core i3-5005UCPUを搭載したHP240 G5)を持っています。

ソフトウェアをテストするには、そのマシンに32ビットのWindows10を追加でインストールする必要があります。

32ビットのWindows10をインストールする新しいパーティション「Win32」を作成しました。

Paritions

既存のパーティションはGPTであるため、[〜#〜] uefi [〜#〜]を介して新しいイメージをインストールする必要があります。レガシーBIOSモードは、MBRパーティションを必要とするため役に立ちません。

Microsoftダウンロードツール(MediaCreationTool.exe)を使用して、最新の32ビットWindows10をダウンロードしました。

Download Windows 10

NTFSフォーマットの2.836.660.224バイトのISOイメージを取得します。

Rufusを使用してUSBスティックにコピーします。

Rufus

セキュアブートをオフにして、ブート順序を変更しました。

UEFI Settings

しかし、USBスティックから起動しようとすると、メニューに表示されません。

Boot Menu

ISOイメージをUSBスティックにコピーするかDVDにコピーするかは関係ありません。結果は同じです。

「OSBootManager」を選択すると、ハードディスク上のWindowsが起動します。

「EFIファイルから起動」を選択すると、USBスティックを選択した場所で次のメニューが表示されます。

Boot from EFI file

そして、3つのファイルを含むメニューが表示されます。奇妙なことに、BIOSはUSBスティックに存在しないファイルを表示します。 ISOイメージに存在する唯一のファイルは\ efi\boot\bootia32.efiです

Boot from EFI file

このメニューでどのオプションを選択しても、同じエラーが発生します。

Boot from EFI file

明らかに、ファイルbootx64.efiは実際には存在しないためです。しかし、bootia32.efiファイルを選択した後もこのエラーが発生します。とても変だ!

それから私は考えました:「わかりました、64ビットのWindows10インストールDVDからこの不足しているファイルを単にコピーします。」そして実際には、上記のエラーは消えます。しかし、数秒後、エラーC0000359が発生します。

Error C0000359

次に、32ビットと64ビットの両方をインストールするためのISOイメージをダウンロードしました。

MediaCreationTool

ISOファイルのサイズは6.5GBです。 (15枚のディスケットからWindows 3.1をインストールしたことを覚えています)。起動時に、メニューにUSBスティックからの起動を選択するオプションはありません。ここでも、EFIファイルを手動で選択しました。

bootmgr.efi

そして、実際には、期待されるメニューが表示されます。

Install Windows 10

しかし運がない:

Error C0000359


興味深いのは、64ビットバージョンのWindows 10のみを使用した別のISOイメージがあり、正しいブートメニューが表示されることです。

Boot Menu

続行すると、インストールは正常に続行され、パーティションを選択できる画面が表示されます。

変じゃない? 64ビットのみのISOは正しく機能していますが、32 +64ビットのISOは失敗しています。

では、ここで何が問題になっていますか? 3つのISOファイルの1つが実行され、他の2つは失敗します。

Intel Corei3プロセッサは32ビットまたは64ビットのオペレーティングシステムを実行できる必要があることを読みました。

1
Elmue

Rufus(および EFI:NTFS )の作成者はこちら。

いくつかの説明:

  1. 表示される3つのファイル(_bootia32.efi_、_bootx64.efi_、および_bootarm.efi_)は、UEFI:NTFSからのものであり、[〜#〜] not [〜#〜] ISO。これらは、UEFI NTFSドライバーをロードするために使用され、残りのブートがNTFSパーティションから続行できるようにすることで、UEFIからのNTFSブートを実現します。

  2. 投稿した最後から2番目のスクリーンショットは、UEFI:NTFSからの出力です。これは、UEFIファームウェアが64ビットであることを明確に示しています。 *** UEFI:NTFS (x64) ***の_(x64)_は、実行しているUEFIアーキテクチャーです。

  3. したがって、プラットフォームに32ビットWindowsをインストールするには、64ビットUEFIプラットフォームから32ビットUEFI実行可能ファイルを起動する必要があります。私の知る限り、これはUEFIモードでは不可能です。64ビットUEFIは、32ビットUEFI実行可能ファイルをARMまたはMIPSCPU、およびしたがって、実行を拒否します。WindowsやLinuxなどの64ビットOSには、32ビットソフトウェア用のデフォルトの32ビットエミュレーションがあることに注意してください。 、同じことはUEFIには当てはまりません。したがって、64ビットで32ビットの実行可能ファイルを実行できるUEFIの32ビットエミュレーションレイヤーが見つからない限り(繰り返しますが、私はそのようなことを認識していません)、あなただけです64ビットシステムで32ビットと64ビットの両方のWindowsを同時に実行するオプションは、WindowsをUEFIモードではなく、BIOSまたはBIOSエミュレーションモード(別名「CSM」または「UEFI-CSM」)でインストールすることです。ドライブ全体を再フォーマットして、GPTパーティションスキームからMBRパーティションスキームに切り替える必要があります(GPTはほとんどBIOSブートと互換性がないため)。

さらに、理由を疑問に思う人のために、BIOS/BIOS互換性により、32ビットおよび64ビットのWindowsをほとんど無差別に起動できますが、UEFIでは起動できませんが、その理由はかなり歴史的です。 UEFIとは異なり、BIOSには1つのフレーバーしかありません。 32ビット16ビットのみ。つまり、64ビットCPU(内部的には、16、32、または64ビットモードのいずれかで実行できます)の登場により、Microsoftは 32ビット16ビット実行モード(BIOSを終了した後の64ビットCPUのモード)から64ビット実行モード(16からに切り替わるブートローダーがあるのと同じ) 32ビットWindows用の32ビットモード。ただし、UEFIブートの場合、Microsoftは64ビット実行モード(64ビットUEFIファームウェアを離れた後の64ビットCPUのモード)から32ビット実行モードへの切り替えに似たものを提供していません。そのため、残念ながら、持っているのが64ビットUEFIファームウェアだけで、WindowsをUEFIモードで起動したい場合は、UEFIファームウェアと同じ「ビットネス」を使用することにほとんど固執しています。

編集:より良い選択肢を提供するので、ロッドの答えを採用する必要があると思います。

4
Akeo

EFIファームウェアは、それ自体と同じビット深度のOSを起動するように設計されています。つまり、64ビットEFIは64ビットOSを起動できますが、32ビットOSは起動できません。 32ビットEFIは32ビットOSを起動できますが、64ビットOSは起動できません。コンピューターはすでに64ビットWindowsをEFIモードで実行しているため、コンピューターに64ビットEFIがあることは確かです。つまり、32ビットバージョンのWindowsをコンピューターに直接インストールすることはできません。 -少なくとも、現在構成されているものではありません。考えられる回避策がいくつかあります。

  • 仮想化-仮想マシン(VirtualBox、VMWareなど)に32ビットWindowsをインストールできます。ソフトウェアテストのためにハードウェアに直接アクセスする必要がない場合は、これが最善の解決策になる可能性があります。特に、両方のバージョンのWindowsを同時に実行できるため、テストが大幅に高速化されます。
  • BIOS/CSM /レガシーモードブートに完全に切り替えます-互換性サポートを使用して、64ビットバージョンと32ビットバージョンの両方のWindowsを再インストールできますモジュール(CSM)。これにより、コンピューターは古いBIOSの方法で起動できます。 BIOSモードの起動により、1つのCPUビット深度から別のCPUビット深度への切り替えが可能になります(実際、32ビットおよび64ビットOSの場合はrequires)。ただし、これにはCSMの制御方法を理解する必要があります。 私のこのページ これは、WindowsとLinuxをデュアルブートしたいLinuxユーザー向けに書かれており、異なるバージョンをデュアルブートしたいユーザー向けではなく、CSMで問題が発生した場合に役立ちます。 CSMの使用を必要とするWindowsの。 この手順、 の逆を使用して、現在のWindowsインストールをBIOSモードで起動するように変換できる場合がありますが、それを約束することはできません。ディスクパーティションテーブルの変換を行うことの このメソッド を指摘することを除いて、手順。
  • GPTディスクからBIOSモードで32ビットWindowsを起動する-この方法で起動することはほとんどのOSから可能ですが、Windowsでは困難です。少し前に「不可能」と言っていたのですが、それを可能にしたと主張する この手順 に出くわしました。しかし、私はこれを自分で試したことがないので、うまくいくとは約束できません。また、これを行う場合は、BIOSモードとEFIモードの起動を切り替える必要があります。これは厄介な場合があります。
  • 別のコンピューターを使用する-少なくとも理論上は、明らかに2台目のコンピューターを使用して32ビットソフトウェアビルドをテストできます。ただし、2台目のコンピューターが必要になりますが、お金やスペースなどが必要になる場合があります。
  • 64ビットから32ビットのブートをサポートするブートローダーを見つける-理論的には、適切に記述されたEFIブートローダーは32ビットをロードできます64ビットEFI上のカーネル、またはその逆。 GRUB Linuxでこれを実行でき、macOSのブートローダーでも実行できます。Windowsでこれを実行できるブートローダーはありませんが、少なくとも理論的には可能です。熟練している場合そのようなブートローダーを自分で書くことができるかもしれません。たぶん古い XOMブートローダー あなたのニーズに合うように適応させることができますが、それはロングショット。

どのソリューションが最適かは、特定のニーズと機能によって異なります。

3
Rod Smith