Windows Server 2008でEFIの代わりにレガシーBIOSブートローダーを使用するように強制する


12

UEFIサーバーがあり、UEFIではなくレガシーBIOS方式でWindows Server 2008を強制的に起動する必要がある状況に遭遇しました。

Windows Server 2008に(インストール中またはポストインストール中に)EFIマシンにインストールしているという事実を無視し、代わりにレガシーBIOSブートローダーをインストールして使用するように指示する方法はありますか?


私は助けにはならなかったいくつかの提案を試みました:

  • Windowsをインストールする前に、MBRパーティションとしてディスクをフォーマットします

    いいえ、Windowsはインストールを拒否します。EFIシステムでは、WindowsはGPTディスクにのみインストールできます

  • Windowsのインストール、パーティションのMBRディスクへの移行、システムの修復

    いいえ、システム修復コンソールはロードを拒否します。それは私が修復しようとしているWindowsのバージョンを認識しないと文句を言います。

  • UEFIを無効にする

    UEFIを無効にしてシステムをレガシ専用にすることができれば、可能になります。ただし、使用している特定のシステム(IBM HS22、x3690X5)は、レガシーサポートを備えたUEFIのみです。それらでUEFIを無効にすることはできません。それには完全なBIOS実装が必要です。


ソリューション!

JdeBPが指摘しているように、WindowsがEFI / GPTまたはBIOS / MBRブートローダーを使用するかどうかを決定する唯一の方法は、インストールCDの起動に使用された方法です。

これをWeaverの提案と組み合わせて、0xEFブートカタログエントリなしで.isoイメージを作成します(イメージをリマスターするよりも16進編集する方がはるかに簡単です)

UEFIではなくBIOSを使用してインストールメディアを強制的に起動します。これは、Windowsインストーラが使用するブートスキームを決定するために使用する唯一の差別化要因です。


これはハードウェア固有のものになります。機器とモデルに言及すると役立つ場合があります。一部のベンダーは、セットアップ画面で、またはブートオプションとしてBIOS互換モードのオプションを提供しています。
トムウィルワース

質問でハードウェアについて言及しなかった理由は、慎重な選択でした。別のブートローダーを使用するように指示することで、Windows側でこの変更を行いたいと思います。IBM x3690X5のBIOS互換性はすでにオンになっているため、BIOSローダーはすべて動作します。問題は、W2K8にUEFIブートローダーを使用しないように指示していることです。
MikeyB

2
@MikeyB:なぜGPTを使用しないのですか?
テグバイン

@tegbains:$ BIGCUSTOMERには、GPTを適切にサポートしない製品を使用するイメージング環境があります。
MikeyB

1
この非常に重要な情報を2週間かけて絞り出さなければ、Weaverの悲しみを大幅に節約できたでしょう。実際の目標を反映するように質問を編集することをお勧めします。タイトルにあるのは、作業を開始できないステップXであり、質問は非常に誤解を招くためです。
JdeBP

回答:


6

マイクロソフトはあなたにあなたのステップを達成させません。代わりにあなたの目標に取り組んでください。

マイクロソフトでは、EFIファームウェア搭載したEFIパーティションハードディスクを誤って圧縮しています。もちろんこれは明らかに間違っています。古い非EFIファームウェアを搭載したマシンでEFIパーティションディスクを使用することは、非常に可能です(そして実際、最近ますます望まれています)。あなたは実際に-ここにいる人々が一歩ではなくあなたから目標を絞り出すのに2週間かかったが-逆を望んでいる。EFIファームウェアを搭載したマシンに、古いPC / ATスタイルのMBRパーティションディスクが必要です。(EFIファームウェア自体はどちらのパーティションテーブル形式でも問題はなく、両方を理解するためにEFI仕様で実際に必要です。このエラーを起こすのはマイクロソフトです。)

