デスクトップ ファイルWindows Deployment Services 再考

Wes Miller

ここ数回のコラムでは、Windows Vista と次期バージョンの Windows Server "Longhorn" に関連する展開テクノロジについて取り上げてきました。しかし、ソフトウェアには変更がつきものです。そこで、今回は Windows Deployment Services (WDS) に関して、Windows Server® "Longhorn" での更新についていくつか取り上げます。

また、読者からの質問や、ここ数か月に参加したディスカッションで受けた質問が少し手元にたまりましたので、今回のコラムの一部を割いて、ImageX、WDS、および Windows® PE に関連する質問にもお答えします。

新機能と機能強化

本来 WDS が企画された時点では、Windows Server 2003 へのアドオンとして出荷された機能と、後に Windows Server "Longhorn" で出荷されることになるバージョンの機能は、ほぼ同等になる予定でした。しかし、Windows Server "Longhorn" 向けに WDS を開発しているチームは、リリース予定のサーバー プラットフォーム専用に機能する 3 つの主要新機能に熱心に取り組みました。

これらの新機能とは、マルチキャスト展開、TFTP ダウンロード パフォーマンスの向上、および x64 システム用 EFI (拡張ファームウェア インターフェイス) ネットワーク ブートのサポートです。こうした機能は WDS ユーザーや管理者にとっては大きなメリットがあるため、これらの新機能をそれぞれ調べていくことにしましょう。ただし、Windows Server 2003 向けの WDS の今後バージョンには、これらの機能が含められる予定がないことに注意することが重要です。

マルチキャスト

マルチキャストは、筆者が Windows チームに参加するずっと以前から最もよく議論されていた機能の 1 つであり、リモート インストール サービス (RIS) だけでなく、Windows 展開にさえ一般に求められていた機能です。サードパーティの展開テクノロジを使用したことがあるユーザーは、マルチキャスト展開で何が可能になるのかを認識していました。マイクロソフト内の少数のシナリオに固有の展開テクノロジ、特に ADS (Automated Deployment Services) ではマルチキャストを実装していましたが、OEM や企業向けに提供されたものはなく、OEM ユーザーや企業ユーザーと展開について話し合うたびに、この機能を頻繁に要求されたものでした。

マルチキャストの主なメリットは、複数のコンピュータが通信を同時に受信できることです。つまり、送信側 (この場合は WDS サーバー) は通信を行うために情報を 1 回しか送信しません。各クライアントは、エンド ツー エンドで受信するために全通信をリッスンする必要があります。すべてのクライアントが特定の 1 つのネットワーク アドレスをリッスンするため、次の 2 つのメリットが生じます。まず、複数のクライアントが同じタスクを実行することによりネットワークが過密状態になることが少なくなるため、展開速度が向上します。次に、各クライアントが 1 つのストリームをリッスンするため、ネットワークが飽和状態になることが少なくなります。

マルチキャストの欠点は、歴史的に見て、まさにマルチキャストのインフラストラクチャそのものにあります。多くの人が子供のころ遊んだことのある "伝言" ゲームを想像してください。おそらく、次のようなゲームだったと思います。

  1. あなたから隣の人にあるフレーズを話します。
  2. 隣の人がそのフレーズを聞き取ります。
  3. 隣の人は 3 番目の人に同じフレーズを繰り返して伝えます。
  4. ゲームに参加しているすべての人にこれを繰り返します。

ここで、マルチキャストの本質的な問題は、4 人の人に全フレーズを話すためには、全員が部屋の中にいて、同時に聞き取る必要がある点です。5 人目の人が部屋に入ってきた場合、すぐに聞き取ることができなければ、全フレーズを再度繰り返す必要があります。

