Ask CORE

Microsoft Japan Windows Technology Support

May, 2010

  • ミニ セットアップで新規ユーザーの作成をスキップする方法

    こんばんは。Windows テクノロジー サポートの吉井です。

    今日は、Windows 7 の展開の際、Sysprep を実施したイメージのミニ セットアップにて、新規ユーザーの作成をスキップする方法についてご紹介します。

    0. 概要

    Sysprep されたイメージを初めて起動すると、ミニ セットアップと呼ばれる OS の新規インストール時と似た初期設定画面が表示されます。
    ここでは言語、時刻の設定や、新規ユーザーの作成、ネットワークの設定などを行います。

    既定では、このミニ セットアップにて新規ユーザーを作成する必要がありますが、"応答ファイル" と呼ばれる設定ファイルを使用することで、ミニ セットアップにおけるユーザー作成をスキップすることができます。

    (※ ただし、ユーザーが一人もいない状況になってしまうと誰もログオンできなくなりますので、そういった状況にならないよう注意してください。)

    "応答ファイル" はこれまでも数回このブログで紹介していますが、弊社のダウンロード センターにある Windows 自動インストール キット (AIK) 内に含まれる Windows システム イメージ マネージャー (SIM) を用いて作成することができます。

    以下に、新規ユーザー作成をスキップする方法について、Windows AIK の入手とインストールから、応答ファイルの作成、及び、Sysprep の実行まで一通り説明します。


    1. Windows AIK を準備します。

    Windows AIK は以下のサイトよりダウンロード可能です。

     Windows 7 用の Windows 自動インストール キット (AIK)
     http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=ja

    Windows AIK のインストール手順は、次の技術情報をご覧ください。

     4. ステップ 1. テクニシャン コンピューターの準備
     http://technet.microsoft.com/ja-jp/windows/ee676464.aspx
     "1.1. Windows 自動インストール キット (Windows AIK) のインストール" に
     手順が記載されています。(1.2 以降の作業は今回は実施の必要はありません。)


    2. Windows システム イメージ マネージャー (SIM) を利用して応答ファイルを作成します。

    1. スタート メニューから [Windows システム イメージ マネージャー] を開きます。

    2. Windows システム イメージ マネージャーが起動します。
       [Windows イメージ] ペインの、[Windows イメージまたはカタログ ファイルを指定してください] を右クリックし、[Windows イメージの選択] をクリックします。

    3. [Windows イメージの選択] が表示されます。
       Windows 7 のインストール メディアを DVD ドライブに挿入し、DVD 内の Sources フォルダー内にある Install.wim または、.clg の拡張子を持つ カタログ ファイルを選択し、[開く] をクリックします。

      ※ Install.wim を使用する場合は、一旦ローカル ディスク上に Install.wim ファイルをコピーし、ローカル ディスク上にある Install.wim を開いてください。

    4. 次に、[応答ファイル] ペインで、[応答ファイルを作成または開きます] を右クリックし、[新しい応答ファイル] をクリックします。

    5. 応答ファイルに対して、コンポーネントを追加します。
       [Windows イメージ] ペインに設定項目 (コンポーネント) がリストされています。
       今回は、[Windows イメージ] ペインから、[Components] を展開し、[Microsoft-Windows-Shell-Setup_neutral (※)] - [UserAccounts] - [LocalAccounts] - [LocalAcount] を右クリックし、[パス 7 oobeSystem に設定を追加] をクリックします。

    ※ なお、コンポーネントの名称の Microsoft-Windows-Shell-Setup の前には x86 または amd64 の接頭語がつきます。また、後ろにはバージョン番号が記載されていますので、適宜お読み替えください。

    6. [応答ファイル] ペインに、[Microsoft-Windows-Shell-Setup_neutral] が追加されます。
       [応答ファイル] ペインの [7 oobeSystem] - [Microsoft-Windows-Shell-Setup_neutral] - [UserAccounts] - [LocalAccounts] - [LocalAccount] をクリックします。

    7. [LocalAccount プロパティ] ペインが表示されます。
       [LocalAccount プロパティ] の [設定] 項目で以下を設定します。
       Group : Administrators
       Name : Administrator


    8. [Windows システム イメージ マネージャー] の [ファイル] メニューから、
       [名前を付けて保存] をクリックし、任意の名前をつけて応答ファイルを保存します。 (例: unattend.xml 等の名称で保存します。)

    参考イメージ

    - 参考資料
     LocalAccounts
     http://technet.microsoft.com/ja-jp/library/ff715535(en-us,WS.10).aspx

     LocalAccount
     http://technet.microsoft.com/ja-jp/library/ff715847(en-us,WS.10).aspx

    なお、Windows 7 では既定で Administrator アカウントが無効化されていますが、この手順は Administrator アカウントが無効の状態でも有効です。
    また、Administrator アカウントが自動的に有効化されることもありません。


    3. 作成した応答ファイルを指定して、Sysprep を実行します。

    作成した応答ファイルを指定して、Sysprep を実行するには、以下のコマンドを実行します。

    1. コマンド プロンプトを管理者権限で起動します。
    2. 以下のコマンドを実行します。
    %systemroot%\System32\Sysprep\sysprep.exe /oobe /generalize /unattend:<応答ファイルのパス>
    例: %systemroot%\System32\Sysprep\sysprep.exe /oobe /generalize /unattend:unattend.xml

    なお、応答ファイルはその他の方法でも指定できます。詳細は以下の資料を参照してください。

     Windows セットアップの実行方法
     http://technet.microsoft.com/ja-jp/library/dd744269(WS.10).aspx


    - 参考 : その他の項目もスキップ (応答ファイルで指定) する方法について

    上記手順 2-5 にて、以下の Technet の記載されているコンポーネントを追加して設定することで、ミニ セットアップ全体をスキップすることも可能です。
    よろしければご参照ください。

     [Windows へようこそ] を自動化する
     http://technet.microsoft.com/ja-jp/library/dd744547(WS.10).aspx


    - その他参考資料

     Sysprep とは
     http://technet.microsoft.com/ja-jp/library/cc721940(WS.10).aspx

     Windows 7 展開センター
     http://technet.microsoft.com/ja-jp/windows/ee517406.aspx

     Windows 7 標準クライアント イメージの作成手順
     http://technet.microsoft.com/ja-jp/windows/ee676462.aspx

     

  • リモート デスクトップ サービスのデプロイメント ガイド

    こんにちは。Windows テクノロジー サポートの大羽です。

     

    Windows Server 2008 のターミナル サービスおよび Windows Server 2008 R2

    リモートデスクトップ サービスのデプロイメント ガイドがリリース

    されましたのでお知らせします。

     

    以下のサイトより、ドキュメントをダウンロードしてご覧ください。

     

    Remote Desktop Services Deployment Guide

    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1d95a910-72a5-44ec-96db-6853f6f9dc5b

     

    Terminal Services Deployment Guide

    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=13177173-c99c-4054-97ea-7ec7dd43ea6e

     

    本ガイドは、システム管理者およびシステムエンジニアの方々へ向けた

    ターミナルサービスおよびリモート デスクトップ サービスの展開ガイドになります。

     

    リモートデスクトップの役割サービスと機能、VDI  (仮想デスクトップ インフラストラクチャ)  環境の

    展開について纏めています。

     

    特に VDI に関しては、これまで機能評価ガイド以外に情報が公開されていなかったため、

    重宝するかと思います。

     

    Windows Server 2008 R2 機能評価ガイド

    http://download.microsoft.com/download/D/D/1/DD187274-7AF3-45FA-BA2D-C7033F097C66/R2RTM_EvalGuide_VDI.pdf

  • フェールオーバーのしきい値 (Windows Server 2008 編)

    こんにちは。Windows テクノロジー サポートの永野です。

    今回は、Windows Server 2008 のクラスタについてです。
    グループがノード間を何回フェールオーバーできるかご存知ですか?
    まずは、以下の KB をご覧ください。

    Failover/Failback Policies on Microsoft Cluster Server
    http://support.microsoft.com/kb/197047/en-us
    http://support.microsoft.com/kb/197047/ja (日本語機械翻訳)

    上記 KB のここに注目してください。
    ---
    The failover threshold is the number of times the group can fail over within the number of hours specified by the failover period.
    フェールオーバーしきい値は、フェールオーバー期間で指定された時間数内のグループがフェールオーバーできる回数です。
    ---

    フェールオーバーできる回数は、グループのプロパティの FailoverThreshold に格納されています。
    Cluster.exe で確認してみましょう。実行方法は、以下です。

    > Cluster.exe group "グループ名" /prop

    手元の環境で、実際に実行してみました。

    C:\>Cluster.exe group "msfcgenapp" /prop
     
    'msfcgenapp' のプロパティの一覧を作成しています:
     
    T  リソース グループ    名前                          
    -- -------------------- ------------------------------ -----------------------
    SR msfcgenapp           Name                           MSFCGenApp
    SR msfcgenapp           InternalState                  Online
    S  msfcgenapp           Description
    D  msfcgenapp           PersistentState                1 (0x1)
    D  msfcgenapp           FailoverThreshold              4294967295 (0xffffffff)
    D  msfcgenapp           FailoverPeriod                 6 (0x6)
    D  msfcgenapp           AutoFailbackType               0 (0x0)
    D  msfcgenapp           FailbackWindowStart            4294967295 (0xffffffff)
    D  msfcgenapp           FailbackWindowEnd              4294967295 (0xffffffff)
    M  msfcgenapp           AntiAffinityClassNames

    FailoverThreshold の値を確認します。
    0xffffffff ??
    これは無限にフェールオーバーするって言う意味?と思われるかもしれませんが、実は違うんです。
    FailoverThreshold が、0xffffffff に設定されているリソースは内部的に FailoverThreshold の値にクラスタを構成するノード数が設定されます。
    例えば、グループの FailoverThreshold の値は、2 ノード環境では 1、3 ノード環境であれば 2 となります。
    意外と少ないと思われる方もおられるかも知れません。
    そういった場合には、コマンド プロンプトから以下のコマンドを実行することで変更可能です。

    > cluster.exe group "クラスタ グループ" /prop FailoverThreshold=<変更する値>

    実行例)
    > cluster.exe group "クラスタ グループ" /prop FailoverThreshold=8

    クラスタの設定は奥深いので、ぜひ色々試してみてください。

    ※ Windows Server 2008 は GUI 表示が誤っている問題がありますので以下の資料も参照してください。

    The default group failover threshold value in the Windows Server 2008 Failover Cluster Management snap-in is incorrect
    http://support.microsoft.com/kb/950804/en-us

     

  • ダンプ ファイルの採取設定のポイント

    こんにちは。
    Windows テクノロジー サポートの磯垣です。

    今日はダンプ ファイル採取の注意点についてお話したいと思います。

    近頃、Windows 2000 / Windows Server 2003 32 bit のお問い合わせが少なくなり Windows Server 2008 のお問い合わせや、Windows Server 2003 であっても 64 bit のお問い合わせが多くなってきました。Windows Server 2003 でも 64 bit の場合や、Windows Server 2008 の場合にはダンプ ファイル採取設定のポイントが異なりますので、注意点をまとめてみました。

     (Windows Server 2008 SP1 の場合) 下記の技術情報を確認しましたか? 必要な修正プログラムは適用されていますか?

    • Dedicated Dump File を利用している場合 (サポート技術情報 950858, 957517)
    • Dynamic Hardware Partitioning を使っている場合 (サポート技術情報 960658)
    • システムパーティションがミラーボリュームの場合 (サポート技術情報 958933)
    • NMI を使ってダンプを採取する場合 (サポート技術情報 950904)
    • PAE かつ ATA/SATA ベースのデバイスを利用している場合 (サポート技術情報 953533)
    • システムにページ ファイルのサイズ管理を任せている場合 (サポート技術情報 955635)
    • WHEA をサポートしている場合 (サポート技術情報 971877)
    • USB キーボードを使っている場合 (サポート技術情報 971284)
    • iSCSI からブートしている場合 (サポート技術情報 974922)

    (Windows Server 2008 SP2 の場合) 下記の技術情報を確認しましたか? 必要な修正プログラムは適用されていますか?

    • WHEA をサポートしている場合 (サポート技術情報 971877)
    • iSCSI からブートしている場合 (サポート技術情報 974922)

    (Windows Server 2003 64 bit, Windows Server 2008 64 bit 共通) ページ ファイルの容量は十分ですか?

    64 bit 環境の場合、カーネル メモリ ダンプの採取でも物理メモリ + 1 MB の容量が必要です。
    (2 GB と書いてあったら、それは 32 bit 環境について書かれています。)

    (Windows Server 2008 でカーネル ダンプ ファイルを採取する場合) 必要に応じ IgnorePagefileSize を設定しましたか?

    Windows Server 2003 64 bit 環境でカーネル ダンプを採取する際、物理メモリ量よりページ ファイルが小さくても、ある程度のサイズがあれば正しく採取できていました。
    Windows Server 2008 では動作自体が変更され、物理メモリ量よりページ ファイルが小さい場合はダンプの保存自体がなされなくなります。Windows Server 2003 と同等の動作とするには、サポート技術情報 949052 にしたがって、IgnorePagefileSize レジストリ値を設定する必要があります。)

    (Windows Server 2003, Windows Server 2008 共通) システム ボリュームの空き容量は十分ですか?

    システム ボリューム (通常 C:) には、ページ ファイルを作成した状態で、さらに、物理メモリ量と同じだけのボリュームの空き容量が必要となります。
    メモリ容量も非常に大きくなってきましたので、システム ボリュームにこれまでとは比較にならないほどの容量の空きが必要となりつつあります。

    システム ボリュームの空き容量が足りない場合、2008 なら、DedicatedDumpFile を設定するという手があります。

    DedicatedDumpFile
    http://blogs.msdn.com/b/ntdebugging/archive/2010/04/02/how-to-use-the-dedicateddumpfile-registry-value-to-overcome-space-limitations-on-the-system-drive-when-capturing-a-system-memory-dump.aspx

    そして、これまでご利用いただいていた製品と同様に、以下の点もチェックしてください。

    ご利用の手順は 32 bit 用ではありませんか?

    64 bit 環境に PAE は存在しないなど、32 bit 版とは手順が異なります。

    ハードウェアの自動障害回復機能をオフにしましたか?

    30 秒などのごく短い時間で自動回復するように設定している場合、ダンプ ファイルの生成が自動障害回復機能により中断されるかもしれません。

    NMI (ダンプ スイッチ)は搭載されていませんか?

    キーボードでは取れないダンプも NMI なら取れる場合もあります。NMI 機能が利用できる場合には、NMI を利用することでダンプ採取に失敗する可能性を低減できます。

    磯垣  順

    1. RemoteApp の動作について

      こんにちは。Windows テクノロジー サポートの大羽です。

       

      Windows Server 2008 および Windows Server 2008 R2 に導入されている RemoteApp

      すでにお馴染みのことと思いますが、この RemoteApp の内部動作は意外と知られていません。

      別途設定が必要になりますが、実は Windows XPWindows VistaWindows 7 なども

        RemoteApp サーバーとして構築可能です。このあたりはまたいずれご紹介します。

       

      今回は RemoteApp の内部動作に少しだけ触れてみたいと思います。

      トラブ��発生時など、詳細な調査を行う際に役立てていただければ幸いです。

       

      RemoteApp は、リモート デスクトップ サービス コンポーネントの一つになりますので、

      基本部分の動作はリモートデスクトップと同じです。

      従いまして、ユーザー認証単位でセッションが管理され、アプリケーションの実体はサーバー側で

      動作して、画像情報がクライアント側に送られます。

      そのため、さもクライアント上で動作しているようにアプリケーションが動作するということになりますが、

      このあたりの動作は基本的にリモートデスクトップと一緒です。

       

      ただし、大きく異なっている点があります。それは「シェル」です。

      Windows のシェルと言えば、勿論エクスプローラ (explorer.exe)ですが、RemoteApp では

      エクスプローラが使われていません。

      代わりに「RDPShell」というシェルが動作しています。

       

      RemoteApp などのアプリケーションは、デスクトップ操作として比較して必要な処理は

      限られているため、エクスプローラシェルのフル機能は必要ありません。

      リソース面でもアプリケーション毎にエクスプローラを起動するのでは効率が良くありません。

       

      実際、タスクマネージャでみると、explorer.exe rdpshell.exe 10 倍ほどの

      リソースを使っています。

       

      イメージ名                     PID メモリ使用量

      ========================= ======== ============

      explorer.exe                   852     45,460 K

      rdpshell.exe                  3704      4,880 K

      ※テスト環境での参考値

       

      以上のようなことから、RemoteApp では RDPShell が採用されているわけですが、

      実際にどのような動作となるのか、具体的に解説していきたいと思います。

       

      RemoteApp にて、アプリケーションが起動される際の内部動作は、概ね以下のような動作となります。

       

      1. クライアントより、mstsc.exe を経由して RemoteApp サーバーへ接続要求を行い

         TS RemoteApp セッションを確立します。

       

      2. セッション作成後、サーバー上にて userinit.exe プロセスおよび RDPInit.exe

         プロセスが起動します。

         これらのプロセスは RemoteApp のシェルである RDPShelll.exe プロセスを

         管理するプロセスになります。

       

      3. バーチャル チャンネルを介して RemoteApp のコミュニケーションが開始します。

       

      4. RDPInit.exe プロセスがアプリケーションへのアクセス許可リストを確認し、

         許可リスト内にアプリケーションが存在している場合は、アプリケーションを

         起動します。

       

      5. アプリケーションが起動し、アプリケーション ウインドウを作成します。

       

      6. RDPShell プロセスは、そのアプリケーション ウインドウのオープン処理を

         フックして、ウインドウの情報をクライアントに送信します。

       

      7. クライアントは受信したウインドウを表示します。

       

      上記プロセス以外にも、バーチャルチャンネルを管理する rdpwd.sys やディスプレイ

      ドライバである rdpdd.dll などのカーネル モード モジュールも動作しています。

       

      RDPInit.exe プロセスは RDPShell.exe プロセスの起動や終了、異常終了時の再起動

      などを管理して、常に RDPShell.exe プロセスの動作を監視するプロセスになります。

       

      RDPShell.exe VC (Virtual Channel) RemoteApp クライアントと結び、

      クライアント上で操作された各種イベントをフックして、アプリケーションに

      伝達します。

       

      簡単に説明しますとこのような動作となりますが、ポイントはアプリケーションや

      アプリケーションを管理するプロセスは全て RemoteApp サーバー上で動作している

      ということです。

       

      クライアント上では、mstsc.exe プロセスが動作して、クライアントの操作をサーバーに

      送ったり、サーバーからの画像情報をクライアント上に伝達する役割を担っています。

       

      例えば、アプリケーションが異常終了した、といったときは、RemoteApp サーバー側で

      アプリケーション自体のプロセス、RDPShell.exe プロセス、RDPInit.exe プロセスが

      正しく動作しているかを確認し、異常終了している場合はメモリ ダンプなどから

      調査を行います。

      勿論、クライアント上の mstsc.exe プロセスに異常が発生する可能性もありますので、

      Mstsc.exe が異常終了していないか確認する必要もありますが、mstsc.exe プロセス上では

      アプリケーションの実体を管理していないので、アプリケーションの処理結果を示す

      スタックはメモリ ダンプから見えません。

      いずれにしてもそれぞれのプロセスの役割を正しく理解したうえで、調査を行う必要があります。

       

      具体的な処理状況を確認したい場合は、以前ブログでご紹介しましたプロセスモニター

      というツールで詳細な動作を確認いただけますので、RemoteApp アプリケーションの

      起動動作や、終了動作など、色々と確認しておくと更に理解が深まるかと思います。

       

      ご参考)

      WS2008: Terminal Services RemoteApps

      http://blogs.technet.com/askperf/archive/2008/02/22/ws2008-terminal-services-remoteapps.aspx

       

      WS2008: Terminal Services Architecture

      http://blogs.technet.com/askperf/archive/2008/02/14/ws2008-terminal-services-architecture.aspx

       

      Process Monitor についての Tips

      http://blogs.technet.com/askcorejp/archive/2010/01/29/process-monitor-tips.aspx

    2. なにかと便利な Err.exe

      こんにちは。Windows テクノロジー サポートの永野です。

       

      今回は、私たちサポート担当が良く使うコマンド Err.exe をご紹介します。

      まずは、以下のサイトからダウンロードしてください。

       

      Microsoft Exchange Server Error Code Look-up

      http://www.microsoft.com/downloads/details.aspx?familyid=be596899-7bb8-4208-b7fc-09e02a13696c&displaylang=en

       

      ダウンロードできたら、実行して解凍してください。

      解凍してできたフォルダ内の Err.exe を C:\Windows\System32 などコマンド プロンプトのパスが通っているフォルダに移動してください。

      ここまでが準備になります。

       

      では実際に使ってみましょう。

      まずは、どういうときに使うのかということですが、イベント ログやクラスタ ログなどのログにエラーが記録されているときです。

      例えば、ログを見ていて以下のようなログを発見したとします。

       

      05/28/2010  xx:xx:xx AM  情報  ServerA  1001  Save Dump  N/A  N/A  このコンピュータはバグチェック後、再起動されました。バグチェック:  0x0000008e (0xc0000005, 0x00000000 , 0x00000000, 0x00000000)  ダンプが保存されました: C:\MEMORY.DMP

       

      イベントに意味ありげな 16 進数が出たら、とりあえず Err.exe を使ってみましょう。

      この場合、0x0000008e と 0xc0000005 が使えそうな値なのでこれを入れてみましょう。

       

      C:\>err 8e

      # for hex 0x8e / decimal 142 :

        KERNEL_MODE_EXCEPTION_NOT_HANDLED                             bugcodes.h

        SQL_142_severity_15                                           sql_err

      # Incorrect syntax for definition of the '%ls' constraint.

        ERROR_BUSY_DRIVE                                              winerror.h

      # The system cannot perform a JOIN or SUBST at this time.

        SCW_E_DIRNOTEMPTY                                             wpscoserr.mc

      # The directory is not empty%0

      # 4 matches found for "8e"

       

       

       

       

      C:\>err c0000005

      # for hex 0xc0000005 / decimal -1073741819 :

        STATUS_ACCESS_VIOLATION                                       ntstatus.h

      # The instruction at "0x%08lx" referenced memory at

      # "0x%08lx". The memory could not be "%s".

        USBD_STATUS_DEV_NOT_RESPONDING                                usb.h

      # 2 matches found for "c0000005"

       

       

       

      この出力内容から、最初の 0x8e はバグのコードなので KERNEL_MODE_EXCEPTION_NOT_HANDLED と推測できます。

      c00000005 は、KERNEL_MODE_EXCEPTION_NOT_HANDLED と関連のありそうな STATUS_ACCESS_VIOLATION でしょう。

       

      意味の分からなかったログの意味がなんとなく見えてきませんか?

      無意味な数字の羅列に見えますが、「アクセス違反が発生して、それをうまく処理できなかったから落ちた」

      ことをあらわしていたのです。

       

      他のログでも同じようなことができます。

      例えばクラスタログです。

       

      00000000.00000000::2010/05/28-xx:xx:xx.xxx ERR [RM] Exception. Code = 0xc0000194, Address = 0x00000000

      00000000.00000000::2010/05/28-xx:xx:xx.xxx ERR [RM] Exception parameters: 0,

      00000000, 00000000, 00000000

      00000000.00000000::2010/05/28-xx:xx:xx.xxx INFO [RM] GenerateMemoryDump: Start

      memory dump to file C:\WINDOWS\Cluster\resrcmon.dmp

       

      リソース モニタが突然落ちたときのログです。

      このログの例外コードを Err.exe に入れてみましょう。

       

      C:\>err c0000194

      # for hex 0xc0000194 / decimal -1073741420

        STATUS_POSSIBLE_DEADLOCK                                       ntstatus.h

      # {EXCEPTION}

      # Possible deadlock condition.

       

       

       

      上の出力結果から、デッドロックのような状態で落ちたことが分かります。

       

      このように、色々なログの値を Err.exe に入れてみることで、ログの内容をより深く理解することが出来ます。

      ぜひログを確認するときには、Err.exe を活用してみてください。

      また、Err.exe は 0x ではじまる 16 進数のエラーコード以外にも、-2147024875 などの 10 進数のエラーコードにも対応しています。

      10 進の数のときでも、怪しいと感じたらぜひ Err.exe に入れてみてください。

       

    3. Offline P2V で上手く動作しない場合の回避策について

      こんにちは。Windows テクノロジー サポートの田辺です。

       

      続いて SCVMM (System Center Virtual Machine Manager) でお問い合わせをいただく Offline P2V についてのご紹介です。

       

      Windows 2000 システムを SCVMM を使用して P2V 変換する場合、Online での P2V をサポートしておりませんので、Offline での P2V が行われます。

      また、Windows Server 2003 及び Windows Server 2008 / R2 DC 等でも Offline P2V を推奨しているため、Offline P2V を実施する必要があります。

       

      Offline での P2V の場合には、データを転送する際に Windows PE イメージで起動させるため、当該システムに搭載されているハードウェアのドライバを Windows PE イメージが保持していない場合には、ネットワーク アダプタの動作や RAID コントローラが正常に動作せず、正常に起動しない場合や転送速度が著しく低下するといった問題が発生する場合があります。

       

      一般的にはドライバが対応していない場合がほとんどですが、ここでドライバと言っても移行元のソースサーバーでは正常に動作しているのに、何故 P2V になると遅くなってしまうのか?と疑問に思われる方も少なくないと思います。

       

      実は Offline P2V の場合には、移行元サーバーにインストールされているドライバではなく、P2V 実施時にロードされる Windows PE にドライバを組み込む必要があるのです。

      P2V の際に使用される WIM ファイルに対して、事前にドライバをインストールしておくことで、Offline P2V で上手く動作しない現象が回避可能な場合がありますので、Offline P2V で正常に起動しない場合や転送速度が上がらない等でお悩みの方がいらっしゃいましたら、以下の手順にて事前にドライバを追加して動作を確認してみてください。

       

      尚、Offline P2V 時にロードされる Windows PE 2.0 のイメージにつきましては、Windows Vista のカーネルがベースとなっておりますため、ドライバは Vista に対応している必要があります。

       

       

      - Windows PE イメージにドライバを追加する方法

       

      今回 Boot Image に組み込みを行うため、Windows AIK を使用します。

      Windows AIK についは、SCVMM インストール時に自動的にインストールされるため、[すべてのプログラム] にて追加されている事をご確認ください。

       

      Windows PE にドライバを追加する方法といたしまして、次の 2 通りございます。

       

      a. Windows PE 起動イメージにドライバを組み込む方法

      b. Windows PE 起動後にドライバをロードする方法

       

      方法 a. は、Windows PE 起動イメージ (RAM ドライブとして展開される X: ドライブ) にあらかじめドライバを組み込んでおく方法です。

      これにより、既に組み込んであるドライバを使用するデバイスが認識された場合、ドライバのロードは自動的に行われ、Windows PE 起動後の特別な操作は必要ありません。

       

      ただし、この方法は Windows PE 起動イメージ (boot.wim) の変更を伴う方法であるため、以下の点に注意する必要があります。

       

      ・ ドライバを追加する事によって起動イメージのサイズが大きくなるため、起動時に必要な RAM が大きくなり、起動にかかる時間が長くなる。

       

      今回は SCVMM のジョブとして対象サーバーへの展開となりますため、b. の方法ではなく a. の方法についてご紹介させていただきます。

      尚、以下手順を実行いただく前に事前に変更対象のファイルとなります boot.wim ファイルのバックアップを取得するようお願いいたします。

       

       

      以下に具体的な手順をご紹介いたします。

       

      Windows PE 起動イメージにドライバを組み込む方法

      ===================================================

      1. プログラム メニューより、[Microsoft Windows AIK]-[Windows PE コマンド プロンプト] を管理者権限で起動します。

       

      2. 以下 フォルダに保存されている Windows PE のファイルをコピーします (既にコピー済みのものがあればこの手順は省略できます)

       

      boot.wim は以下フォルダ配下にあります。

      >> C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\VMMData

       

      3. コピー先のルート ディレクトリに移動します。

       

      > cd <コピー先ディレクトリ>

       

      4. Windows PE WIM イメージをマウントします。

        以下のコマンドを実行することにより、<コピー先ディレクトリ>\mount 経由で boot.wim の中身へアクセスすることができます。

       

      > imagex /mountrw boot.wim 1 mount

       

      5. Windows PE 起動イメージにドライバを追加します。

       

      > peimg /inf=<path.inf> <コピー先ディレクトリ>\mount\Windows

       

      ここで、<path.inf> はインストールするドライバに対応する INF ファイルへの場所です。

      複数のドライバを組み込む場合は、この手順をそれぞれの INF ファイルに対して繰り返します。

      尚、Vista Base Windows PE となりますため、Vista 対応のドライバを組み込んでいただく必要があります。

       

      6. WIM への変更を適用 (コミット) します。

       

      > imagex /unmount /commit mount

       

      // 参考情報

      チュートリアル : カスタム Windows PE イメージを作成する

      http://technet.microsoft.com/ja-jp/library/cc709665.aspx

       

      また、以下の技術情報のパッチまたはドライバに関する問題 (P2V)”  の項目で紹介されておりますように、Driver Import / Patch Import ディレクトリにドライバやパッチを配置する方法がございます。

       

      バーチャル マシン変換に関する問題のトラブルシューティング

      http://technet.microsoft.com/ja-jp/library/cc764326.aspx

       

      Windows 2000 P2V する場合には、Vista 用のドライバが用意出来ない場合が多々あります。

      その場合には Windows Server 2003 用のドライバでも回避できる場合がありますので、もし Vista 用のドライバが入手できないような場合には、組み込んでみるのも良いかも知れません。

      ただ、Windows Vista に対応しているハードウェアをご用意いただく事をお奨めいたします。

    4. ロールアップ パッケージ適用後の警告について

      こんにちは。Windows テクノロジー サポートの田辺です。

       

      SCVMM (System Center Virtual Machine Manager) についてのご紹介です。

       

      先日ご紹介いたしました、、SCVMM 2008 R2 の修正プログラム ロールアップ パッケージ(2010 2 ) 適用後の問題についてご紹介させていただきます。

       

      Description of the System Center Virtual Machine Manager 2008 R2 hotfix rollup package: February 9, 2010

      http://support.microsoft.com/kb/978560/en-us

       

      VMM R2 に前回ご紹介した修正プログラム ロールアップパッケージをインストールすると、「警告:状態アップデート可能」と表示される場合がございます。

      これは、仮想化サーバーやSQLデータベース サーバー等にインストールされているエージェントとのバージョンの不整合が発生するためです。

      その場合にはVMM サーバー上で以下の手順を実行します。

       

      1. Virtual Machine Manager 管理コンソールを開きます

      2. "管理" をクリックし、"管理されたコンピュータ" をクリック

      3. 対象のホストを選択して、アクション ペインで "エージェントの更新" をクリック

      4. 認証情報を入力して OK をクリック

       

      以上で更新を行えますので、バージョンが最新の状態となります。

       

      尚、ロールアップ パッケージにつきましては、最新のものが近日公開予定です。

      同様の問題が発生した場合には、上記回避策をお試しください。

       

      // 参考情報

       

      「管理されたコンピュータ上のエージェントの管理」

      http://technet.microsoft.com/ja-jp/library/cc974226.aspx

       

      「管理されたコンピュータ上のVMMエージェントを更新する方法」

      http://technet.microsoft.com/ja-jp/library/cc917969.aspx

       

      ロールアップ パッケージや、修正プログラム等の情報がありましたら、随時ご紹介させていただきたいと思います。

      よろしくお願いいたします。

    5. Sysprep 中に任意のコマンドを実行する方法について

      こんにちは。Windows テクノロジー サポートの安達です。

      Sysprep 実施中に任意のコマンドを実行する方法について
      ご紹介したいと思います。

      なお、本日ご紹介させていただきますコマンドの実行方法については
      Windows Vista 以降の OS に付属の Sysprep を対象とした内容となります。

      Sysprep はシステム準備ツールと呼ばれ、主にマスタ用に構築した環境を
      複数の端末に展開する場合に SID 等のシステム固有のデータを初期化するために
      使用されるツールです。

      Sysprep は様々な設定を初期化し、クリーンアップ処理を行います。

      それらの設定は Sysprep 実行時に指定可能な応答ファイルを用いる事で
      設定可能な項目もありますが、応答ファイルで用意されていない設定や
      個別のカスタマイズを行いたい場合は、Sysprep 中に特定のタイミングで
      コマンドを実行し、設定する方法があります。

      Sysprep 中に任意のコマンドを実行する一般的な方法としては、
      以下の 3 つがあります。

      1. SetupComplete.cmd を利用する方法
      2. 応答ファイルの <RunSynchronousCommand> を利用する方法
      3. 応答ファイルの <FirstLogonCommands> を利用する方法

      上記 3 つの方法は実行されるタイミングや設定方法がそれぞれ異なりますので、
      個別にご紹介していきます。


      1. SetupComplete.cmd を利用する方法

      SetupComplete.cmd を利用する事で Sysprep 完了後、ログオン直前のタイミングで
      任意のコマンドを実行させる事が可能です。
      なお、SetupComplete.cmd は SYSTEM 権限で実行されます。
      - メリット
      • 応答ファイルを別途用意する必要がなく手軽に利用する事が可能。
      • セットアップが完了しているため、システムが通常の状態にあり、
        ユーザーがログオンする前に処理を行う事ができる。
      - デメリット
      • HKCU 配下のレジストリ変更等は行えない。
      - 設定手順
      1. メモ帳を開き、任意のコマンド内容を記述します。
      2. "SetupComplete.cmd" のファイル名で任意の場所に保存します。
      3. 保存した "SetupComplete.cmd" ファイルを以下のフォルダ内に保存します。
      %WinDir%\Setup\Scripts

      Scripts フォルダは既定で存在しませんので新規に作成します。
      メモ帳から直接保存する事は出来ませんので、
      一旦任意の場所に作成してから保存してください。

      - 実行タイミング

      以下 "Windows のセットアップ" の最終処理中に実行されます。

      SetupComplete

      2. 応答ファイルの <RunSynchronousCommand> を利用する方法

      Sysprep 実行時に指定可能な応答ファイルに <RunSynchronousCommand> を
      設定する事により任意のコマンドを実行させる事が可能です。

      今回は、Sysprep の Specialize と呼ばれる構成パス中に
      コマンドを実行する方法について紹介します。

      - メリット
      • SYSTEM 権限で実行される (Credentials 未構成の場合) ため、様々な設定変更が可能。
      - デメリット
      • 応答ファイルに設定を記載する必要がある。
      • 設定内容によっては oobeSystem 構成パスで再度初期化される。
      - 設定手順
      1. Windows AIK がインストールされている端末で
        "Windows システム イメージ マネージャ" を起動します。
        Windows AIK のインストール方法については以下のサイトをご参照ください。
        1.1. Windows 自動インストール キット (Windows AIK) のインストール
        http://technet.microsoft.com/ja-jp/windows/ee676464.aspx#01
      2. "挿入" メニューから "同期コマンド" を選択し、
        "パス 4 specialize(4)…" を選択します。
        "Windows イメージ" および "応答ファイル" は既に登録されていると仮定します。
        それぞれの登録方法については以下のサイトをご参照ください。
        1.3. プロファイル コピー用応答ファイルの作成
        http://technet.microsoft.com/ja-jp/windows/ee676464.aspx#03
        sim specialize command
      3. 任意のコマンドまたは bat ファイル等をフルパスで記載します。
        sim add command
      4. 以下のように設定されます。
        sim specialize config
      5. 必要に応じて "Credentials" 内にコマンドの実行アカウントを指定します。
        "Credentials" 項目を設定しない場合には SYSTEM 権限で実行されます。
        複数のコマンドを指定する事も可能です。
        その場合は、上記 2 - 5 の手順を繰り返し行います。
        sim specialize credentials
      6. 応答ファイルを保存し、作成した応答ファイルを使用して Sysprep を実行します。
        応答ファイルを使用した Sysprep の実行方法については
        以下のサイトをご参照ください。
      - 実行タイミング

      以下 Sysprep の Specialize 構成パスにおける "システム設定の適用中" に実行されます。

      RunSynchronousCommand

      3. 応答ファイルの <FirstLogonCommands> を利用する方法

      Sysprep 実行時に指定可能な応答ファイルに <FirstLogonCommands> を設定する事により
      任意のコマンドを実行させる事が可能です。

      <FirstLogonCommands> を利用する事により、Sysprep 完了後の初回ログオン時に
      1 度だけ任意のコマンドを実行させる事が可能です。

      なお、ここでご紹介させていただく方法でのコマンド実行は
      ログオンしたアカウントの権限で実行されます。
      管理者権限を持つアカウントでログオンした場合は、昇格された権限にて実行されます。

      - メリット
      • HKCU 配下のレジストリの設定変更等が可能。
      - デメリット
      • 応答ファイルに設定を記載する必要がある。
      • SYSTEM 権限が必要な設定変更等は行えない。
      - 設定手順
      1. Windows AIK がインストールされている端末で
        "Windows システム イメージ マネージャ" を起動します。
      2. "挿入" メニューから "同期コマンド" を選択し、
        "パス 7 oobeSystem(7)…" を選択します。
        "Windows イメージ" および "応答ファイル" は既に登録されていると仮定します。
        sim oobe command
      3. 任意のコマンドまたは bat ファイル等をフルパスで記載します。
        sim add command
      4. 以下のように設定されます。
        複数のコマンドを指定する事も可能です。
        その場合は、上記 2 - 4 の手順を繰り返し行います。
        sim oobe config
      5. 応答ファイルを保存し、作成した応答ファイルを使用して Sysprep を実行します。
      - 実行タイミング

      以下 Sysprep 後の初回ログオン時に実行されます。

      FirstLogonCommands

      参考情報
    6. System Center Data Protection Manager 2010 リリースについて

      こんにちは。Windows テクノロジー サポートの服部です。

      System Center Data Protection Manager (DPM) の最新バージョン "System Center Data Protection Manager 2010" の製品提供を 2010 6 1 日より開始しますのでお知らせいたします。

      製品の概要は以下のリンクをご参照いただければと思いますが、いくつかの新しい機能が追加されておりますので本ブログでもご紹介したいと思います。

       

      Data Protection Manager 2010 概要

      http://www.microsoft.com/japan/systemcenter/dpm/products/2010-overview.mspx

       

      主な新機能はこちらです。

       

      1.Exchange Server

      Exchange Server 2010 バージョンまでサポート

       

      2.SQL Server

      SQL Server 2008 R2 バージョンまでサポート

      ・新規追加された SQL データベースの自動保護

      1 台の DPM サーバーで 2000 のデータベース保護

       

      3.Sharepoint Server

      Sharepoint Server 2010 バージョンまでサポート

      Sharepoint Server 2010 へのアイテム単位の回復の場合は回復用ファーム不要

       

      4.Hyper-V

      CSV を使った Hyper-V 構成のサポート

      VHD ファイルからのアイテム単位のリストア

      ・他のホストへの復元

       

      5.クライアント保護の強化

      Windows XP, Windows Vista , Windows 7 の保護

      VPN 越しのバックアップ

       

      その他 Disaster Recovery (DR) 機能の強化など。

       

      なお、DPM Server の要件としまして、64 bit 環境の以下 OS である必要がございます。

      Windows Server 2008 R2, Standard または Enterprise Edition

      Windows Server 2008, Standard または Enterprise Edition

       

      DPM 2007 環境からのアップグレードについては、以下の技術情報がございます。

      DPM 2007 SP1 64 bit Windows Server 2008 または Windows  Server 2008 R2 上で稼動している環境の場合は DPM 2010 へのアップグレードが可能です。現在の環境が、 Windows Server 2003 64 bit 環境の場合は、先に OS Windows Server 2008 へアップグレードする必要がございます。その後、 DPM 2007 DPM 2010 へ アップグレードすることが可能です。

       

      Upgrading to DPM 2010 from DPM 2007

      http://technet.microsoft.com/en-us/library/ff399258.aspx

       

      また、その他の DPM 2010 のシステム要件は以下のリンクからご確認くださいますようお願いいたします。

      http://technet.microsoft.com/en-us/library/ff399554.aspx

       

      評価版のダウンロードサイトは以下です。

      Download Microsoft System Center Data Protection Manager 2010 today

      http://technet.microsoft.com/ja-jp/evalcenter/bb727240.aspx

       

       

      関連リンク:

      System Center Data Protection Manager 2010

      http://technet.microsoft.com/en-us/library/ff399192.aspx

       

      Whats New in DPM 2010

      http://technet.microsoft.com/en-us/library/ff399383.aspx

       

      The Data Protection Manager Blog!

      http://blogs.technet.com/b/dpm/

    7. SCVMM 境界ネットワーク ホストの追加とシングル サインオン接続について

      こんにちは。Windows テクノロジー サポートの安達です。

      System Center Virtual Machine Manager (SCVMM) 2008 での
      境界ネットワーク上にある Hyper-V ホストの追加手順および
      追加した Hyper-V ホスト上にあるゲスト OS にシングル サインオンを行う方法について
      紹介したいと思います。

      SCVMM 2008 では、以下の 3 種類の Hyper-V ホストの管理が可能となっております。

      1. Active Directory ドメイン サービス (AD DS) のドメインにある
        Windows Server ベースのホスト
      2. 境界ネットワークにある Windows Server ベースのホスト
      3. 運用環境内にある VMware ESX Server ホスト

      今回は、上記 2. の境界ネットワーク上にある Hyper-V ホストを
      SCVMM 上に登録する方法についてご紹介します。

      今回ご紹介する境界ネットワークのホストの追加を利用すると
      SCVMM サーバとは異なるセグメントかつワークグループ環境の
      Hyper-V ホストについても SCVMM から管理する事が可能となります。

      ただし、その場合は SCVMM の管理コンソールから対象 Hyper-V ホスト上にある
      ゲスト OS に接続した場合に資格情報を求められます。

      そのため、今回は境界ネットワーク上にあるホストの追加方法と合わせて
      上記 SCVMM 管理コンソールからの接続時に資格情報の入力が不要な
      シングル サインオンでゲスト OS に接続する方法についても合わせてご紹介します。

      SCVMM での境界ネットワーク上にあるホストの追加を行う場合、
      おおまかな流れとして以下のようになります。

      1. 管理対象の Hyper-V ホストに SCVMM エージェントをインストール
      2. SCVMM エージェント インストール時に作成されるセキュリティ ファイルを
        SCVMM サーバに保存
      3. SCVMM サーバでセキュリティ ファイルを使用して
        対象の Hyper-V ホストを管理対象として追加

      以下に管理対象の Hyper-V ホストおよび SCVMM サーバ側での
      実際の設定手順をご紹介いたしますのでご確認ください。

      なお、今回ご紹介させていただきます手順内の環境は以下の構成となります。

      SCVMM SSO (Single Sign-On) 検証環境の構成図

      Perimeter Network Configuration

      SCVMM を使用して境界ネットワーク上にあるホストを追加する方法については、
      以下の xps ファイルにまとめさせていただきましたのでご参照ください。

      境界ネットワークにあるホストの追加手順
      SCVMM Perimeter Network

      以下では、SCVMM 管理コンソールからの接続時にシングル サインオンで
      Hyper-V ホスト上のゲスト OS に接続するための設定手順を紹介します。

      なお、以下で紹介させていただいております方法につきましては、
      SCVMM からの接続時のみではなく、その他のアプリケーションからの接続時においても
      シングル サインオンでの接続が可能となる場合がありますのでご注意ください。

      シングル サインオンのための設定

      1. 管理対象の Hyper-V ホスト側で SCVMM サーバから接続するための
        管理者アカウントを作成します。

        管理対象の Hyper-V ホスト上で、権限昇格済みのコマンド プロンプトを開きます。
        ここでは、"net user" および "net localgroup" コマンドを使用し、
        以下のアカウントを新規に作成しています。

        接続対象の Hyper-V ホストにある既存のアカウントを使用してもかまいません。
        アカウント名 scvmmadmin
        パスワード password
        所属グループ administrators
        Single Sign-On Step 1

        以降は SCVMM サーバ側での作業となります。

      2. SCVMM を起動しているサーバー上で、コントロール パネルから
        "ユーザー アカウント" を開きます。
        Single Sign-On Step 2
      3. 画面左の " ネットワーク パスワードの管理 " を選択します。
        Single Sign-On Step 3
      4. " 追加 " を選択します。
        Single Sign-On Step 4
      5. 各項目をそれぞれ設定し、OK を選択します。
        Single Sign-On Step 5
        ログオン先
        Hyper-V ホストのホスト名または IP アドレスを指定します。
        SCVMM に IP アドレスで登録しているため、
        ここでは IP アドレスで指定します。
        ユーザー名
        Hyper-V ホストに接続するためのアカウントを指定します。
        ここでは、新たに作成した scvmmadmin を指定します。
        パスワード
        上記ユーザー名のパスワードを指定します。
        ここでは、password を指定します。
        資格情報の種類
        Hyper-V ホストへの接続方法を指定します。
        ここでは、"Web サイトまたはプログラムの資格情報" にチェックを入れます。
      6. 資格情報が登録された事を確認し、" 閉じる " を選択します。
        Single Sign-On Step 6
      7. 再度 SCVMM 管理コンソールから対象 Hyper-V ホスト上のゲスト OS に接続し、
        シングル サインオン (資格情報を求められない)で接続できる事を確認します。
        Single Sign-On Step 7 

        参考情報

        ホストの追加
        http://technet.microsoft.com/ja-jp/library/cc917879.aspx

        境界ネットワークにホストを追加する方法
        http://technet.microsoft.com/ja-jp/library/cc917968.aspx