Microsoftのエラーのいくつかの結果の1つは、Windows NT 6.1インストーラをディスクにWindows NT 6.1をインストールするという考えを受け入れるために、古いPC98ファームウェアから順にブートストラップされたインストールメディアから呼び出す必要があることです。古いPC / AT MBRパーティション分割スキームでパーティション分割されています。残念ながら、Windows NTインストールディスクが新しいEFI方式でブートストラップされた場合、インストーラーはEFIファームウェアがあると判断し、EFIパーティション以外のハードディスクにインストールできないことを宣言します。

Weaverが指摘したように、Microsoftのドキュメントで説明されているように、インストールCD-ROMは実際にはデュアルブートです。 Rod Smithがさらに説明するように、したがって、古いPC98の方法でブートストラップするWindows NT 6.1インストールディスクを手動で作成できます。Windows NT 6.1インストーラーは、古いPC / AT MBRパーティションハードディスクへのインストールを許可します。

ただし、互換性サポートモジュールのないシステムでは、システムが言うように、これは役に立ちません。EFIシステムパーティションにインストールされているMicrosoftのブートマネージャーのEFIバージョンが必要です。これは、ファームウェアがオペレーティングシステムのブートストラップを試みるためです。ただし、Windows NT 6.1インストーラーが非EFIファームウェアで起動されると、Microsoftのブートマネージャーの非EFIバージョンがインストールされ、EFIシステムパーティションは作成されません。そのようなインストールは実際にはマシン上でブートストラップされず、インストール手順を完了することさえできません。確かに、CSMがないため開始することさえできません。古いPC98の方法ではインストールディスクをブートストラップすることさえできないため、インストール手順。マイクロソフトでは、2倍以上の進歩を遂げることはできません。

代わりに、目標に集中してください。目標は、顧客がシステムイメージからEFIファームウェアを搭載したマシンにWindows Server 2008を展開できるようにすることです。したがって、ソフトウェアベンダーに問うべき正しい質問は、EFIパーティションテーブルに問題がないように、古い/破損したディスクイメージングソフトウェアを修正する方法です。


ああ、私のシステムには互換モードが欠けていません。それは問題ではありません。WindowsインストーラーがシステムがEFIであるかどうかを検出する唯一の方法は、ブートストラップに使用された方法を介していると言っているのですか?それは新しい重要な情報です-私はそれを試してみます。
MikeyB

ああああ!できます!それは私が必要とする重要な情報です。「インストールメディアをUEFI経由ではなくBIOS経由で起動するようにします。これは、Windowsインストーラが使用するブートスキームを決定するために使用する方法です。」
MikeyB

@JdeBP +1ですばらしい回答が得られます。
ウィーバー

7

要するに、いくつかの異なる理由で「はい」と「いいえ」です。WindowsがGPTディスクから起動する場合、UEFIから起動する必要があります。Windowsブートマネージャーおよびローダーは、ネイティブ UEFI からMBRディスクを起動できません。ただし、UEFIがレガシーBIOSブートモード用に構成されている場合、MBRディスクを使用してブートできます。これは、Windowsブートモード(MBRを使用するBIOSまたはGPTを使用するUEFI)が起動される環境に依存することに起因します。

少し技術を読んでください-

物理ハードウェア(または仮想ハードウェアですが、ハードウェアにもかかわらず)ファームウェア(BIOS / UEFI)は、オペレーティングシステムのブートプロセスの後続の段階で利用可能な初期動作環境(ブート関連のデータ構造と規則)とファームウェアサービスを提供します。

BIOS / MBR

BIOS / MBRブートの場合、最初のブート可能ディスクの最初のセクター-マスターブートレコード(LBA 0)には、少数のx86(16ビット8088)アセンブリ、パーティションテーブル、署名が含まれます)。BIOSはこのセクターをメモリにロードし、実行を開始します。BIOSは、MBRが関与するとすぐに独自のプログラムコード制御を放棄します。

http://mbr.adamsatoms.com/

http://www.ata-atapi.com/hiwmbr.html