マルチキャストは、ほぼ同じ方法で機能します。まず、ネットワーク経由でバイナリ イメージ (通常は、セクタ ベースのディスク イメージ) を送信します。通常、このイメージを受信する必要のあるすべてのクライアントは、イメージが最初にブロードキャストされた時点ですぐに準備が整わない場合、キューで受信を待機する必要があります。さらに面倒なことに、ネットワークの問題やネットワークのパフォーマンスが原因でクライアントが多くのデータを受け取れなかった場合は、(全ディスク イメージを受信できたかどうか確認できないため) 通信キュー全体を削除するか、問題が発生したクライアントのニーズを満たすことのできるレベルまでグループ全体がネットワークの速度を遅くする必要があります。何百ものシステムに同時に展開するようなシナリオでマルチキャスト システムを設計する場合は、すべてのシステムが同時に起動され、あるシステムの速度の遅さが他のシステムに影響しないことを確認することに多くの時間を割くことになります。

WDS チームでは新しいマルチキャスト エンジンを提供することでこれらすべてを変更しました。このエンジンは、非常に独特の機能をいくつか可能にするファイルベースの WIM (Windows Imaging Format) インフラストラクチャを利用しています。ほとんどのサードパーティのマルチキャスト ソフトウェアで可能な段階的なマルチキャスト シナリオを実行できますが、WDS のマルチキャスト ソリューションはこうしたソフトウェアをはるかに上回る機能を提供します。

まず、クライアント コンピュータは任意の時点で転送に参加できます。マルチキャストのブロードキャストでは、ファイル ストリームのブロードキャストが "ラウンド ロビン方式" で行われ、すべてのクライアント コンピュータのニーズが満たされるまで、ブロードキャストが続行されます。このため、クライアントがオンラインになるタイミングは問題になりません。クライアントは WDS サーバーをリッスンし、サーバーはイメージ ファイルのブロードキャストを完了した時点で、最初からブロードキャストを始めます。クライアントがあるファイルを受け取れなかったとしても、そのファイルが再度送信されるのを待機するだけです (回転木馬の木馬を想像してください)。

次に、プロトコルがまったく新しくなり、過密状態の制御やフロー制御を備えています。つまり、既存のネットワーク通信に影響を与えずに、運用ネットワークで適切に機能します。あるマルチキャスト ソリューションが妥当であると評価したネットワーク管理者共通の懸念は、実際には通信効率を高めようと試みているときに、そのソリューションを有効にすることで皮肉にもネットワークがトラフィックであふれかえってしまうということです。

第 3 に、このソリューションは WDS および Active Directory® とは無関係にデザインされました。つまり、このソリューションを利用するのに、Active Directory もアクティブな WDS 実装も必要ありません。ImageX マルチキャストは単独で実行することができるため、多くのシナリオに適しています。マルチキャスト クライアントは、Windows Server "Longhorn" (および Windows PE の関連リリース)、Windows Vista™、Windows XP Service Pack 2 (SP2)、または Windows Server 2003 SP2 で実行できるコマンドライン アプリケーションです。

WDS MMC と WDSUtil アプリケーションには、マルチキャストのセットアップと構成を行うための新しい管理タスクがあります。また、WDS クライアントのユーザー インターフェイスにも、マルチキャストが使用されていることを示す変更が加えられています。

管理者は WDS 管理ツールを使用して、クライアントへの転送の進行状況を (クライアントの転送からの削除を含めて) リアルタイムに監視できます。管理ツールには完全なログ記録やレポート処理も用意され、RIS ではまったく利用できなかった、インストールのログを記録する方法が管理者に提供されます。

Windows Server "Longhorn" 向けの WDS のマルチキャストは、これまで私が耳にした発表の中では最も魅力的な機能の 1 つです。WDS チームが、これまで多くユーザーが求めてきた機能を OEM ユーザーや企業ユーザーにとって適切な方法で提供できたのはすばらしいことです。

TFTP ダウンロードのパフォーマンスの向上

簡易ファイル転送プロトコル (TFTP) は、PXE (Pre-boot eXecution Environment) の重要なコンポーネントであり、PXE 自体は RIS と現在の WDS のバックボーンです。TFTP が選択されたのは、そのネットワーク効率や堅牢性だけでなく、極めて小さなプロトコル (ステートレスで、セキュリティが考慮されず、UDP ベースである) であることが大きな理由です。このため、ネットワークから PXE ブートされるシステムに必要なブート ROM へのカプセル化に適しています。

