SE の雑記

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

VHD ブートの設定方法

3 comments

VHD ブートの設定方法をまとめてみたいと思います。

今回は C ドライブに OS はインストールしないで VHD のみでブートする環境を作りたいと思います。

[準備するもの]
Windows Server 2008 R2 または Windows 7 のインストールメディア

[手順]

  1. 準備したインストールメディアを使用して起動します。
    image
  2. 上記画面が表示されたら [Shift] + [F10] を押し、コマンドプロンプトを起動します。
    image
  3. 使用するディスクが見フォーマットの場合は以下のコマンドを実行してフォーマットします。
    diskpart
    select disk 0
    create part primary
    format fs=ntfs quick
    active
    assign letter=c
    exit
  4. 以下のコマンドを実行し、C ドライブの下に VHD 格納用のディレクトリを作成します。
    mkdir c:VHD
  5. 以下のコマンドを実行し、VHD を作成しディスクをアタッチします。
    diskpart
    create vdisk file=”c:vhdos.vhd” maximum=20480 type=expandable
    attach vdisk
    exit

    maximum : VHD の最大サイズになります。
    type : VHD の形式になります。expandable=可変、fixed=固定

  6. 後は通常の OS のインストールと変わりません。
    インストール先のディスク選択画面でアタッチした VHD が選択できます。
    image
    [このディスクに Windows をインストールすることはできません] が表示されますが
    そのままインストールを継続します。
    下のメッセージボックスは [詳細の表示] をクリックしたときに表示される内容です。
    image?
  7. OS のインストールが終了するまで待ちます。
    image
  8. OS が起動すれば VHD ブートの設定は完了です。
    ?image

VHD ブート後のディスク構成は以下のようになっています。

image

C ドライブが VHD、D ドライブが VHD を格納しているディスクになります。

D ドライブにはブートに必要なファイルと VHD のみが格納されており OS は入っていません。
デフォルトでは D ドライブに Pagefile.sys が配置されるようですね。
image?

設定上は C ドライブ (VHD のドライブ) にページングファイルを移すこともできるのですが、
以下の画面のエラーが表示され、ページングファイルを VHD 上に作成することができません。
image?

ページングファイルは VHD を格納しているドライブ上に作成する必要があるようですね。

今回は VHD を可変で作ったのですが、OS 起動時にDISKPART で VHD 作成時に設定した
最大サイズまで自動的に拡張されるようです。
image

ただし、VHD 上の OS が起動していない状態で、VHD のサイズを確認すると最大サイズには
なっていないので厳密に拡張をしているわけではないようですね。

下の画像はは VHD ブート後に OS のインストールメディアからコマンドプロンプトを起動して
VHD のサイズを確認した画面になります。
VHD は7GB のファイルサイズとなっており、最大サイズとして設定した 20GB までは
拡張されていないことが確認できます。

image

差分ディスクを使用した VHD ブートに関しては、まだうまくいっていないのですが、
手順がわかったら別途まとめたいと思います。

Written by Masayuki.Ozawa

7月 26th, 2009 at 2:10 pm

Posted in Windows Server

VHD ブート可能な OS

leave a comment

VHD ブート可能な OS について記事がありました。
# 最近、業務で手いっぱいだったのでかなり情報収集が遅れています…。

あのOSはWindows 7でVHDブートできるのか?

BCD (ブート構成データ) が制御しているのかとずっと思っていたのですが、OS が VHD ブートに
対応している必要があるんですね。

記事に書かれているように Windows 7 / Windows Server 2008 R2 は VHD ブートの構成ができました。
Hyper-V Server R2 に関しても VHD ブートが可能でした。

また、記事内の参考として記載されている URL に以下の記載がありました。

Frequently Asked Questions: Virtual Hard Disks in Windows 7

>Native boot from VHD is available with all versions of Windows Server 2008 R2, Windows 7 Enterprise, and Windows 7 Ultimate

Windows 7 でも Enterprise と Ultimate が対応 OS となっているようですね。

XP / Vista / 2003 が VHD ブートできると便利だな~と思っていたのですが OS が対応していないと
NG なのは残念ですね。

Written by Masayuki.Ozawa

7月 26th, 2009 at 8:17 am

Posted in Windows Client

Windows ブートマネージャが英語になった時の対応

one comment

Windows 7 の VHD ブートを試していて、スタートアップの修復が実行されるとブートマネージャが
英語表記になることがあります。

BCD の {bootmgr} に Path が設定されていることが原因のようなので BCDEDIT で Path を削除すると
日本語表記に戻ります。

bcdedit /deletevalue {bootmgr} path

解決方法をよく忘れるのでメモ。

2009/10/20 追記

{bootmgr} の locale が ja-JP になっているかもチェックです。

bcdedit /set {bootmgr} locale ja-JP

Written by Masayuki.Ozawa

7月 25th, 2009 at 6:28 am

Posted in Windows Client

