SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for 4月, 2010

Windows Embedded Standard 7 を USBメモリにインストール

leave a comment

[はじめに]
この投稿は、Windows Embedded Standard 7 をインストールするクライアントの記憶媒体として
USB メモリを使う方法になります。
USB メモリで起動できる持ち運び可能な Windows 環境を作る方法ではありません。
Windows Embedded は組み込み OS のため、原則としてクライアント本体に OS のライセンスがつくはずです。
USB メモリに OEM のライセンスがつくということはないと思うので、作成した USB を他の端末で起動するのは
ライセンス的に NG になると思います。

インストールした USB メモリを他の端末で起動するのは控えてください。
インストールした USB メモリを他の端末で起動する場合は、必ずライセンス違反にならないかを自己の責任でご確認下さい
Windows Embedded のライセンスは汎用パソコンとしての利用は禁止されているため、組み込みシステム以外で
一般的な利用はできないはずですので。

また、開発/評価目的以外の利用に関しては、System Builder (システム ビルダー) ライセンス に基づき、
正規のライセンス契約の範囲で実施する必要があります。
# OEM ライセンスとして、どのように (どのハード) OEM のライセンスが付与されるのかもこちらのライセンス契約に基づくそうです。

とここまで書いたので、さっそく検証です。

Windows Embedded は [UFD (USB Flash Drive)] にインストールすることが可能です。
UFD ということなので、USB メモリにもインストーすることが可能です。

ただし、デフォルトの状態ではUSBメモリをインストール可能なメディアとしては認識することができません。
image?

■UFD にインストールするための手順

UFD にインストールするためには、[Bootable Windows USB Stack] というパッケージを追加する必要があります。
今回はこのパッケージをメディアブートしてから追加してみたいと思います。
# [Image Configuration Editor] でも追加できます。

今回の検証は、VMware Workstation を使ってホスト OS のUSB メモリをゲスト OS に接続して実施しています。

  1. [Build an Image] をクリックします。
    image
  2. [I accept the license terms] を有効にして、[Next] をクリックします。
    image
  3. 使用するテンプレートを選択して、[Next] をクリックします。
    今回は、[Thin Client] を選択しています。
    image?
  4. 使用する言語を選択して、[Next] をクリックします。
    今回は、[Japanese] を選択しています。
    image?
  5. [Modify Features] を有効にして、[Next] をクリックします。
    image
  6. [Feature Packages] → [Embedded Enabling Features] → [Bootable Windows USB Stack] を有効にします。
    このままでは、[Next] をクリックすることはできません。
    依存関係で排他関係にあるものがあるため、[Resolve Dependencies] をクリックして依存関係を解消します。
    image?
  7. [Standard Windows USB Stack] を無効にし、[Next] をクリックします。
    image
  8. [Done] をクリックします。
    image?
  9. [Next] をクリックします。
    image?
  10. [Next] をクリックします。
    image
  11. U
    SB メモリが選択できるようになっているので、選択して [Next] をクリックします。
    # [Thin? Client] のテンプレートの場合は、インストール時の一時領域の関係でフットプリントが 2GB でもその倍は USB メモリの
     サイズがないとインストールできないようでした。(4GB の USB メモリではインストールできませんでした。)
    ?? そのため、今回は 8GB の USB メモリを使用しています。
    image??

    警告は以下の内容になっています。
    BIOS で USB ブート可能なように設定しましょうという内容ですね。
    image?

これで USB メモリに WES がインストールされます。
image

Windows Embedded は XP の時から、USB メモリへのインストールをサポートしていたようで、それに関しては WES 7 になっても
継続してサポートされるようですね。

Written by Masayuki.Ozawa

4月 29th, 2010 at 5:55 pm

Posted in Windows Embedded

Windows Embedded Standard 7 の展開イメージをカスタマイズ その 4 – エクスプローラーシェルの追加 –

leave a comment

Windows Embedded Standard 7 の [Minimum Configuration] では UI がコマンドプロンプトシェルとなっているため、
Server Core 相当のインタフェースとなっています。
image?
image?

このままではシンクライアントといえど少し味気ないですよね。そこで、UI をエクスプローラーシェルに変更したいと思います。

■エクスプローラーシェルの追加

エクスプローラーシェルに変更するには、以下のパッケージを追加します。
[Packages] → [FeaturePack] → [User Interface] → [Windows Shell] → [Windows Explorer Shell]image

