みなさん、こんにちは!
この記事では、WDS に UEFI ブート機能を追加するために実行する必要がある手順について説明します。
それらの。 この記事の手順では、次の構成がすでにあることを前提としています。
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
また、適切な結果が得られなかったアクションについても説明します。
検索を容易にし、時間を節約するために説明しました。
序文
職場でたくさんのグッズを使って WDS を作りました。 常にたくさんのフラッシュドライブを持ち歩き、それらを上書きすることにうんざりしています。
ちなみに、次の記事が役に立ちました。
そしてすべてがうまくいき、ロード用に新しいイメージが追加され、winPE イメージは新機能で大きくなりすぎて、すべてが機能しました。
ただし、すべてのデバイスが BIOS/レガシー ブート モードをサポートしているわけではありません。また、サポートしているとしても、その機能が非常に目立たない場所に含まれている可能性があります。
はい、UEFI でインストールできる場合でも、レガシー モードで Windows をインストールするのはクールではありません。
その結果、UEFI で起動する機能を追加することに決め、Google に行きました。
しかし、動作する WDS + UEFI を取得する方法に関する構造化された情報は見つかりませんでした。
実は、それがこの記事を書こうと思った理由です。
始める前に、最も時間がかかった問題について説明します。
UEFI を WDS に追加すると、次のような、あまり明白ではない状況が発生する可能性があります。
ブート ファイルを WDS に追加し、デバイスでブートしようとした場合
UEFI では、次のテキストが表示されます。
The selected boot device failed. Press <Enter> to Continue.
または Boot Device Not Found
ただし、レガシーでの読み込みは機能します。
その場合、考えられるオプションの XNUMX つは、ファイルが存在しないことです。 wdsmgfw.efi,
次のパスに沿って: %WDSpath%Bootx64wdsmgfw.efi
ここから入手できます: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
または、何らかの理由でこのファイルが見つからない場合は、次の場所に投稿しました。
この解決策については、皆さんに感謝します
この問題で一番時間を費やしたのは私だからです。 問題は WDS または DHCP 構成のどこかにあるのではないかと思いました。
さまざまなアーキテクチャのベンダー クラスを追加し、DHCP オプション 060、066、067 を設定してポリシーを構成しました。
DHCP を構成するための ASCII のアーキテクチャ
PXEClient:Arch:00000 - BIOS/レガシー
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
また、ブートファイルのさまざまなオプションを試しました。 .efi
- syslinux
- グラブ2
イベント ログでも問題を見つけようとしました。
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
しかし、上で述べたように、問題はファイルにありました wdsmgfw.efi.
自分で誤って削除したか、インストール中にコピーされなかったかのどちらかです
そしてWDSの設定を行います。
さあ、始めましょう!
命令
ステージ 1 - WDS が動作していることを確認する
ネットワーク経由で UEFI モードでの起動をサポートするデバイスまたは仮想マシンを取得し、起動を試みます。
次のような画像が表示されるはずです。
そうであれば、続行できます。
そうでない場合は、序文で私が書いたことを参照してください。
ステージ 2 - iPXE ブート ファイルの構築
事前に準備された Ubuntu を起動し、ターミナルを開いて次の行を貼り付けます。
git clone https://git.ipxe.org/ipxe.git ipxe
ここで、C および C ++ のコンパイルに必要なパッケージを Ubuntu に追加する必要がある場合があることについて少し述べておきたいと思います。
インストールしてあるだけです。
ダウンロードしましたか? - 素晴らしい!
次に、アセンブリの構成ファイルを作成する必要があります。
ターミナルで次のように書きます。
cd ipxe/src
gedit chain.ipxe
そして、次のコードをこのファイルに貼り付けて保存します。
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
ターミナルに戻ってコンパイルを開始します。
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
すべてが正常であれば、ターミナルに次の出力が表示されるはずです。
そしてファイル ipxe.efi、途中で: ipxe/src/bin-x86_64-efi/ipxe.efi
何らかの理由で自分でコンパイルできない場合は、
私のものを添付しました
から起動するようにコンパイルされています http://192.168.0.100/install.ipxe
Ubuntu については以上です。
ステップ 3 - ipxe.efi を WDS に追加する
第 XNUMX 段階で受け取ったファイルを取得し、途中でコピーします。
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
名前を BOOTX64.EFI に変更した後。
必須ではありません。あると便利なだけです。
それから出発します CMD 管理者に代わって、次のコマンドを作成します。
wdsutil /set-server /bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
и
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
これにより、結果のファイルが WDS 経由でダウンロードされるように設定されます。
構成を確認してみましょう。
wdsutil /get-server /Show:Config
念のため、ipxe.efi ファイルもコピーし、名前を BOOTIA32.EFI に変更し、ブートを設定しました。 architecture:x86uefi
しかし、概して、これには意味がありません。 Bootmgfw.efi ファイルは x86 をサポートしていません
何が起こったのか確認してみましょう。
すばらしいですね。WDS はダウンロード用にファイルを送信し、パスに沿って構成を検索します。 http://192.168.0.100/install.ipxe
ステップ 4 - メニュー構成
サイトのルート フォルダーに移動します。
デフォルトは次のとおりです。 C:inetpubwwwroot
テキストファイルを作成する インストール.ipxe.
そしてそれに従って設定します
ロシア語もあります
楽しかった
install.ipxe の設定例
#!ipxe
:start
menu Please choose an operating system to start/install
item --gap Start Win PE
item WinPE-x64 WinPE x64
item --gap ipxe shell
item shell Drop to iPXE shell
choose target && goto ${target}
:failed
echo Booting failed, dropping to shell
goto shell
:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start
:WinPE-x64
kernel http://192.168.0.100/wimboot
initrd http://192.168.0.100/peSE/Boot/bcd
initrd http://192.168.0.100/peSE/Boot/boot.sdi
initrd http://192.168.0.100/peSE/Boot/peSE64.wim
boot || goto failed
winPE をロードするための構成について読むことができます。
ステージ 5 - MIME タイプ
メニューを作成し、必要なファイルをすべて IIS ルート フォルダーに追加した後、
彼らにアクセスを許可する必要があります。
なぜならブラウザからファイルをダウンロードしようとしても、そのアドレスでエラーが発生します。 HTTP 404.3 - Not Found
.
これを行うには、に従って IIS コントロール パネルに MIME タイプを追加する必要があります。
http 経由でダウンロードするファイル拡張子が付いています。
この目的にどの MIME タイプが最適であるかを調べなかったので、質問しました。 application/octet-stream
その後、すべてが機能しました。
拡張子のないファイルの場合は、ドットを使用します。
ここにそう:
まとめ
最終的には、UEFI を介してローカル ネットワーク経由で起動できるようになります。
すべてを正しく実行すると、次のようなブート選択メニューが表示されます。
基本的なツールを準備していて、設定に手間がかからない場合、この機能の実装には約 10 ~ 20 分かかります。
2営業日かかったからです。 たくさんグーグル検索する必要がありました。
導入成功!
ご清聴ありがとうございました。記事のおかげで私を助けてくれた方々に感謝します。
ハブレでは次のようになります。
出所: habr.com