MBRのx86アセンブリ(ほとんどのMBRではIntel 8088)は、パーティションテーブルを解析し、アクティブなパーティションを検索し、そのパーティションの最初のセクター(ボリュームブートレコードと呼ばれる)にジャンプします。ボリュームブートレコードには、x86アセンブリjmp、BIOSパラメーターブロック(システムBIOSによってまったく使用されないため、わかりにくい名前)、および最終的にオペレーティングシステムのブートローダー(Windows環境ではNTLDRまたはBOOTMGRをロードする) )ブートボリューム/パーティション自体から。

NTLDRまたはBOOTMGRはCPUを保護モードに切り替え、ブート時の構成(それぞれブートボリューム/パーティションのboot.iniまたはBCD)を調べ、残りが履歴であるNTOSKRNLをロードします。

http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx

http://en.wikipedia.org/wiki/Windows_NT_startup_process

http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html

UEFI / GPT

最初に、UEFI / GPTに関してあまり積極的な経験がないことを述べさせてください。ただし、これを使用して操作することを理解しているため、(会話に関連する)大きな違いは、実行可能な制御がMBRに転送されないことです。

代わりに、UEFIファームウェアには独自のブートマネージャーが含まれています。このブートマネージャーは、ディスクとメディアをスキャンします-GPT形式のディスクの保護MBRを調べ、GPTヘッダーに到達し、EFIシステムパーティション(ESP)に飛び込んでEFI実行可能プログラムを探します- OSを直接ブートするオペレーティングシステムブートローダーですが、最新のMSおよびApple EFI実行可能ファイルで見たように、実際にはプロセスと複雑さに別のレイヤーを追加するブートマネージャーです。

http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html

http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443

結論/ TL; DR

これを避ける点は、オペレーティングシステムのブートマネージャーとブートローダーが実行されると予想される環境があることです。利用可能なファームウェアレベルのサービス(BIOS / UEFI割り込み)、データ構造(変数、スタック規則など)、さらにはディスクフォーマット規則から。実行時に変更することはできません-少なくとも私が理解している方法は変更できません。

あなたのオプションは?

プリインストールでは、MBRを使用したレガシーBIOSブートまたはGPTを使用したUEFIでBIOS / MBRまたはUEFIを使用してインストールを制御できます。

インストール後-ディスク形式を変更して(MBRをGPTに、GPTをMBRに)オフラインにしてから、(適切なUEFIまたはBIOSモードで)回復コンソールを起動し、bcdbootおよびbcdeditを使用してWindowsを取得すると、興味深い可能性がありますブートマネージャはまっすぐに設定されています。

更新2011.09.09

@MikeyB

私が理解しているようにオプションをリストしますが、実際には正式な提案を行いません。

それでも、UEFIについてもう少し研究を行った後(私はあまり積極的な経験がないことを思い出してください)、UEFIブートマネージャーとCD / DVDブートのサポートに関するいくつかの興味深い情報を発見しました。

'95からのEl Toritoブート仕様は現在も存在しており、ブート可能なCD / DVDで使用されています。1つのCD / DVDは複数のアーキテクチャで起動する必要がある場合があります。ISO9660はプラットフォームに依存しませんが、実行可能コードはそうではありません。そのため、El Toritoブート仕様では、複数のブートエントリ/イメージが許可されています。

これらのエントリ/イメージには、アーキテクチャのBIOS(またはファームウェア)が正しいブートエントリを選択できるように、エントリがPC、PowerPC、およびその他のアーキテクチャ用かどうかを示すプラットフォームIDが含まれています。

BIOSを搭載した標準のx86 PCのEl Torito プラットフォームIDは0x00です。UEFI対応のプラットフォームIDは0xEFです。むしろ創造的です。

標準のx86 PC BIOSは、0x00を除く他のすべてのエントリを無視します。レガシーBIOSサポート(互換性サポートモジュール(CSM)として知られる)を備えたUEFIファームウェア-0x00を起動することはできますが、カタログから0xEFネイティブブートエントリを優先します。