あとは依存関係を解決して、展開用イメージを作成します。
# 作業は、[Minimum Configuration] の展開イメージ作成と同じです。

[Command Prompt Shell with Custom Shell Support] と [Windows Explorer Shell] は排他になっているため、どちらかしか選択できません。
image

作成した展開用イメージを使用してインストールした環境が以下の画像になります。
image  image

Windows らしい環境になりました。
機能としては何もインストールされていないので、これだけだとシンクライアントにもならなさそうですけどね。
image?

[Thin Client] からカスタマイズするのが楽だとは思うのですが、[Minimum Configuration] からカスタマイズするほうが
必要なコンポーネントを追加して OS を作っていくというイメージがしやすいと思います。

次の投稿では、USB メモリに Windows Embedded Standard 7 をインストールする方法についてまとめてみます。

Written by Masayuki.Ozawa

4月 29th, 2010 at 2:44 pm

Posted in Windows Embedded

Windows Embedded Standard 7 の展開イメージをカスタマイズ その 3 – ハードウェア構成のインポート –

leave a comment

前回展開したイメージですが、Hyper-V の統合サービスでインストールされるデバイスドライバ関連が導入されていないため、
リモートで接続をした際にマウスを使用することができない状態となっていました。

Windows Embedded Standard 7 は Windows 7 ベースの OS のため、メディアには統合サービス関連のドライバが
含まれているのですが、展開用に作成したイメージにはドライバが含まれていない状態のため、このような動作となっています。

以下の画像が配布共有に含まれているパッケージから [Virtual Machine] で検索した内容となっています。
image

統合サービスをインストールすると組み込まれるドライバが表示されていますね。
これらを一つ一つ応答ファイルに組み込んでもよいのですが、ちょっと面倒ですし他にインストールしなくてはいけない
パッケージもありそうですよね。
image

Windows Embedde には、[Target Analyzer] という機能があり、この機能を使用するとインストールをする端末の
ハードウェア情報を取得することができます。

[Target Analyzer] は [TAP.exe] というプログラムを実行することで使用することができます。
このプログラムは、Windows Embedded Standard 7 のインストールメディアか、[Image Configuration Editor] から作成できる、
[Windows PE] のイメージで対象の端末を起動すると使用することができます。

image

今回は、Windows Embedded Standard 7 のインストールメディアで起動して、ハードウェア情報を取得したいと思います。

■ハードウェア情報の取得

まずは、Windows Embedded Standard 7 のインストールメディアでハードウェア情報を取得する端末を起動します。

image

端末が起動したら、[Shift+F10] を押して、コマンドプロンプトを起動します。
image

後は、[TAP.exe] を実行すれば完了です。
[TAP.exe] を以下の形式で実行します。
# 拡張子は [.pmq] で取得します。

tap.exe /o <取得先>

例)
tap.exe /o c:temptap.pmq

image

インストールメディアは [netsh] コマンドを使うこともできますので、NIC が認識していれば共有ディレクトリに取得することもできます。

取得したファイルを、[Image Configuration Editor] をインストールしている端末にコピーします。

■ハードウェア情報のインポート

取得したハードウェア情報を、[Image Configuration Editor] にインポートします。

[File] → [Import] → [Import PMQ] を選択します。
image

取得した [PMQ] ファイルを選択してハードウェア情報をインポートします。
image

そうすると応答ファイルに必要なパッケージが自動的にインポートされます。
インストールメディアに含まれているハードウェア固有のパッケージをインポートするにはこの方法を使うと、とても楽ですね。
image

今回の取得したハードウェア情報は、 Hyper-V のゲスト OS のものなので、統合サービスでインストールされるドライバ関連が
一括でインポートされています。

この状態でインストール用のイメージを作ってインストールをすると、統合サービスが含まれていますのでリモートから接続しても
マウスを使用することが可能です。

次の投稿では、[Minimum Configuration] のイメージにエクスプローラーシェルを組み込み GUI の環境にする方法をまとめてみます。

Written by Masayuki.Ozawa

4月 29th, 2010 at 1:52 pm

Posted in Windows Embedded

SQL Server 2008 R2 のクラスターインストール時のネットワークバインド順序の警告について

leave a comment

SQL Server 2005 以降のクラスターのインストールではセットアップ時に以下のようなインストール前の検証が行われます。
# 以下は SQL Server 2008 R2 November CTP の内容です。