Windows Server "Longhorn" では、TFTP ダウンロード時間を大幅に短縮できる方法で TFTP デーモン (TFTPD) が完全に書き直されました (大きな強化点は、すべての WDS 展開が RAM イメージからの Windows PE ブートに基づくようになったことです)。Windows Server 2003 で RIS や WDS から Windows PE をダウンロードする際のパフォーマンスの向上を希望していたユーザーにとっては朗報です。

PC を取り巻く環境が普遍的な BIOS (現状の x86 PC のバックボーン) から EFI に移行し始めたとき、マイクロソフトでは WDS が 新しく利用可能になる x64 サーバー システムで機能するように準備しました。こうした x64 サーバー システムは、BIOS ではなく EFI を使用して起動されます。搭載された機能により、x64 クライアント システムは WDS サーバーから PXE ブートすることができます。

質問

WDS の更新の説明を行うと同時に、コラムの残りの部分を使っていくつかの質問に回答しようと考えています。ここでは、電子メールで受け取ったり、最近オンラインのディスカッションで見かけたものの中から、このコラムの読者にも興味深いと思われる質問を取り上げました。

質問 - DHCP を使用していない環境で WDS を使用することはできますか。利用しているネットワークでは DHCP トラフィックや PXE トラフィックが許可されません。

回答 - はい、おそらく、DHCP を使用しない環境でも WDS を使用することはできますが、サポート対象のインストールごとに、それぞれ一意な IP アドレスを持つ、一意な CD メディアを作成する必要があるため、ソリューションに拡張性はありません。多分、インストールには DVD メディアを使用するほうが有効でしょう。DHCP を使用しないで WDS からインストールしなければならない場合は、次の手順を実行します。

  1. サーバーを静的に定義して WDS 検出イメージを作成します (このサーバーは、インストール元となる具体的な WDS サーバーを指します)。
  2. このインストール元 WDS サーバーのポート 4011 で DHCP トラフィックを許可します。DHCP を使用していない場合でも、WDS クライアントがサーバーと通信できるようにこの許可が必要です。
  3. DHCP の代わりに静的 IP アドレスを指定して、一意な Windows PE メディアを作成します。

IP アドレスの衝突を避けるためにクライアント メディアを一意にする必要があり、ネットワーク上の特定の WDS サーバーを示す必要があるため、このソリューションには手間がかかることに注意してください。PXE (これ自体が DHCP に基づきます) が WDS のバックボーンとなるため、環境内で DCHP を許可している方が WDS が適切に機能することがわかります。

質問 - WDS 以外の PXE サーバーから Windows PE 2.0 を PXE ブートすることを考えています。このような方法はありますか。

回答 - WDS PXE サーバー以外から Windows PE 2.0 を機能させる場合はサポート技術情報の記事 (support.microsoft.com/kb/926172) が参考になりますが、この方法に関するマイクロソフトからのサポートには制限があることに注意してください。

質問 - BDD とは何ですか。Windows 自動インストール キット (WAIK) はその一部ですか。

回答 - BDD (実際には、Business Desktop Deployment ソリューション アクセラレータ) は、Windows 展開ツール (WAIK など) を管理可能かつ再現可能な方法で使用するためのガイダンスとなるフレームワークです。WAIK は BDD に直接含まれているわけではありませんが、BDD はインストールに必要な WAIK などのツール (まだインストールされていない場合) をすべてまとめます。そのため、厳密には BDD には WAIK は含まれていませんが、BDD が機能するには WAIK が必要です。BDD の詳細については、TechNet デスクトップ展開を参照してください。

質問 - Windows Server 2003 向けの WDS はどこで入手できますか。

WDS は WDS ディレクトリ (go.microsoft.com/fwlink/?LinkId=85377 参照) の WAIK ダウンロードの一部として入手できます。

質問 - Windows PE 2.0 を構成して、静的 IP アドレスでブートし、DNS 構成をサポートすることはできますか。

回答 - 静的 IP を構成するには、図 1 の unattend.xml サンプルを使用し、このファイルが選択されるように、CD、USB フラッシュ ドライブなどのブート可能なメディアのルートに配置します。さらに、DNS サポートを構成する場合は、次のコマンドも実行する必要があります。

