November, 2009 - フィールドSEあがりの安納です - Site Home - TechNet Blogs

フィールドSEあがりの安納です

Microsoft Evangelist -- Junichi Anno

November, 2009

  • 開発者のための Active Directory 講座

    2009年11月21日(土)は、MVP 瀬尾(せお)さんのコミュニティである、

    技術ひろば.net
    http://hiroba-tech.net/tabid/106/Default.aspx

    にて、「PowerShell で操作するActive Dirctory」のセッションを持たせていただきました。

    Active Directory を意識してくださる開発者が少ないという現状を、なんとか変えたいという想いで登壇させていただいたものです。

    私の前を担当された武田さんが「CLR Profilerの使い方」という、私にとっては???な内容でしたが、参加された方々からの矢継ぎ早の質問を見るにつけ、恐ろしいほどのアウェイ感に襲われながらの登壇でした。

    当日使用した資料は以下に掲載しておりますので、よろしければご覧ください。

    PowerShell の基本的な使い方から、Active Directory の触り方についてサンプルを交えて触れているので、スクリプトに興味のあるインフラ担当SEさんにも役に立てると思います。

    ※以下は SlideShare へのリンクです。

  • 【IDM】最近ログオンしていないユーザーを検索する とっても簡単な方法

    いまさらながら、ADでは「ログオン可能なワークステーション(userWorkstation属性)」の設定が最大1024文字だと気づき、自分の無知に愕然としています。だって…NTのころは4台固定だったんだもの…。

    http://support.microsoft.com/kb/938458

    さて、話は変わりますが、VBScript を使用して Active Directory 内のユーザーを検索しようと思った時、面倒だなと感じるのが、以下のような条件です。

    • 既に無効化されたアカウント
    • 既に有効期限の切れたアカウント
    • ロックされたアカウント
    • パスワードの有効期限が切れているアカウント
    • パスワードが無期限に設定されているアカウント
    • 指定した日付までに有効期限が切れるアカウント
    • 最近ログオンしていないアカウント

    上の条件を見て、頭の中に使用する属性名が思い浮かんだ方は、完全にADマニアです。もちろんほめ言葉です。

    Windows PowerShell のActive Directory Module には、上記のような特定条件検索専用のコマンドレットが用意されています。その名も、Search-ADAccount です。

    上記の条件と、Search-ADAccount のパラメタとの対応を以下に示します。-UsersOnly パラメタを使用すると、ユーザーアカウントのみに限定して結果を表示してくれます。

    既に無効化されたアカウント Search-ADAccount –AccountDisabled -UsersOnly
    既に有効期限の切れたアカウント Search-ADAccount –AccountExpired -UsersOnly
    ロックされたアカウント Search-ADAccount –LockedOut -UsersOnly
    パスワードの有効期限が切れているアカウント Search-ADAccount –PasswordExpired -UsersOnly
    パスワードが無期限に設定されているアカウント Search-ADAccount –PasswordNeverExpires -UsersOnly
    指定した日付で有効期限が切れるアカウント Search-ADAccount –AccountExpiring –Datetime “DD/MM/YYYY” -UsersOnly
    指定した日数以内に有効期限が切れるアカウント Search-ADAccount –AccountExpiring –Timespan <日数> -UsersOnly
    指定した日数以上ログオンしていないアカウント Search-ADAccount –AccountInactive –Timespan <日数> -UsersOnly
    ※2003ドメイン機能レベル以上
    指定した日付以降一度もログオンしていないアカウント Search-ADAccount –AccountInavtive –Datetime “MM/DD/YYYY” -UsersOnly
    ※2003ドメイン機能レベル以上

    例えば、ここ1年のあいだログオンしていないユーザーを検索するには、以下のように入力します。

    PS C:\> Search-ADAccount -AccountInactive -TimeSpan 365

    ただし!注意があります。

    上記の検索結果には、1秒前に作ったユーザー(当然、一度もログオンしていない)も含まれてしまいます。よって、以下のように、Search-ADAccount の出力結果をベースに、アカウントの作成日時(WhenCreated)属性をチェックしたほうがよいです。

    以下の例では、2009年11月18日 17時以前に作成したアカウントのみを検索結果として出力しています。

    Search-ADAccount –AccountInactive –TimeSpan 365
    | Foreach-Object {(Get-ADUser $_Name –Properties WhenCreated)}
    | Where-Object {$_.WhenCreated –lt “2009/11/18 17:00:00”}

    (参考)

    TechNet  Sarch-ADAccount の解説
    http://technet.microsoft.com/ja-jp/library/ee617247(en-us).aspx

    TechNet  最近ログオンしていないユーザーを検索する
    http://technet.microsoft.com/ja-jp/library/dd391899(WS.10).aspx

  • 結局のところ XP Mode はドメインに参加させるべきなのか?

    これまでの投稿で Windows 7 の XP Mode をドメインに参加させて使用することを前提に、さまざまな手順等を紹介してきました。

    まとめサイト 「Windows 7 + VHD Boot + XP Mode に関する投稿」
    http://blogs.technet.com/junichia/pages/3294054.aspx

    ここまでの投稿をご覧いただいた方はおそらく私と同じお気持ちだと思います。XP Mode をドメインに参加させるのは、運用を含めて考えると、事実上難しいのではないかと考えています。

    もちろん、エンドユーザーを信頼し、不測の事態(例えばXP Modeの各種設定を間違えて変更してしまった等)にも寛容にそして迅速に対応できるのであれば別です。

    どうしても 「ドメインに参加した XP Mode を使わなければならない」シチュエーションは以下の通りかなと思います。

    [アプリケーションがWindows XPでしか動作しない]

    AND

    [クライアントがActive Directoryドメインに参加していないと、アプリが正常に動作しない]

    前者の問題を抱えている場合には、まずは、アプリケーション互換モードを検討してみてください。

    image 英語版の画面ですみません

    どうしても、互換モードでは無理な場合に、XP Mode に「逃げ」てください。いや、いろいろと事情があるとは思うのですが…(検証時間が取れないとか…)。

    一方、後者の問題は、深刻かもしれません。

    例えば、以下のように問題が考えられます。

    • ドメインに参加していないとインストーラーが動かない
    • クライアントアプリにログオンするときに、Windowsログオンの資格情報を引き継いでシングルサインオンしようとする
    • 同様に、サーバー側アプリと通信するときにActive Directory の資格情報を使用し、ロール管理をしている
    • クリアントアプリがUNC名を使用して、Active Directoryドメインに参加しているファイルサーバーに接続している

    などなど…。ADベッタリに開発されているアプリケーションの中には、XP Modeをドメインに参加させないと厳しいものがあるかもしれません。

    特に、Windows XP にログオンしている資格情報を再利用するように設計されていると、ドメインユーザーの資格情報を入力するためのダイアログが頻繁に表示されてしまう可能性があります。これでは運用にならないですね…。

    ちなみに、UNC名でなく、ネットワークドライブでファイルサーバー等に接続するタイプのアプリケーションであれば、Virtual PC のリダイレクト機能により、Windows 7 にログオンしているユーザーの資格情報でネットワークドライブに接続できます。

    image

    ここで明確な結論が出せず恐縮なのですが、まずは「本当にXP Modeが必要かどうか」を考慮していただき、どうしても XP Mode で「逃げたい」場合には、一連の投稿を参考にしてみてください。

  • Windows 7 + XP Mode に関する投稿

  • ブート構成データ(BCD)ストアを理解すれば VHDブート は簡単
  • Hyper-V から VHD Boot への移行
  • VHD Boot した Windows7 で XP Mode が使えるか
  • XP Mode と Active Directory ドメインの関係 その1 ー 仮想XPのユーザープロファイル
  • XP Mode と Active Directory ドメインの関係 その2 - ドメインへの参加方法と差分ディスクの結合
  • XP Mode と Active Directory ドメインの関係 その3 - 差分ディスクをファイルサーバーに置いてみた
  • XP Mode と Active Directory ドメインの関係 その4 - Win7とXPの移動ユーザープロファイル
  • XP Mode と Active Directory ドメインの関係 その5 - 複数のドメインユーザーでXP Modeを共有する手順
  •  

  • XP Mode と Active Directory ドメインの関係 その5 - 複数のドメインユーザーでXP Modeを共有する手順

    2010年01月19日 追記
    XP Mode は、デスクトップをデスクトップを個人で管理するような小規模な環境で利用することを目的に提供されています。この為、XP Mode はOSイメージを複製したり、共有する利用方法はライセンス上許諾されておりません。複製された XP Mode を共有する場合には、「仮想OSインスタンスの実行権」が含まれている「Windows ソフトウェア アシュアランスの特典」をご検討ください。なお、XP Mode で許諾される内容の詳細については、XP Mode の EULA を参照してください。

    詳しくは 「製品使用権説明書」の p.123 「Windows 7 仮想化の権利 - a)ソフトウェアインスタンスの実行」をご覧ください

    複数のドメインユーザーでWindows 7のXP Modeを共有することができるか?というテーマで進めてきましたが、なんとか解決に近づくことができそうです。これまでの投稿は以下の通りですが、「複数のドメインユーザーでXP Modeを共有する手順」が目的なのであれば、この記事だけ読んでください。必要に応じて参照先を示します。

  • XP Mode と Active Directory ドメインの関係 その1 ー 仮想XPのユーザープロファイル
  • XP Mode と Active Directory ドメインの関係 その2 - ドメインへの参加方法と差分ディスクの結合
  • XP Mode と Active Directory ドメインの関係 その3 - 差分ディスクをファイルサーバーに置いてみた
  • XP Mode と Active Directory ドメインの関係 その4 - Win7とXPの移動ユーザープロファイル
  • 本記事の執筆に当たり、Virtualization MVP の山内さんからアドバイスをいただきました。山内さん、ありがとうございました!ちなみに、山内さんは「Windows Server 2008 R2 テクノロジ入門」の著者です。他にも、IT技術全般にわたって広く執筆活動をされている方です。

    簡単に書くと、デフォルトプロファイルなんぞに環境を埋め込んだり、差分ディスクを使ったりせず、「XP Modeのイメージ」と「XP Modeの環境ファイル」自体を共有すればうまくいきます。

    以下に設定手順を示します。

    1.XP Mode と Virtual PC 2007 をインストール

    2.Windows 7 に管理者ユーザーでログオン

    今回の目的は、ドメインに参加している複数のユーザーで1台のWindows 7とXP Modeを共有することなので、ホストであるWindows 7 はドメインに参加しているものとします。

    3.Windows XP Base.vhd を別のフォルダにコピーする

    デフォルトの親ディスクである C:\Program Files\Windows XP Mode\Windows XP Base.vhd を直接いじるのではなく、vhdファイルを別のフォルダにコピーしてください。ここでは、以下のように C:\XPMODE というフォルダを新たに作成し、コピーしたと仮定します。

    C:\XPMODE\Winodws XP Base.vhd 

    くれぐれも C:\Program Files\Windows XP Mode 内に別の名前でコピーする..といった方法は選択しないでください。なぜならば、Windows XP Base.vhd ファイルには XP Mode を使用する一般ユーザーにも書き込み権限が必要になるからです。ご存じのとおり C:\Program Files\Windows XP Mode には一般ユーザーに対する書き込み権限はありませんし、アクセス権を与えてしまうことは他のアプリケーションにも影響を与えることになります。

    4.C:\XPMODE フォルダ と Windows XP Base.vhd ファイルのアクセス権を変更する

    既定では、Windows XP Base.vhdファイルは以下のアクセス権が設定されています。

    • Everyone:[読み取りと実行][読み取り]
    • SYSTEM:フルコントロール
    • Administrators:[読み取りと実行][読み取り]

    このままではVHDファイルに書き込むことができません。

    よって、C:\XPMode および Windows XP Base.vhd ファイル には以下のアクセス権が必要です。以下では、Everyone の代わりに Authenticated Users にアクセス権を与えています。

    • Authenticated Users:[読み取りと実行][読み取り][変更][書き込み]
      ※[削除]権限は外しておくことをお勧めします
    • SYSTEM:フルコントロール
    • Administrators:フルコントロール

    Windows XP Base.vhd  には、事前に Administratorsに所有者権限を与えておかないとアクセス権を変更することはできないので注意してください。

     image image

    5.Windows XP Base.vhdファイルの[読み取り専用]属性を解除する

    Windows XP Base.vhdファイルは既定で[読み取り専用]属性が設定されています。これでは編集することができないので、[読み取り専用]属性を解除しておいてください。

    image

    6.XP Mode の初期設定

    既定で用意されている [スタート]-[Windows Virtual PC]-[Windows XP Mode] は、以下のコマンドへのショートカットです。これを実行するとWindows XP Modeの初期設定が自動的に行われますが、ひとまずこれは使用しません。

    %SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\VMCPropertyHandler.dll,LaunchDefaultVM

    そのかわり、以下の手順でWindows XP Modeの初期設定を行います。

    ① [スタート] - [Windows Virtual PC] - [Windows  Virtual PC] を起動

    image

    ② [仮想マシンの作成]をクリック

    image

    ③ 仮想マシンの名前と保存場所を指定する

    仮想マシンの名前は何でもかまいません。場所には注意してください。既定ではユーザーのプロファイルパスが指定されていますが、それでは共有できなくなるので、すべてのユーザーが参照可能な場所を指定します。ここでは 親ディスクである Windows XP Base.vhd ファイルが置いてある場所(C:\XPMODE\Windows XP Mode)を指定しています。

    image

    ④  仮想イメージが使用するメモリを指定

    Windows XP Modeが使用するメモリと、ネットワーク利用の有無を指定します。この部分は後からでも変更できるのでパスしても構いません。

     image

    ⑤ 仮想ハードディスクの設定

    既定では、[容量可変の拡張仮想ハードディスクの作成]が選択されていますが、このオプションを使用すると「空のディスク」が作成されてしまいます。よって、既存の Windows XP Base.vhd を使用するために、[既存の仮想ハードディスクを使用する]を選択し、「C:\XPMode\Windows XP Base.vhd] を選択します。

    その後、[作成]ボタンをクリックすれば仮想ディスクの作成は完了です。

    image

    ⑥  Windows XP Mode の環境を確認する

    [スタート] - [Windows Virtual PC]を開き、いま作成した [Windows XP Mode(Customized).vmcx]の[設定]を開きます。

    image 

    注意して確認していただきたいのは、以下の2点です。

    • ディスクが Windows XP Base.vhd ファイルを指しており、差分ディスクの設定がされていないこと
    • ネットワークが「共有ネットワーク(NAT)」になっていないこと

     image image

    ⑦ Windows XP Mode を起動する

    作成した Windows XP Mode(Customized).vmcx をダブルクリックしてWindows XP Modeを起動します。最初の起動はSysprepが仕掛けられた状態から始まるので、若干の手間がかかります。

    image image image image image

    手動で初期設定を行うと、以下のようにコンピュータ名を指定することができます。また、自動ログオンのIDは XPMUser ではなく、administrator が使用されます。

    image image image image image

    最終的に、administrator で自動ログオンされ、以下のデスクトップが表示されます。

    image

    ⑧ Windows Update を実行する

    Windows XP mode の既定のイメージには Service Pack 3が適用されていますが、それ以降のパッチもリリースされているので適用しておきましょう。

    image

    2009年11月11日時点でリリースされているパッチを全て適用した場合、Windows XP Base.vhd ファイルの容量は 2.2GB 程度です。

    パッチ適用後に再起動を求められると思いますが、このときバーチャルマシンの統合機能が自動的に有効になります。そのため、シングルサインオンで使用するユーザーIDとパスワードを聞かれますが、既定ではWindows 7にログオンしているユーザーID(ドメインユーザー)が表示されています。しかし、ドメインに参加していない状態でWindows XP Modeにドメインユーザーでログオンすることはできませんので、ひとまずキャンセルしてしまいましょう。

    ⑨ ドメインに参加する

    ドメインへの参加は、いつも通りに行えばOKです。

    image

    ⑩ シングルサインオン用のユーザーIDを指定する

    Windows XP Modeへのログオン時、以下のエラーが表示されるはずです。

    image 
    このシステムのローカルポリシーは、このユーザーが対話的にログオンする許可をしていません。

    これについては、以下の投稿の中で詳しく書きましたが、上記投稿からの抜粋を以下に記します。

    XP Mode と Active Directory ドメインの関係 その2 - ドメインへの参加方法と差分ディスクの結合
    http://blogs.technet.com/junichia/archive/2009/11/06/3291888.aspx


    XP Modeにログオンするには、「ローカルログオン」権限を持っているだけではだめです。「ターミナルサービスを通したログオン」権限が必要です。権限が無い場合、監査ログには以下のイベントが残されます。「ログオンの種類:10」とは「ターミナルサービスへのログオン」のことです。

    image

    以下の画面ショットは、XP Mode の ローカルグループポリシー(デフォルトの状態)です。デフォルトでは、Domain Users が、「ターミナルサービスを通したログオン」権限を持っていないことがわかります。

    image

    よって、以下のいずれかの方法で「ターミナルサービスを通したログオン」権限を与える必要があります。

    • XP Modeの「Remote Desktop Users」グループに、Domain Users を含める
    • ローカルグループポリシーで、Domain UsersまたはUsers に対するターミナルサービスを通したログオン権限を与える
    • ドメインのポリシーで、Domain Users に対するターミナルサービスを通したログオン権限を与える

    ここでは「Domain Users」と書いてますが、もちろん別のグループでも構いません。要は、XP Modeにログオンさせたいドメインユーザーに対して「ターミナルサービスを通したログオン」権限を与えればよいのです。


    リモートデスクトップを通した権限を与えた後、XP Modeを再起動すれば、Windows 7にログオンしているユーザーで自動的にログオンできるはずです。もちろん、手動でもログオンできます。

    8.メニューの編集

    いま作成したXP Modeの設定ファイルを全てのユーザーが使用できるようしておく必要があります。同時に、既定の 「Windows XP Mode」というメニューは削除しておかなければなりません。

    ① エクスプローラーで以下のパスを開く

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Virtual PC

    ② 既存の 「Winodws XP Mode」を削除

    6.の冒頭でも書いたように、既存の「Windows XP Mode」では、以下のコマンドが実行されますが、初期設定はすでに完了しているので、この操作は他のユーザーに行わせないようにします。

    %SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\VMCPropertyHandler.dll,LaunchDefaultVM

    image

    ③ C:\XPMODE\Winodws XP Mode(Customized).vmc のショートカットを①のパスに保存

    XP Modeの動作環境は、拡張子 VMC という環境ファイルに保存されます。この環境ファイルへのショートカットを作成してメニューとして保存しておきましょう。

    くれぐれも、VMCXファイルではなく、VMCファイルですのでご注意ください。

    ④VMCXファイルを移動する

    6.の①で書いたように、はじめて[スタート]-[Windows Virtual PC]-[Winodws Virtual PC] を開くと中身は空っぽです。ここに、はじめて起動したユーザーにも Windows XP Mode(Customized).vmcx が表示されるようにするには、デフォルトユーザーのプロファイル(C:\ユーザー\Default\仮想マシン)に、C:\ユーザー\<XP Modeを初期設定しているユーザー>\仮想マシン フォルダをコピーします。

    9.VMCファイルのアクセス権を変更

    4.と同様、VMCファイルにも、Authenticated Users に対して「書き込み」「変更」権限を与えてください([削除]権限ははずしておくことをお勧めします)。

    以上で、ひとまず設定は完了です。これで、1台のWindows 7にログオンする複数のユーザーでWindows XP Mode を共有できます。

    Windows 7にログオンしてから、はじめて XP Mode を起動した際に、ドメインにログオンするためのパスワードを聞かれますが、一度保存してしまえば次回からは自動的にログオンできます。

    が…例によって残された課題があります。それを以下に挙げておきます。

    • ユーザーごとにシャットダウンする必要がある

      既定では、ユーザーがXP Modeを閉じる際には 「休止モード」になります。が、休止モードではユーザーがログオンしたままになるため、次に別のユーザーでログオンすることができません。よって、[設定] 画面の [閉じる]で、閉じるときの動作を[シャットダウン]または[オフ]にしておく必要があります。

    image 

    問題は、XP Modeのアプリを起動する際に XP Modeの「起動」が入ることです。若干時間がかかるので、ちょっと運用としては厳しいのかなと…。うーむ..。

    また、この設定、ユーザーが変えられるんですよね…何か良い手がないですかね…情報募集中です..。

    • 大量の Winodws 7 PCの展開

      今回の手順は 1台のWindows 7にしか使えません。なぜならば、このままWindows 7を展開してしまうと、XP Mode のSIDやコンピュータ名が同じになってしまうからです。大量のPCにWinodws 7 +XP Mode を展開するには、XP Modeには sysprep または netdom コマンドを仕掛けておく必要があります。
      今回はその検証は行っておりません…。

      どなたか..検証された方はご連絡ください
  • XP Mode と Active Directory ドメインの関係 その4 - Win7とXPの移動ユーザープロファイル

    前回の投稿で、XP Mode を使用したときのユーザープロファイルについて書きかけました…。

    実は、いま、自分の不勉強に愕然としています。現場を離れて3年…おそらく多くの方がご存じのことを、自分は把握していませんでした..超恥ずかしい…orz

    …というのは、Windows Vista で変更された移動プロファイルフォルダの命名仕様についてです。

    もしかしたらお仲間がいらっしゃるかもしれないと思うので、念のために書いておきます。

    Windows VistaとWindows 7では、移動ユーザープロファイルを使用するように設定すると、以下のように 拡張子 .V2 が付加されたフォルダが作成され、Windows XP以前のプロファイルとは明確に区別されるようになっています。

    image  image

    これは、Windows XP に先立って Windows Vista(またはWindows 7)でログオンしたときも同様です。

    つまり、Windows 7 と Windows XP Mode でプロファイルを区別する際に特別な考慮は必要ないということになります。

    以下に、本仕様について書かれているドキュメントと、その箇所を示します。

    移動ユーザー データ管理の展開ガイド(日本語)
    http://technet.microsoft.com/ja-jp/library/cc766489(WS.10).aspx

    ユーザー プロファイルの互換性

    Windows XP で使用されているユーザー プロファイルの名前空間は、Windows 2000 で使用されているものと同一であり、オペレーティング システム間で透過的な相互運用性を実現しています。ただし、Windows Vista のプロファイルの名前空間は大幅に変更されているため、1 つ問題が生じます。この大幅な変更のために、Windows Vista では以前のバージョンの Windows からユーザー プロファイルを読み込むことができません。また、以前のバージョンの Windows でも Windows Vista のユーザー プロファイルを読み込むことができません。この問題に対処するため、Windows Vista の移動ユーザー プロファイルでは、プロファイル フォルダの最後に "v2" が追加されます。この "v2" を使用して、Windows Vista の移動ユーザー プロファイルは、以前のオペレーティング システムで作成された移動ユーザー プロファイルと区分されます。

    以前、たとえば Windows XP と Windows 2000 の混在環境では、OSごとに環境変数を設定し、プロファイルパスとして以下のような指定をしたりしました。

    \\Server\Profile\<UserID>\%OSName%

    こうすることでログオンするOSごとに使用するプロファイルを切り替えることができましたが、ひとまずWindows 7とXP Modeでは、そうした工夫は必要ないということですね。うーん…不勉強でした。はずかしい…。

    ちなみに、上記ドキュメントには Windows XPから Vista(Windows 7)へのプロファイル仕様の変更について詳細に書かれています。XPからWin7への移行を検討されている方も多いと思うので、是非ともご覧ください。XPからVista(Win7)へのプロファイルの移行および相互運用性についても書かれています。

    移動ユーザー データ管理の展開ガイド(日本語)
    http://technet.microsoft.com/ja-jp/library/cc766489(WS.10).aspx

  • ITpro EXPO 2009 Report 01 - System Center

    ITpro EXPO 2009 Report 01 - System Center
  • 【XP Mode】アプリケーションインストールでエラー

    モバイルPCとして使用しているVAIO ZもBIOS更新によってVTに対応し、私の中でのXP Mode利用率が高くなりそうな気配です。

    実は自宅のPCにもXP Modeをインストールしました。理由は、Windows 7 x64 で使っている動画編集ソフト(64ビット版には正式対応していないのですが)がいまいち安定しないため、ためしにXP Modeで使ってみようかと…。

    で、Windows XP Modeを起動してインストールを開始したところ、以下のエラーが。

    image
    Windows インストーラは、リモート デスクトップ接続からのインストールは許可していません。

    ご存じのとおり、XP Modeには、ローカルのデバイスをリダイレクトできます。以下のように。

    image

    便利なので、ついマウントされているドライブから setup.exe を実行してしまいました。その結果が、上記のエラーです。

    このエラーを回避するには、「XP Modeから見てローカル」のドライブにインストーラーが保存されている必要があります。

    インストーラーがDVDやCDROMであれば、XP Modeの設定画面で、以下のように「XP ModeのDVDドライブ」に「ホストのDVDドライブ」をマウントすればOKです。それ以外の場合は、XP modeのローカルディスク(Cドライブ等)にコピーしてから Setupを実行しましょう。

    image

  • XP Mode と Active Directory ドメインの関係 その3 - 差分ディスクをファイルサーバーに置いてみた

    ここのところ、XP Modeがインストールされた1台のWinodws7を、複数のユーザーで使いまわすことを前提に投稿を続けています。

    前回の投稿では、XP Modeをドメインに参加させることができたものの、それをデフォルトプロファイルに埋め込んで他のユーザーが使えるようにする…というところで止まってしまいました。

    その後の調査では、Sysprep を XP Mode に埋め込んでおき、ユーザーが最初にXP Modeを使うときに、その都度ドメイン参加(もちろん自動的に)を行わせる…といのが推奨の手順のようなのですが…(うーん、ちょっと面倒…そういえば、Windows 7 ではプロファイルの複製が出来なくなっているような気がしますが、これと関係があるのかな…)。まだ実際に試していないので、追って投稿したいと思います。

    ご参考(英語ですみません) Deploying Windows XP Mode
    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=9f142a1a-a7b7-4d0b-bd56-d9627f39c14f
    ※実はこのドキュメントがリリースされていることに気づいておらず、BLOGをご覧になった Nさんに教えてもらいました。Nさん、恐縮でございます。

    で、ちょいと疲れたので、現実逃避な話題を。

    ※以下、ご参考ということで…実装の際にはくれぐれも検証をお忘れなく

    大学などのように、利用者が複数のPC(1つのADドメインに参加しているものとする)にログインする可能性がある場合、はたしてXP Modeの利用環境を持ちまわることができるものだろうか?…と考えたとき、速攻で思いつくのが「移動ユーザープロファイル」です。

    が…考えてみれば、Windows 7 と同じユーザーIDを使用する場合、プロファイルが保存されるパスも共通になってしまいます。

    そこで、考えられる方法は2つです。

    • XP Modeの差分ディスクをリモートに保存する
    • 移動ユーザープロファイルを、なんとかしてWin7とXPで分ける

    ■XP Modeの差分ディスクをリモートに保存する

    差分ディスクをファイルサーバー等に保存する場合、2つの方法が考えられます。

    ー 差分ディスクを移動プロファイルに含め、ログオフのたびにサーバーに書き戻す
    ー 差分ディスクの保存先としてUNC名を指定する

    者はあきらかに運用に耐えられないことがわかります。ログオンやログオフのたびに何百メガ~数ギガのファイルをコピーされたんでは、いつになっても授業が始まりません。

    者はどうでしょう?ひとまず技術的には可能です。試すには、以下のように、差分ディスクと仮想マシンファイル(VMCファイル)の保存先をUNC名を使用して、ファイルサーバー上に設定してください。

    image  image

    差分ディスクだけをファイルサーバーに置いてもダメです。というのも、XP Modeを休止状態にした場合には、メモリの内容がVSVファイルに保存されるからです。でもって、VSV(Virtual Machine Saved State)ファイルは仮想マシンファイル(VMCファイル)と同じ場所に保存されるのです。

    実際に、上記の設定をした場合、XP Modeを使用している間の書き込みは、すべてファイルサーバーに対して行われます。体感的にはどうか?といえば…ネットワークの帯域さえ確保できていれば、もたつくことなく極めて快適に使用できます。

    ただし、それはクライアントがほんの少数である場合か、ファイルサーバーがこのような使い方を見越して最適化されている場合でしょう。大学のように100や200人が一斉にログオンする…といった状況で利用に耐えるとは、とても思えません。

    また、仮に使用に耐えたとしても…ファイルサーバーのディスク容量が気になります。私がちょっとテストしただけで、差分ディスクの容量は1GBになりました。大きくなりすぎたVHDファイルを、夜間バッチ等で VhdResizerのようなツールを使って圧縮できればよいのですが、そうでなければファイルサーバー自身をリサイズしなければなりません。

    ということで、差分ディスクをファイルサーバーに保存するというのは…現時点では現実的ではないのだろうと考えます。

    ■移動ユーザープロファイルを、なんとかしてWin7とXPで分ける

    長くなる��で、これについては次回にまわします。

    グループポリシーのロールバック適用、および環境変数の利用がキーになります。

  • XP Mode と Active Directory ドメインの関係 その2 - ドメインへの参加方法と差分ディスクの結合

    前回に引き続き、XP Modeについて掘り下げていきたいと思います。前回の投稿は以下です。

    XP ModeとActive Directoryドメインの関係…とタイトルに入れているのにとっても重要なことを書き忘れていました。

    XP Modeはドメインに参加することはできるのか?

    という点です。

    答えから先に書いておきますと、YES です。

    【参考 Virtual PC チームのBLOG】
    Networking and Using Windows XP Mode
    http://blogs.technet.com/windows_vpc/archive/2009/09/26/networking-and-using-windows-xp-mode.aspx

    ただ、ドメインに参加する前に以下の点を考慮しておきましょう。

    • 本当にドメインに参加する必要があるか?
    • ドメイン利用のライセンス条件を満たしているか?

    この上記2点については後で振れるとして、XP Mode をドメインに参加させる手順について以下に書いておきます。

    実は、XP Modeのドメイン参加って、ちょいと面倒なんです。参加させた後の処理が多くて…。

    ※くれぐれも早まって以下の操作を行わないでください!絶対に最後まで読んでください!

    1.ネットワークアダプタの種類を変更する

    既定では、XP Mode は仮想ネットワークアダプタとして「共有ネットワーク(NAT)」を使用します。

    image

    Virtual PC に詳しい方はご存じのとおり、このタイプの仮想ネットワークアダプタでは、Virtual PCに実装されたNATによってアドレス変換が行われ、ホスト側のインターフェースを通して外部との通信を行います。

    XP Mode 自身の IPアドレスは Virtual PC の DHCP機能によって自動的に割り振られます。

    image

    このままでは、ドメインコントローラーとファイル共有やWEB等の通信を行うことは可能ですが、ドメインに参加することはできません。なぜならば、NATを介して通信しているため、ドメインコントローラーからXP Mode が1台のコンピューターとして参照できないからです。

    そこで、ネットワークアダプタの種類を、共有ネットワーク(NAT)からブリッジモードへと変更します。ブリッジモードとは、ホストコンピュータに実装されているネットワークアダプターを、そのままゲストOSのアダプターとして使用するモードです。物理的には1枚のネットワークカードをホストコンピューターと共有することになりますが、外部から見ればホストコンピュータとは独立したコンピューターとして見えます。

    ブリッジモードに変更するには、アダプターの種類を以下の赤枠で囲んだように<ネットワークカードの名前>に変更します。

    image

    2.IPアドレス等の設定

    ネットワークカードの種類の変更はXP Modeの稼働中に行えますし、再起動の必要はありません。変更したら、いつものようにIPアドレスやデフォルトゲートウェイ、DNSサーバーのアドレスを変更してください。物理PCの設定を全く変わりません。

    3.ドメインへの参加

    ドメインへの参加も、物理PCの設定と変わりません。いつものように参加すればOKです。

    image

    以上でドメインに参加できました。

    しかーし、これで終わりではありません!

    4.Domain Users にXP Mode への「ターミナルサービスログオン権限」を与える

    実は、ここで少しはまりました(恥)。

    XP Modeにログオンするには、「ローカルログオン」権限を持っているだけではだめです。「ターミナルサービスを通したログオン」権限が必要です。権限が無い場合、監査ログには以下のイベントが残されます。「ログオンの種類:10」とは「ターミナルサービスへのログオン」のことです。

    image

    以下の画面ショットは、XP Mode の ローカルグループポリシー(デフォルトの状態)です。デフォルトでは、Domain Users が、「ターミナルサービスを通したログオン」権限を持っていないことがわかります。

    image

    よって、以下のいずれかの方法で「ターミナルサービスを通したログオン」権限を与える必要があります。

    • XP Modeの「Remote Desktop Users」グループに、Domain Users を含める
    • ローカルグループポリシーで、Domain Users に対するターミナルサービスを通したログオン権限を与える
    • ドメインのポリシーで、Domain Users に対するターミナルサービスを通したログオン権限を与える

    ここでは「Domain Users」と書いてますが、もちろん別のグループでも構いません。要は、XP Modeにログオンさせたいドメインユーザーに対して「ターミナルサービスを通したログオン」権限を与えればよいのです。

    5.XPモードの差分ディスクを結合する

    まだ終わりではありません!

    以下の投稿でも書いたように、「ドメインに参加した」という事実は「差分ディスク」に保存されているからです。

    そうです。XP Modeに対する環境変更は、Windows7にログオンしているユーザー単位に「差分ディスク」として保存されています。よって、ドメインに参加したという事実を、Baseとなるディスクに埋め込む必要があります。絵にすると、以下のような感じです。

    image 

    image 

    そのためには、ドメインに参加操作を行ったユーザーの差分ディスクを、ベースとなるディスクに結合します。具体的には以下の操作を行います。

    XP Modeをシャットダウンします。ただし、スタートメニューには「シャットダウン」が出てこないので、XP Modeのウィンドウにある[Ctrl+Alt+Del] をクリックしてセキュリティウィンドウを開きましょう。表示されたセキュリティウィンドウに[シャットダウン]がありますので、これをクリックしてください
    image

    [スタートメニュー]ー[すべてのプログラム]-[Winodws Virtual PC]-[Windows Virtual PC] を起動してください

    [Windows XP Mode] が[電源切断]状態になっていることを確認して、[右クリック]-[設定]を選択
    image

    [設定]ウィンドウが開くので、設定一覧から[ハードディスク1]を選択し、右側のペインの[変更]ボタンをクリック
    image

    [仮想ハードディスクの変更]画面で[仮想ハードディスクの結合]をクリック
    image

    親ファイルと結合した結果を、どこに置くか選択します。選択肢は2つで、「既存の親ファイルを置き換える」か「別の新しいファイルとして保存するか」から選択できます。ひとまず「既存の親ファイル(Windows XP Mode Base.vhd)」は残しておきたいので、[新しいファイル]を選択して、別の場所に保存しましょう。
    image 

    ちなみに、[親ファイル]を選択して結合を開始しようとすると、以下のように「読み取り専用である」旨のエラーが表示されます。もし、本当に親ファイルを直接置き換えるのであれば、事前に親ファイルへの書き込み権限を取得し、[読み取り専用]属性を解除しておく必要があります。
    image

    結合が完了すると、以下のメッセージが表示されます。
    image

     6.超重要!XP Modeのハードディスクの再設定と[読み取り属性]の付加

    まだまだ終わりではありません!

    ハードディスクの結合を実行すると、この操作を実行したユーザーの環境は、以下のように設定されます。

    差分ディスクの設定が無くなり、たったいま結合したディスクを直接使用するように設定されていることがわかります。

    このままにしておくと、このユーザーがXP Modeを使用するたびに、親ディスクが更新されてしまうことになり、ほかのユーザーに影響が出ます。影響とは…XP Modeが使えなくなるということです。

    それではまずいので、このユーザーのハードディスクの設定を、元のように差分ディスクを使用するように設定しなおします。

    Windows XP Mode の設定画面から、[ハードディスク1]を選択します

    [作成]ボタンをクリック
    image

    [差分]をクリック
    image

    差分ディスクのファイル名と、保存場所を指定します。名前は既定の「Windows XP Mode」としてもよいですし、変更しても構いません。保存場所は、規定値のままでよいです。
    image

    [次へ]をクリックすると、「結合に使用した既存の差分ディスクがが存在する」旨のメッセージが表示されますが、上書きでよいでしょう。心配であれば、既存の差分ディスクをリネームしておきましょう。
     image

    親ディスクのパスを聞いてくるので、先ほど作成した親ディスクを指定しましょう。親ディスクをTMP等に保存した場合には、事前に「ちゃんとした場所」に移動しておきましょう。[作成]ボタンをクリックすれば、設定は完了です。
    image

    ハードディスクの設定画面が、以下のようになっていればOKです。
    image

    新しい親ディスクを読み取り専用にする
    image

    ⑨ 新しい親ディスクのアクセス権を変更する

    ひとまずこれで、ドメインに参加した状態の親ディスクを用意できました。

    めでたしめでたし…と言いたいところなのですが…考えれば考えるほど運用上の問題が山積でして…
    以下に現時点で解決できていない大きな問題点を挙げておきます。
    Windows XP Modeの設定をデフォルトプロファイルに埋め込めない

    作成したWindows XP Modeの設定は、デフォルトプロファイルに埋め込むなどして、他のユーザーでも使用できるようにしておく必要があります。でないと、ユーザーごとに上記「6.」の操作を行う必要があります。これでは事実上、運用にならないですよね…。

    3日間、かかりっきりで調べているのですが…なかなかうまくいかず…

    ちなみに、本件に関しては以下の2点をテストしました。

    • 新しく作成した親ディスクを既存の親ディスク(Windows XP Mode Base.vhd)と入れ替え、新しくログオンしたユーザーでWindows XP Modeの初期設定を実施したが、正常に完了しなかった
    • 正常に動作しているユーザーのプロファイルを、デフォルトプロファイルに複製。VMCXファイルとVMCファイルの中に書かれているパスには、%UserProfile% を使用して書き換えたが、うまく動作しない

    どなたか…うまくいったという方、ご連絡を!

  • 知られざるロゴグッズ

    いま初台のオペラシティタワーでは避難訓練が行われています。

    私も、45F から延々900段の階段を黙々と降り続け、避難しました。

    DSC01243

    明日が怖いです。

  • Windows7 Party @ 角館 五井酒造店

    XP Mode 記事の連載投稿中ですが、ちょっと休憩。

    SEの林さんより、秋田県角館のご実家で「Windows7発売記念パーティ」を開催いただいたというご報告をいただきました。

    Windows7 発売記念パーティーとは、公募によって選ばれたパーティ主催者の方々が、パーティに参加する皆さんとWinodws7をネタに盛り上がってください!という企画で、マイクロソフトからはパーティグッズやお菓子、Windows 7 Ultimate が送られてくるというものです。残念ながら、企画は10月末日で終了しています。

    なんとご実家は角館で370年の歴史を誇る造り酒屋、五井酒造店

    角館 五井酒造店 http://www.mediacontents.co.jp/shiraume/

    酒造でWindows7パーティーって…ちょっと(というかかなり)イイですね。あぁ、うまい日本酒が飲みたい…。

    E F

    DOG と 老舗の日本酒(白梅)と Windows7ロゴ の Better Together。

    CD 

    林さんによれば、参加者にはXPやVistaを使い込んでいる方が多く、細かな質問が多かったとのこと。以下には林さんからいただいた質問と、林さんが提示されたWinodws7による解決策です。

    • ファイルの保存が煩雑になってしまい困る
      →ライブラリ機能で管理
      image
    • ファイルの検索に手間取る
      →検索フィルターの活用
      image image image
    • 複数のアプリケーション・ファイルを取り扱っていると収拾がつかなくなってくる
      →新しくなったタスクバー(Aeroプレビュー・ジャンプリスト など)+フリップ3D機能
    • 写真や動画を友人などと気軽に交換したい
      ホームグループや SkyDrive を使用したメディアの共有
    • 地デジの取り扱い
      Windows Media Center対応チューナーについて

    おいしい日本酒が相当量体内に蓄積されているはずなのですが、絵に描いたようにポイントを抑えてますよねぇ。すばらしいです。

    林さん、ありがとうございました!

  • XP Mode と Active Directory ドメインの関係 その1 ー 仮想XPのユーザープロファイル

    ご注意 当BLOGにてご紹介する各種手順にはマイクロソフトのサポート対象外のものが含まれております。詳しくは「免責事項」をご覧くださいませ。ご理解いただけますと幸いです。なにとぞよろしくお願い申し上げます。

    以下の投稿の続きです

    XP Modeをインストールした方であればご存じのとおり、XP Mode をインストールして環境設定すると、自動ログオン用のアカウントを設定する必要があります。

    既定では、以下のように XPMUser というユーザーIDが使用されます。VirtualXP-48949 は、仮想XPのコンピュータ名です。つまり、XPMUser はXPローカルに登録されているユーザーです。

    xpmode17

    一度保存したユーザーは、Windows 7に別のユーザーでログオンした場合にも使用されます。

    ここでいくつかの疑問が生じます。

    • 仮想XPの環境はWindows7にログオンするユーザーで共有されてしまうのか?
    • 仮想XPをドメインに参加させてもすべてのユーザーで同じ環境を共有することになるのか?
      • 仮想XPのプロファイルはどうなるの?
      • ホームディレクトリはどうなるの?
      • ファイルサーバー等へのアクセス権はどうなるの?

    企業や大学の情報システム部門の方には、非常に重要な部分です。XPでしか動作しない業務アプリケーションの環境を、Windows7に引き継げるかどうかにかかわってきますから。

    そこで、テストしながら1つずつ疑問を解消してきたいと思います。

    まずは 仮想XPを使用する場合のユーザープロファイルについて。

    以下の画面を見てください。これはWindows 7から見た XP Mode の環境設定画面です。

    image

    ①と②の「パス」に注目してください。途中で切れているので補足すると、①と②はそれぞれ以下のように設定されています。

    ① C:\Users\junichia\AppData\Local\Microsoft\Windows Virtual PC\仮想マシン\Windows XP Mode.vhd

    ② C:\Program Files\Windows XP Mode\Winodws XP Mode Base.vhd

    もうおわかりですよね。

    後者② は仮想XPのベースとなるVHDファイルで、すべてのユーザーが共通で使用するファイルです。

    前者① は②の差分VHDファイルであり、これがWindows7にログオンしているユーザーごとに作成されます。

    つまり、Windows7にログオンしたユーザーごとに、仮想XPの環境は保存されるということです。図にすると、以下のような感じ。

    image

    仮想XPへのログオンは1種類のユーザー(XPMUser)で行われていますが、プロファイル自体はWindows7にログオンしているユーザー単位で完全に分かれているんですねぇ。

    以下はエクスプローラーで仮想マシンフォルダを参照したところですが、仮想OSの環境設定ファイル(VMCファイル)もユーザーごとに保存されていることがわかります。

    image

    ちなみに、仮想XPの環境に手を加えて、それをデフォルトのプロファイルにしたい!場合にはどうしたらよいか。以下に答えが書かれています。

    image

    そうです。ベースとなるVHDと差分VHD(ユーザーごとのプロファイル)を「結合」してしまえばよいわけです。

    うーん、差分VHDって使い勝手がよいですねぇ。ちょっと感動しました。

    でも待ってください!ここで新たな疑問が…。

    • 移動プロファイルを使った場合ってどうなるの?

    うーん、頭が痛くなってきました…。さすがに差分VHDをログオンのたびにダウンロードするわけにはいかないような…じゃ、ネットワーク上の差分VHDを使うのか??

    現在思案中…。

  • VHD Boot した Windows7 で XP Mode が使えるか

    前回、前々回と、以下の投稿をしました。

    では、VHD Boot した Windows 7 で XP Mode が使えるかどうか?

    ※XP Modeについては以下のコラムが大変勉強になります
    Windows XP MODE (入門編) http://technet.microsoft.com/ja-jp/windows/dd920318.aspx
    Windows XP MODE (応用編) http://technet.microsoft.com/ja-jp/windows/ee230243.aspx
    Windows 7 コラム XP Mode (番外編) http://technet.microsoft.com/ja-jp/windows/ee410772.aspx

    結論は Yes です。以下はXP Mode インストール直後のWindows 7(VHD Boot)です。

    image でかい画面ですいません

    まだ XP Mode をインストールした直後ですが、恥ずかしながら今さら気が付いた機能があります。

    それは、XPのデスクトップの解像度が自由自在に変わるってこと!以下をご覧ください。ウィンドウサイズを適当に変更しても、スクロールバーが出てこないんです(超気持ちいい)!

    xpmode14 1924*480

    xpmode15 640*480

    xpmode16 640*1096

    これを見て、「あぁ、なるほど」と思った方は勘の良い方です。

    アプリケーションをXP Modeにインストールすると、Windows7上からはアプリケーションだけが起動しているかのように見えますが、裏ではこんな機能に支えられていたんですね。

  • Hyper-V から VHD Boot への移行

    前回は、従来の Boot.ini にかわる新しいブート構成情報の格納庫である BCDストア について簡単に解説しました。

    ブート構成データ(BCD)ストアを理解すれば VHDブート は簡単
    http://blogs.technet.com/junichia/archive/2009/10/26/3289120.aspx

    これを踏まえ、Hyper-V 上に作成してあるVHDファイルを、VHD Bootに移行してみます。何を行っているのかが理解しやすいように、ショートカット的な作業は一切行っていません。

    1. VHD Boot 用の Boot Loader オブジェクトを作成する

    前回の解説でも触れていますが、新しいOSをブートできるようにするには、Boot Loader オブジェクトを新たに作成し、BCDストアに保存してあげる必要があります。図にすれば、以下のようなイメージです。

    BCDStore2

    Boot Loader オブジェクト image を作成するには、コマンドプロンプトから以下のように入力します。

    C:\> bcdedit /create /d “Winodws 7 – VHD Boot” /application OSLOADER
    エントリ {59a1b361-8694-11de-ba0c-ea7587cc7300} は正常に作成されました。

    これでひとまず「空のオブジェクト」が出来ました。/d は description のことです。ここでは、"Winodws 7 - VHD Boot"という文字列を設定しました。/application は ApplicationタイプのBCDオブジェクトを作成することを示しており、そのあとに osloader と指定することで ブートローダーオブジェクトとなります。

    /application には、osloader 以外にも、BOOTSECTOR/RESUME/STARTUP などを指定することができますが、ひとまず今回は説明しません。

    コマンドの実行後に出力されるCLSID {59a1b361-8694-11de-ba0c-ea7587cc7300} は、このオブジェクトを識別するための IDとなります。他のオブジェクトのIDとものすごーく似ていますが、微妙に違うので注意してください。

    ためしに、以下のコマンドで、いま作成した Boot Loaderオブジェクトを参照してみてください。/enum OSLOADER は、OSLOADERオブジェクトを全て表示するという意味です。

    C:\> bcdedit /enum OSLOADER

    出力されたエントリの中に、”Winodws 7 – VHD Boot “ と書かれたエントリがあることを確認してください。

    image

    2. 起動に必要なパラメタを設定する

    いま作成した Boot Loader オブジェクトには、identifier と description 以外のパラメタが何も設定されていません。そこで、OSの起動に必要な情報を埋め込んであげる必要があります。まずは、以下をご覧ください。これは上記画面ショットの中から既存のOSブートローダー情報を抜き出したものです。

    Windows ブート ローダー
    --------------------------------
    identifier {current}
    device partition=C:
    path \Windows\system32\winload.exe
    description Windows Server 2008 R2
    locale ja-JP
    inherit {bootloadersettings}
    recoverysequence {9afda1cc-9772-11de-abb0-e0195a1514fa}
    recoveryenabled Yes
    osdevice partition=C:
    systemroot \Windows
    resumeobject {9afda1ca-9772-11de-abb0-e0195a1514fa}
    nx OptOut
    hypervisorlaunchtype Auto

    identifier や description 以外に、多くの情報が必要であることがわかります。

    そこで、同じように必要なパラメタを埋め込んでいきましょう。

    BCDオブジ��クトにパラメタを設定するには、「BCDEDIT /Set {CLSID} <パラメタ名> <値> 」を使用します。

    今回のCLSIDは {9afda1d7-9772-11de-abb0-e0195a1514fa}  です。

    ■ブートパーティションとシステムパーティションの指定

    ブートパーティションとOSがインストールされているパーティションを指定します。通常は partition=C: などと指定しますが、VHD Boot を行う場合には、VHD=<VHDファイルのパス> を指定します。以下の例では、「C:\VHDBOOT\Win7_VHDBoot\Win7_VHDBoot.vhd」 がVHDファイルのパスです。

    C:\>bcdedit /set {9afda1d7-9772-11de-abb0-e0195a1514fa} device VHD=[C:]\VHDBOOT\Win7_VHDBoot\Win7_VHDBoot.vhd

    C:\>bcdedit /set {9afda1d7-9772-11de-abb0-e0195a1514fa} osdevice VHD=[C:]\VHDBOOT\Win7_VHDBoot\Win7_VHDBoot.vhd

    注意しなければならないのは、ドライブ名を [ ] でくくるという点です。

    ■ブートローダーのパス

    ドライブを指定する必要はありません。

    C:\>bcdedit /set {9afda1d7-9772-11de-abb0-e0195a1514fa} path \Windows\system32\winload.exe

    ■OSのシステムルートのパス

    C:\>bcdedit /set {9afda1d7-9772-11de-abb0-e0195a1514fa} systemroot \Windows

    ■ブートローダーのロケール

    C:\>bcdedit /set {9afda1d7-9772-11de-abb0-e0195a1514fa} locale ja-JP

    ■HALの再認識を有効にする

    ハードウェアが変わることになるので、念のために入れておいてください。

    C:\>bcdedit /set {9afda1d7-9772-11de-abb0-e0195a1514fa} detecthal yes

    ■ブートメニューの編集

    作成したエントリがブートメニューに表示されるように、以下のコマンドで設定します。/addlast はメニュー一覧の最後に追加することを表しています。

    C:\>bcdedit /displayorder {9afda1d7-9772-11de-abb0-e0195a1514fa} /addlast

    コマンドプロンプトから bcdedit と入力すると、以下のように表示されていればOKです。

     image

    3.AHCIドライバ(Msahci.sys)を有効にする

    全項までで、ひとまずVHDブートに関する設定は完了です。

    が、このままOSを起動すると以下の STOPエラー が表示されることがあります(見ずらい画面ですいません)。

    STOP 0x0000007B INACCESSABLE_BOOT_DEVICE

    詳細はこちらをご覧ください。COMPUTERWORLDさんのサイトにも詳しく対処法が掲載されており、MSのKBよりもわかりやすいかもしれません。

    COMPUTERWORLD Windows 7の仮想ハードディスクがスゴイ!─(4)http://www.computerworld.jp/topics/win7/151889-2.html

    対処するには、Hyper-V上でWindows 7を立ち上げ、以下の通りレジストリを修正します。

    image 
    キー:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
    値の名前:Start
    値:0

    4.Hyper-V上の仮想OSをシャットダウン

    Hyper-V上で動作している仮想OSをシャットダウンしておきましょう。

    以上で設定は完了です。

    コンピューターを再起動すると、ブートメニューには先ほど追加したメニュー(今回は「Winodws 7 – VHD Boot 」)が追加され、これを選択するとこれまでHyper-Vで使用していたゲストOSをVHD Bootで起動することができます。

    起動後はデバイスドライバのインストールが自動的に行われます。