Windows 2008、2008 R2、および7 DVDメディアには、0x00と0xEFの両方を含む複数イメージのEl Toritoカタログが含まれています。0x00がデフォルトですが、0xEFが存在する場合、UEFIはそれを無視し、ネイティブである0xEFエントリを選択します。

可能なこと-El Toritoブートカタログに優先プラットフォームID のみを含むメディアを作成することです。複数エントリカタログの代わりに、0x00プラットフォームIDで単一のエントリカタログを作成します。これにより、UEFIファームウェアが実際にレガシーBIOSブートをサポートしている場合、0x00プラットフォームIDを選択し、Windowsメディア上のレガシーBIOSブートエントリをブートする必要があります。

どうやってするの?

Oscdimgを使用することは可能です。以下は、AppleのUEFI実装の制限を回避するためにUEFIのみのメディアを作成する人々のいくつかの例です。これは私たちがやろうとしていることの反対であることに注意してください-BIOSのみを作成し、カタログからUEFIブートエントリを除外します。

UEFIのみ(反対)1

UEFIのみ(反対)2

BIOSのみのメディアを作成するプロセスは、次のものへの変更-b-p引数で類似しています

-bC:\path\to\Etfsboot.com -p0x00

WindowsインストールメディアでMicrosoftが選んだ狂気に優れた光を当てる素晴らしいリソースは、WindowsオペレーティングシステムのUEFIサポートと要件に関するドキュメントです。


1
「プレインストールでは、MBRを使用したレガシーBIOSブートまたはGPTを使用したUEFIでBIOS / MBRまたはUEFIを使用してインストールを制御できます。」では、Windowsに「MSDOSスタイルのパーティションテーブルにインストールする」と言うにはどうすればいいですか。
MikeyB

@MikeyB従来のBIOSを使用してコンピューターシステムでWindowsインストールメディアを起動します。または-UEFIがレガシーBIOSブートモードに設定されたコンピューターシステムでWindowsインストールメディアをブートします。UEFIはレガシーBIOSブートモードをサポートする必要があることに注意してください。
ウィーバー

Windowsを完全に別のコンピューターにインストールしてからディスクを移動することを提案していますか?まったく良い考えではありません。また、UEFIコンピューターを「レガシーBIOSモード」に設定すると、レガシーMBRディスクをブートするためのレガシーBIOSフックが有効になります。これは、UEFIオフにならない Windowsはまだ言うので、「これはUEFIシステムですか?うん。」
MikeyB

@MikeyB元の回答に更新を追加しました。
ウィーバー

1
BIOSとMBRのディスクサイズ制限について学習する過程で、サーバー2008でも似たようなものを見てきました。2008 R2でサーバーを構築し、USBメディアではインストールできないため(MSバグ)レガシーBIOSモードを有効にしましたが、BIOSはGPTをロードできないため、GPTではなくMBRを使用していることがわかりましたある種のブートローダーがあります)。要するに、レガシーモードへの切り替えは確実にレガシーモードでインストールされます。証拠はGPTディスクではなくMBRが表示されるディスクマネージャーになります。
アレックスベリー

3

1つの簡単な方法は、EFIをサポートしていないマシンでWindowsの基本インストールを実行し、イメージソフトウェアでキャプチャして、実際のハードウェアに復元することです。

適切な選択は、VMで基本インストールをビルドすることです。Windowsの以前のバージョン(ver <6)では、あるタイプのハードウェアから別のタイプのハードウェアに移動するのにうまく適応しませんでした。ストレージコントローラがイメージでサポートされている限り、最近のバージョンのWindowsでは、Windowsは新しいハードウェアへの適応においてかなり良い仕事をします。

Windowsインストール(ver> = 6)ディスクには通常、基本的にオペレーティングシステムの単なるイメージであるwimファイルが含まれています。


それがまさに私が提案しようとしていたことです。別の(BIOS / MBR)システムでWindowsセットアップを実行し、ディスクまたはそのイメージを移行先サーバーに移動します。場合はそのブーツは、プラグアンドプレイが続いて起こると、それは喜んで異なるハードウェア上で実行されます。
マッシモ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.