Figure 1 図 1 unattend.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
 <settings pass="windowsPE">
  <component 
   name="Microsoft-Windows-TCPIP" 
   processorArchitecture="x86" 
   publicKeyToken="31bf3856ad364e35" 
   language="neutral" 
   versionScope="nonSxS" 
   xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Interfaces>
    <Interface wcm:action="add">
     <Ipv4Settings>
      <DhcpEnabled>false</DhcpEnabled>
     </Ipv4Settings>
     <UnicastIpAddresses>
      <IpAddress wcm:action="add" wcm:keyValue="1">
       192.168.0.1</IpAddress>
     </UnicastIpAddresses>
     <Identifier>Local Area Connection</Identifier>
    </Interface>
   </Interfaces>
  </component>
 </settings>
<cpi:offlineImage 
 cpi:source="wim:c:/simtest/winpe.wim#Microsoft Windows Vista PE (X86)" 
 xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

net start "DNS Client"
netsh interface ipv4 add dnsserver "Local Area Connection" 192.168.2.10 index=1

質問 - ファイバ チャネル コントローラから Windows PE をブートできますか。

回答 - できます。提供されているファイバ チャネル HBA では Int13 を使用してブート ボリュームの登録をサポートするため、Windows PE 用にブート可能なボリュームとして BIOS に表示されます。製品に付属する他の記憶域コントローラ ドライバを使用することになる場合は、ファイバ チャネル コントローラのドライバを追加することも必要です。

質問 - Windows PE 2.0 は常に RAM ディスクからブートされます。使用しているシステムの中にはこの方法でブートするための RAM が不足しているものもあります。RAM ディスクを使用しないで Windows PE 2.0 をブートすることはできますか。

回答 - できます。特に、システムに装備されている RAM が 256 MB 未満の場合は、Windows PE のブートに RAM ディスク以外の実装が必要になることがあります。マイクロソフトでは、この方法を記載したサポート資料を執筆中です。この方法には重要な注意事項が 2 点あります。RAM ディスクとは異なり、メディアを切り替えることはできません。この方法を採用した場合は、RAM ディスクベースのバージョンの Windows PE 2.0 のブートよりも低速になります。

質問 - DVD 以外のメディアから Windows PE 2004 と Windows PE 2005 (1.5 または 1.6) をブートし、DVD からイメージ (またはその他のデータ) のコピーを試みました。DVD からブートしないで、データを DVD からコピーするだけなのですが、機能しません。Windows の完全版がインストールされていると DVD は読み取り可能ですが、Windows PE ではそのボリュームが破損しているか読み取り可能ではないことを示すエラーが発生します。この問題を解決できますか。

回答 - できます。Windows PE 1.x は、既定では UDF でフォーマットされたメディアをサポートしません。定義によれば、DVD は ISO ブリッジ サポート (ISO と UDF のデュアル フォーマット) でフォーマットされているか、単に UDF でフォーマットされているかのいずれかです。これを機能させるには、Windows PE のインストールに UDF ドライバを追加する必要があります。ドライバが既に存在している場合は、インストールされていないだけです。ドライバをインストールするには、次の手順を実行します。

  1. メモ帳を使って、I386 (Windows PE のハードディスク インストールの場合は MiniNT) ディレクトリにある txtsetup.sif ファイルを開きます。
  2. [CdRomDrivers.Load] セクションに移動し、cdfs.sys というドライバを含む行を探します。その行の下に、udfs = udfs.sys という行を追加します。エントリは次のようになります。
[CdRomDrivers.Load]
cdfs = cdfs.sys
udfs = udfs.sys

3. [CdRomDrivers] セクションに移動し、cdfs を含む行を探します。その行の下に、udfs = "Universal Disk File System" という行を追加します。エントリは次のようになります。

[CdRomDrivers]
cdfs = "CD-ROM File System"
udfs = "Universal Disk File System"

4. txtsetup.sif を保存して終了し、必要に応じて Windows PE イメージを作り直します。これで、Windows PE 内から UDF でフォーマットされた DVD メディアを読み取れるようになります。