VHD ブートが面白いですね

leave a comment

仕事で手いっぱいで久しぶりの投稿です。

自宅の検証環境に VHD ブート検証用の端末を用意できたので時間があるときにいろいろとためしています。
軽く VHD ブートで OS をインストールしてみたのですが結構面白いですね。

Windows 7 RC や Windows 2008 R2 RC のメディアで起動してからコマンドプロンプトを開いて
DISKPART で VHD を作ってアタッチしてしまえば C ドライブに OS をインストールしなくても
VHD ブートを構成することができます。

C ドライブは VHD 格納用のフォルダと VHD のファイルだけにしてマルチブート環境も構築できそうです。

VHD ブートの OS でも USB や無線 LAN も使えるので使い勝手は普通にインストールした OS と変わらなさそうです。

i-VT / AMD-V も有効な状態で使用できそうですので、XP MODE の検証環境としても利用できそうです。

Written by Masayuki.Ozawa

7月 14th, 2009 at 11:37 am

Posted in Windows Server

SQL Server 管理レポート その 1

leave a comment

SQL Server の管理用カスタマイズレポートの作成状況を今日からすこしずつ書いていきたいと思います。
現在はトップページを小出しに作成中です。

メインページはサーバーの概要を載せたいなと思い、現在は以下の構成で作成しています。

image

現状は大枠だけ作成してみました。

時間がある時にサーバー情報でよく見る項目を少しずつ追加していきたいと思います。
AWE / MAX DOP だけでなく max worker threads や affinity mask も概要ページで見れると便利そうですね。
#sys.configurations で確認できる情報はこのページからリンクレポートを設定して全部見れるようにする予定です。

この手の自分の勉強用のツールを作るのは楽しくていいですね~。

パフォーマンスチューニングや運用のノウハウを補足として記載しながらレポートを作成していきたいです。

Written by Masayuki.Ozawa

7月 5th, 2009 at 2:02 pm

Posted in SQL Server

SQL Server 2008 Management Studio のカスタムレポートについて

leave a comment

Reporting Services の勉強を兼ねて SQL Server 2008 用の管理用カスタムレポートを作成しようと思い、
BI Development Studio 2008 でまずは簡単なレポートを作成してカスタムレポート表示をしたら以下のエラーが。

image

SQL Server 2008 の Management Studio 用のカスタムレポートは BI Development Studio 2005 で開発する
必要があるみたいですね。

下が BIDS 2005 で作成したカスタムレポートを SSMS 2008 で表示した内容になります。

image

まずはサーバーダッシュボードのようなものを少しずつ作っていきたいと思います。
# 最終的には自分で Performance Dashboard Reports のようなものを作ってみたいです。

Written by Masayuki.Ozawa

7月 4th, 2009 at 5:45 am

Posted in SQL Server

クライアントのコンピュータアカウントのパスワード格納場所

leave a comment

Active Directory とは依然として仲良しにはなれていないのですが、そうも言っていられない日々が続いています…。

今日はコンピュータアカウントのパスワードについて。

コンピュータアカウントのパスワードはセキュリティポリシーの
– [ドメイン メンバー: 最大コンピュータ アカウントのパスワード有効期間]
の設定値で定期的に変更され、ドメイン コントローラーでも保持しているパスワードと一致しない場合は、
セキュアチャネルの確立ができず、ドメイン ログオンに失敗する仕組みになっています。

image

パスワードは 1 世代前のものも保持されており、現在のパスワードと 1 世代前のパスワードの両方を使用して
セキュアチャネルが確立できないと NG になります。

Netdom.exe を使用して Windows 2000 ドメイン コントローラのコンピュータ アカウントのパスワードをリセットする方法

セキュアチャネルについては Microsoft の Network & AD サポートチームの以下の記事がとても参考になります。

ドメインにログオンできない ~ セキュア チャネルの破損 ~

パスワードを無期限にする方法に関しては Microsoft エバンジェリスト 安納さんがまとめてくださっています。

【Hyper-V】スナップショットとコンピュータアカウントパスワードの微妙な関係

ちなみに、パスワード不整合が起きたかどうかはドメイン コントローラで対象のコンピュータアカウントの
– [badPwdCount]
– [badPasswordTime]
を見るとわかります。
ドメインコントローラーのイベントビューアでイベント ID [5722] で見る方法も。

ドメインコントローラー側は Active Directory 上にパスワードを持っているとして、クライアント側の場合は
どこにパスワードを持っているのかというと [LSA (ローカル セキュリティ 機関)] に格納されています。

LSA の内容は以下のレジストリで内容を見ることができます。

– [HKEY_LOCAL_MACHINESECURITY]
image

デフォルトの状態ではこのレジストリには [SYSTEM] しか読み取りの権限がありませんので他のユーザーで内容を確認したい場合は、
[SECURITY] を右クリックして [アクセス許可] を選択し、読み取り権限を明示的に付与する必要があります。

  1. [アクセス許可] を選択
    image
  2. 操作しているユーザーに [読み取り] を追加
    image