image?
[ネットワーク バインド順序] 以外のルールはすべて [合格] にできるのですが、環境によっては [ネットワーク バインド順序] だけが
[警告] になってしまうという現象がまれに発生していました。

警告は以下の内容となっています。
image?

今回の環境では、[Public] というドメインのネットワークと、[Private] というクラスタの内部通信用のネットワークの 2 種類を用意しています。
ネットワークのアクセス順序に関しては、[Public] [Private] という順番にしてあり、優先順位としては [Public] のほうが高い設定となっています。
image

ドメイン ネットワークのほうが、優先順位高いのですが、この警告が発生するんですよね。
[Public] と [Private] の順序を変更すると警告が消えることがあります。
# あくまでも警告のレベルなので、インストールは継続することができ動作的にも特に問題はないのですが。

今日の午前中に、英語版の SQL Server 2008 R2 RTM の Enterprise Evaluation をインストールしていて同様の現象が発生し、
そういえばこの間この現象について、英語の情報があったな~と思い対応方法をまとめてみました。

■参考にした情報

この現象の解決には、以下のサイトの情報を参考にさせていただきました。
Network Binding Order Rule Warning in SQL Server 2008 Cluster Setup Explained

このチェックに関しては、[アダプターとバインド] で設定する順序だけでなく、レジストリの設定も関係しているようですね。