質問 - 使用しているシステムの中に Windows XP を実行しており、ACPI をサポートしない古いシステムが数多く含まれています。こうしたシステムを Windows Vista に移行するため、場合によっては Windows XP を再インストールするために、これらのシステムで Windows PE 2.0 を使用できますか。

回答 - できません。Windows PE 2.0 は、ACPI (Advanced Configuration and Power Interface) 準拠のシステムしかサポートしないため、質問にあったシステムではブートできません。こうしたシステムで Windows PE を使用する必要がある場合は、Windows PE 1.6 以前を使用してください。

質問 - Windows PE (1.x または 2.0) で実行する予定で独自のアプリケーションを Visual Studio® 2005 で作成しました。このアプリケーションは機能しますか。

回答 - これはアプリケーションを作成した方法によって異なります。アンマネージ C++ を使用していれば、アプリケーションは機能します。いずれかのマネージ コード言語 (C# や J# など) を使用しているか、マネージ C++ コードを作成した場合は、機能しません。Microsoft® .NET Framework (全バージョン) は Windows PE では使用できないため、マネージ コードは実行できません。

質問 - Windows PE 2.0 で使用するための独自のアプリケーションを作成しており、何らかの支援が必要です。どこで情報を探すのが最適ですか。

回答 - Windows PE デベロッパーズ ガイド ホワイトペーパーから始めることをお勧めします。

質問 - CD から数回 Windows PE 2.0 をブートしましたが、ドライブ文字 (RAM ディスク) は常に X です。ブート元の実際のドライブ文字を調べる方法はありますか。

回答 - レジストリを調べると、Windows PE が最初にブートされた実際のドライブ文字が次のキーに反映されています。

HKEY_LOCAL_MACHINE\SYSTEM\Setup\SystemPartition 

Windows PE 内でサードパーティのシェルが使用されているためこのキーが設定されていない場合は、次のコマンドを実行すると、ドライブ文字が正しい値に更新されます。

start /w wpeinit UpdateBootInfo

質問 - ImageX ファイルと WIM ファイルを使用してシステムをバックアップすることはできますか。

回答 - 理論的には可能ですが、お勧めしません。ImageX では、本来のバックアップ ツールとは異なり、ロックされているファイルや開かれているファイルをバックアップすることができません。開かれているファイルやロックされているファイルを保護できる、本来のバックアップ ユーティリティを引き続き使用することをお勧めします。

質問 - 圧縮されていない WIM ファイルをキャプチャすれば、同じボリューム イメージが圧縮されている場合に比べて高速に展開できますか。

回答 - いいえ、大差ありません。圧縮されていることにより、キャプチャには時間がかかります。ただし、対象システムへのイメージの適用は、使用している圧縮の種類 (なし、 XPress、または LZX) とは関係なく、それほど時間はかかりません。イメージ サイズの実際のニーズとキャプチャにかけられる時間を基に圧縮の種類を選択することをお勧めします。

質問 - WIM イメージの適用を計画している場合、ディスクを再度パーティション分割して、フォーマットする必要がありますか。

回答 - 実行する必要があります。クリーンなイメージのシステムを実行するためには、まず、diskpart ツールを使用してボリュームをクリーンな状態にする (または、対象のパーティションを削除して再作成する) 必要があります。また、適用前にボリュームを完全にフォーマットすることもできます。

さらに、Windows Vista よりも前のバージョンの Windows では使用するブート セクタが異なっていることを覚えておく必要があります。そのため、Windows Server 2003 以前の展開に Windows PE 2.0 を使用している場合は、Windows のセットアップや WIM の適用を始める前に、Windows PE 内から次のコマンドを実行して、Windows Server 2003 以前をブートできるブート セクタを設定する必要があります。

bootsect /nt52 sys C: /force

まとめ

WDS にどのような更新が行われたかがわかり、関連する質問への回答が役に立ち、興味深いものであればさいわいです。読者から頂いたすべての質問に感謝します。今後もコラムのスペースに余裕があれば、こうした質問に回答するよう全力を尽くします。筆者の紹介に記載した電子メール アドレスに、これからもメールをお寄せください。

Windows Vista Harware Assessment

Baldwin Ng

朗報です。数か月前から行っている提案に、マネージャが最終的な答えを出します。どうやら、マネージャは Windows Vista を組織全体に展開するという提案を真剣に検討し、1 つのオペレーティング システムを管理することのメリットとコスト削減を考え始めたようです。しかし、Windows Vista をインストールするためにすべての PC をリプレースすることに財務上の合理性があるかどうかについて完全に納得しているわけではありません。そのため、どの PC が Windows Vista に現状のまま適切に移行でき、どの PC が移行に伴いシステム メモリやハードディスク領域の追加などのわずかなアップグレードを必要とするかについて、明確かつ詳細な情報を求めています。さらに、この回答を週末までに提出するように求めています。では、どこから作業を始めましょう。組織に最新の資産やネットワーク管理ツールがないときに、どうすれば数日間で回答を得られるでしょうか。さらに悪いことに、前任者は既存のネットワーク資産に関して十分な情報を残していません。

マイクロソフトでは、Windows Vista に対する組織の対応状況を判断する際に役立つソリューション アクセラレータとして Windows Vista Hardware Assessment をリリースしました (microsoft.com/technet/wvha 参照)。このツールは、ネットワーク上の PC をすばやく評価し、ハードウェアやデバイスの互換性に関する詳細な対応状況レポートを生成します。大半の中規模組織ではこの処理に数時間しか必要とせず、ネットワークに接続されている PC にどのようなソフトウェア エージェントもインストールする必要がまったくありません。

Windows Vista Hardware Assessment は、以前に Microsoft ADS (Assessment and Deployment Solution) 向けに開発された優れたインベントリ コレクションとレポート処理テクノロジを基に構築され、次の 3 ステップのプロセスで一連の対応状況レポートを作成します。

1. ハードウェア インベントリ

このツールは WMI (Windows Management Instrumentation)、Active Directory®、および NetServerEnum などのその他の Windows ネットワーク プロトコルを使用して、ワークグループ コンピュータだけでなく、ドメイン上のコンピュータを探索します。インベントリが完了すると、すべてのシステム リソースとデバイス情報が SQL Server™ 2005 Express データベースに格納されます。このツールの現リリースでは、最高 5,000 台までのコンピュータのネットワーク探索をサポートします。今後のリリースでは、さらに大規模なネットワークに拡張する予定です。

2. 互換性の分析

Windows チームから提供されたデバイスと BIOS の最新のデータベースを使用して、各PC のハードウェアとデバイスの Windows Vista に対する互換性に関する対応状況を分析します。また、ツールを実行するたびに最新の情報が得られるように、定期更新 Web サービスを使用してドライバ情報を取得します。

3. 対応状況レポート

最後の手順では、一連の対応状況レポートを Microsoft Word 文書と Excel® ワークシートの形式で自動生成します。これらのレポートでは、PC ごとに対応状況とアップグレードの推奨が提供されます。

他にも、Windows Vista Hardware Assessment を補完する Windows Vista ソリューション アクセラレータとして、Business Desktop Deployment 2007 や Windows Vista Security Guide などがあります。詳細については、ソリューション アクセラレータのホーム ページを参照してください。

Baldwin Ng は Microsoft Solution Accelerators チームのプロダクト マネージャで、ユーザーやコンサルタントが迅速かつ効果的な方法で Microsoft ソフトウェアを採用する際に役立つソフトウェアの自動化ツールの作成に取り組んでいます。**連絡先は、Baldwin.Ng@microsoft.com (英語のみ) です。

Wes Miller は、テキサス州オースティンにある Pluck 社 (www.pluck.com) の開発マネージャです。以前はオースティンにある Winternals Software 社に勤務し、その後はマイクロソフトで Windows のプログラム マネージャ兼プロダクト マネージャとして働いていました。Wes の連絡先は、technet@getwired.com (英語のみ) です。Wes は、今回のコラムの WDS の新機能について執筆する際に、マイクロソフトの Windows Deployment Services 担当のプログラム マネージャである Scott Dickens から受けたアドバイスに感謝しています。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.