Windows 2000 の場合は [regedit.exe] からはアクセス許可の設定ができないため、[regedt32.exe] を使用します。

アクセス許可を設定すると [SECURITY] が展開できるようになります。

image?

コンピュータアカウントの情報は以下の場所に格納されています。
– [HKEY_LOCAL_MACHINESECURITYPolicySecret.s$MACHINE.ACC]
image?
このレジストリキーを展開すると以下の階層が表示されます。
image

[CurVal] [OldVal] がコンピュータアカウントのパスワードの値になるようです。
# [CupdTime] [OupdTime] がそれぞれの値の変更されたタイミングになります。
 ただし、世代移動のタイミングで両方の値が更新されるようで、変更されたタイミングは同じ値が入っていました。

意図的にコンピュータアカウントのパスワード不整合を発生させたい場合は、[CurVal] [OldVal] を書き換えると現象を発生させることが可能です。
あまりにも変な値を入力するとログオンできないだけでなく、ドメインからはずせなくなりますのでご利用は計画的に。

次回は意図的にパスワード不整合を発生させ、ログオンできない状態にさせてみたいと思います。

Written by Masayuki.Ozawa

7月 2nd, 2009 at 11:08 pm

Posted in Active Directory

repadmin /syncall で別サイトの DC と同期

leave a comment

WIndows 2000 / 2003 のサポートツールに含まれている repadmin.exe を使用すると DC のレプリケートを
コマンドラインで実行することができます。

オプションを何も設定しないで実行すると同一サイト内の DC とのみレプリケートが実行されますので、
複数のサイトを作成している場合は /e オプションを指定する必要があります。

[自サイト内の DC とのみレプリケート]

repadmin /syncall

?

[他のサイトの DC も含めてレプリケート]

repadmin /syncall /e

?

[Active Directory サイトとサービス] を使用して [今すぐレプリケート] で同期をとる場合は
対象の接続オブジェクトを選択するので別サイトでも問題はありませんが、コマンドで実行する場合は
気をつけないといけないですね。

Written by Masayuki.Ozawa

6月 29th, 2009 at 11:36 pm

Posted in Active Directory

VBScript で別ファイルをインクルード

leave a comment

よく忘れるのでメモ。

Scripting.FileSystemObject の ReadAll で別ファイルの内容を読み込んで、
ExecuteGlobal に読み込んだ内容を渡して別ファイルをインクルード。

ExecuteGlobal ステートメント

Written by Masayuki.Ozawa

6月 24th, 2009 at 12:27 pm

Posted in その他

ダウンレベルクライアントに影響するグループポリシー

leave a comment

Windows Server 2003 のドメインコントローラーを使用している場合にダウレベルクライアントで
影響が出そうなグループポリシーをメモ
# グループポリシーに KB823659 へのリンクが表示されていたものです。

グループポリシー 設定値
Microsoft ネットワーク クライアント: 常に通信にデジタル署名を行う
  • 有効
  • 無効
Microsoft ネットワーク サーバー: 常に通信にデジタル署名を行う
  • 有効
  • 無効
ドメイン メンバ: 強力な (Windows 2000 かそれ以降のバージョン) セッション キーを必要とする
  • 有効
  • 無効
ドメイン メンバ: 常にセキュリティで保護されたチャネルのデータをデジタル的に暗号化または署名する
  • 有効
  • 無効
ネットワーク アクセス: SAM アカウントおよび共有の匿名の列挙を許可しない
  • 有効
  • 無効
ネットワーク アクセス: SAM アカウントの匿名の列挙を許可しない
  • 有効
  • 無効
ネットワーク アクセス: 匿名の SID と名前の変換を許可する
  • 有効
  • 無効
ネットワーク セキュリティ: LAN Manager 認証レベル
  • LM と NTLM 応答を送信する
  • LM と NTLM を送信する – ネゴシエーションの場合、NTLMv2 セッション セキュリティ
  • NTLM 応答のみ送信する
  • NTLMv2 応答のみ送信する
  • NTLMv2 応答のみ送信する (LM を拒否する)
  • NTLMv2 応答のみ送信する (LM と NTLM を拒否する)
ネットワーク セキュリティ: 必須の署名をしている LDAP クライアント
  • なし
  • ネゴシエーション署名
  • 必須署名
監査: セキュリティ監査のログを記録できない場合は直ちにシステムをシャットダウンする
  • 有効
  • 無効

セキュリティ的に問題ないかは別にして、これらの設定をドメインコントローラにしておけば、
95 / 98 / NT 4.0 SP3 以前がログインできないという現象は回避できそうです。

ダウンレベルクライアントがなくなったら設定を戻しましょうという但し書きをしたうえで設定しておこう。

Written by Masayuki.Ozawa

6月 23rd, 2009 at 11:25 am

Posted in Active Directory