■対応方法

  1. ネットワークアダプタの順序の設定
    ネットワークアダプタの順序に関しては、[ネットワーク][プロパティ] を開いて、
    image

    [詳細設定][詳細設定] から変更することができます。
    # Windows Server 2008 以降はメニューバーが表示されないので、[Alt] を押してメニューバーを表示します。
    image

  2. ゴーストデバイスが存在していないかの確認
    NIC のゴーストデバイスが残っていないかを確認するのもポイントのようですね。
    以下の KB はWindows 2000 Server 用の技術情報になりますが、2008 / R2 でも同様の操作で表示することが可能です。
    Windows 2000 に現在存在しないデバイスがデバイス マネージャに表示されない

    いつまでたっても、

    set devmgr_show_nonpresent_devices=1
    cd%SystemRoot%System32
    start devmgmt.msc

    が覚えられないです…。

    上記コマンドを実行すると [非表示のデバイスの表示] を有効にした際に、ゴーストデバイスが表示できるようになりますので、
    image

    [ネットワーク アダプター] に薄い文字で表示されているデバイスがないかを確認します。
    今回の環境ではゴーストデバイスは存在していないために表示されていません。
    # 薄い文字で表示されているものが接続されていないがアダプターとしては残っているゴーストデバイスになります。
    image

  3. レジストリの設定変更
    多くの場合は、このレジストリ値のの設定が起因して警告が表示されているような気がします。

    [HKLMSYSTEMCurrentControlSetServicesTcpipLinkage][Bind] という [REG_MULTI_SZ] の設定があります。
    image?

    SQL Server のクラスターのインストールでは、この値の順序もアダプタのバインド順序として認識されているようです。

    このままでは、どの値がどのアダプターを指しているかわからないのでコマンドプロンプトで、[WMIC] を使ってアダプターと値の関連を調べます。

    wmic nicconfig get description, SettingID

    そうすると以下のような結果が取得できます。

    WAN Miniport (SSTP)??????????????????????????????????????? {4AE6B55C-6DD6-427D-A5BB-13535D4BE926}
    WAN Miniport (IKEv2)?????????????????????????????????????? {DBD85EFC-7CFA-4A38-90A3-4803A40BF61E}
    WAN Miniport (L2TP)??????????????????????????????????????? {66973E50-CF44-46A7-AD86-0F369D30ACA2}
    WAN Miniport (PPTP)??????????????????????????????????????? {F93EB786-8968-43C5-BC58-54D87385060E}
    WAN Miniport (PPPOE)?????????????????????????????????????? {6A16EDEB-24DF-416A-B427-CED88EFCA006}
    WAN Miniport (IPv6)??????????????????????????????????????? {F4373218-ED19-4F3D-8DB4-982009ED86B7}
    WAN Miniport (Network Monitor)???????????????????????????? {5356FE17-48EE-4A7A-BECE-645E20060A52}
    Microsoft Virtual Machine バス ネットワーク アダプター???? {80A41E42-ED0F-4584-860F-F03808F2D520}
    WAN Miniport (IP)????????????????????????????????????????? {66513FCE-F1B9-480C-B278-3DD588D5D452}
    Microsoft Virtual Machine バス ネットワーク アダプター #2? {B14AF60C-B406-4890-9D27-0D7034D634AD}
    RAS Async Adapter????????????????????????????????????????? {DD2F4800-0DEB-4A98-A302-0777CB955DC1}
    Microsoft Failover Cluster Virtual Adapter???????????????? {64D317B9-D0D5-4AAB-9D1F-8D8BA9E5A1E3}

    今回は、[Public] が [#2] のアダプタを使っているので、[{B14AF60C~}] の値が、ドメイン ネットワークになりますね。
    image

    それではレジストリの値を変更して、Public のネットワークを先頭に設定します。
    # ついでに、[Private] を 2 番に設定しています。Public が先頭にあれば、警告は表示されないようになるためこれは必須ではありません。
    image

以上で設定は終了です。

SQL Server のインストーラーの検証を再実行してみます。
# 設定変更後にサーバーの再起動はしていません。

すべての検証が [合格] になりました。
ファイアウォールはすべてを合格にするために機能自体を無効にしているので、本来は [Windows ファイアウォール] だけが警告になるのが正しいと思いますが。
image?

ネットワークのプロパティからの設定だけでなく、レジストリの変更をしないと警告が回避できないのでちょっとわかりずらいですね。

Written by Masayuki.Ozawa

4月 29th, 2010 at 4:32 am

Posted in SQL Server

Windows Embedded Standard 7 の展開イメージをカスタマイズ その 2 – テンプレートからビルド –

leave a comment

少し日が空いてしまいましたが展開イメージのカスタマイズの続きを。

イメージのカスタマイズには、[Image Configuration Editor] を使用します。

image?
Image Configuration Editor

初期状態では上の画像のように何も読み込まれていない状態です。
この状態から以下の作業をして、イメージの作成を行います。

  1. 配布共有 (Distribution Share) の選択
  2. 応答ファイル (Answer File) の選択
  3. 依存関係の解消
  4. インストールイメージの作成

それでは、各作業をまとめていきたいと思います。

■配布共有 (Distribution Share) の選択

まずはイメージのカスタマイズに使用するためのベースとなる、各種パッケージが含まれている配布共有を読み込みます。

  1. [Distribution Share] の [Right click to select a Distribution Share] を右クリックして、[Select Distribution Share] を
    選択します。
    ?image
  2. 配布共有を選択します。
    ToolKitをインストールすると [C:Program FilesWindows Embedded Standard 2011DS] に配布共有が
    格納されていますのでこのディレクトリを選択します。
    image
  3. 配布共有が読み込まれます。
    image?

配布共有の下には Windows Embedded Standard 7 のさまざまなパッケージが含まれています。
image?

イメージの作成は、これらのパッケージを応答ファイルに対して追加していきます。
でも一つ一つを追加していくのは大変ですよね…。

デフォルトで数種類の応答ファイルのテンプレートが用意されていますので、続いて応答ファイルを読み込みます。

■応答ファイル (Answer File) の選択

応答ファイルを新規に作って必要になるパッケージを選択していくのは大変ですので、デフォルトのテンプレートを
選択し、コンポーネントを自動で追加させます。

  1. [Answer File] の [Right click to create or open an answer file] を右クリックして、[Open Answer File] を
    選択します。
    image?
  2. [C:Program FilesWindows Embedded Standard 2011DSTemplatesIBW] から応答ファイルを選択します。
    今回は [Minimum Configuration] を選択しています。
    image
    テンプレートで用意されているのは、インストール時に選択できるものと同じになっています。
    # [Use a template] と表示されているくらいですので。
    image
  3. 選択したテンプレートで必要となるパッケージが追加された状態となります。
    image?

これで基本となるパッケージの読み込みが完了しました。
ただ、この状態では依存関係のあるパッケージで必要となるものが追加されていないため、[Messages] にエラーが表示されています。

次の作業で依存関係を解消していきます。

■依存関係の解消

テンプレートを選択しても手動で依存関係を解消する必要があるようです。
# 最低限、言語系の依存関係は解消しないと駄目のようです。
現在読みこんているパッケージで必要となる依存関係パッケージを順次、追加していきます。

  1. [Messages] に表示されている、エラーメッセージをダブルクリックします。
    image
  2. メッセージをダブルクリックすると、必要となる依存関係パッケージが表示されます。
    今回の場合は、[requires at least one of] に表示されているパッケージを一つ選択する必要があります。
    image?

    今回は、[Japanese Language Pack] を選択して、日本語環境にしたいと思います。
    image

    パッケージを選択をすると、Footprint がどれだけ増えるかが表示されますのでこれでどれだけの容量が必要になるか

    判断することができます。

  3. 依存関係を解消すると、該当のメッセージが取り消し線で表示されます。
    image

    追加したパッケージでさらに依存関係があるかもしれませんので、[F5] を押して更新をします。
    image?
    [Source Location] が [LanguagePack] となっているメッセージが表示されました。
    追加したパッケージの依存関係を解消する必要があるようです。
    メッセージをダブルクリックして依存関係を確認します。

    今回は [Japanese Fonts] が必須ですね。IME に関しては optional となっています。
    image?

    一つはオプションですが両方とも追加してみます。
    image

    依存関係が解消されたので、メッセージが取り消し線に。
    image?

    あとはこの作業を繰り返して、依存関係のエラーが表示されないようにしていきます。
    [Optional ~] でオプションとして追加できるパッケージのメッセージは表示されていますがエラーは無くなりました。
    image?

  4. パッケージの追加が終わったら、メニューの [File] から、[Save Anser File As…] で作成したファイルを別の場所に保存します。
    # テンプレートはデフォルトの状態で残しておいた方がよいので。
    image

これで応答ファイルの作成が完了しました。
最後にインストールイメージを作成します。

■インストールイメージの作成

最後の作業として作成した応答ファイルを元にインストールイメージを作成します。

  1. メニューの [Tools] → [Create Media] → [Create IBW Image From Answer File…] を選択します。
    image

    [Distribution Share] は配布共有を別の場所に作成、[Windows PE Image] は PE の イメージファイルを作成します。
    PE のイメージファイルは Windows Embedded 用に少しカスタマイズされた形で作られるみたいです。

    今回は、インストールイメージですので [Answer File] を選択しています。

  2. インストールイメージを作成するディレクトリを選択して、[OK] をクリックします。
    image

    [OK] をクリックすると必要なファイルがコピーされ、イメージが作成されます。
    image image

  3. [はい] をクリックします。
    image

    インストール用のイメージがコピーされているのが確認できますね。
    image

  4. 最後の作業として、インストール用のファイルを ISO ファイルにします。
    USBブートが可能であれば、ブータブルのUSBメモリを作成することもできます。
    ToolKit をインストールすると PE Tool もインストールされるため、[oscdimg.exe] を使用することが可能です。

    ヘルプの [Burn a Bootable Utility CD-ROM] にコマンドのサンプルが記載されていますので、これを使用します。
    # 以下のコマンドはヘルプのコマンドからディレクトリ名を変えて、[-m] を追加しています。

    oscdimg -n -m -bc:utildiskBOOTetfsboot.com C:utildisk C:util_x86.iso

    コマンドは、[Windows PE Tools Command Prompt] から実行します。
    image?

    USB メモリの場合は、ヘルプの [Make a Bootable Utility UFD] を参考にします。
    以下がヘルプに記載されているコマンドになります。< br /># 今回は USB ブート用のメディアの作成はしていないためヘルプのコマンドをそのまま記載しています。

    >diskpart
    select disk 1
    clean
    create partition primary size=<device_size>
    select partition 1
    active
    format fs=fat32
    assign
    exit

    xcopy C:utildiskiso*.* /s /e /f F:

    今回はこのような ISO ファイルが作成できました。
    548MB なので CD サイズですね。
    image?

それでは、作成したメディアを使って端末を起動してみたいと思います。
今回は Hyper-V のゲスト OS を作成したメディアで起動してみました。

作成したメディアで、正常にインストーラーが起動しました。
後のインストール方法に関しては以前投稿した内容と同じです。
# テンプレートの選択画面が表示されませんがそれ以外は同じです。
image

こちらが [Minimum Configuration] のテンプレートをベースに作成したイメージでインストールした環境です。
ServerCore のクライアント版ですね。
image

実はこの環境、Hyper-V 関係のドライバが組み込まれていないので、リモートからの接続ではマウスが使えない状態となっています。
次の投稿で、エクスプローラーベースのコンソールと、ハードウェア関連のデバイスの組み込みについてまとめたいと思います。

Written by Masayuki.Ozawa

4月 22nd, 2010 at 4:01 pm

Posted in Windows Embedded