普段使っているツール(使いたいと思っているツール)

私が普段使っているツールをまとめておきたいと思います。
サポートエンジニア的に使うツールの備忘録です。
随時更新予定です。

Windows 8.1 へのアップグレードであたった壁

昨日、Windows 8.1 にアップグレードしたのですが、
その中でアップグレードが上手くいかない、という状況に陥ったので記録。
プレビュー版で同じ状況に出会った方もたくさんいるかもしれません。

Windows 8 からWindows 8.1 にストアアプリ経由でアップグレードをする場合、
手順としては概ね以下になります。

・前提となる更新プログラムの適用(KB 2871389)
・ストアアプリからアップグレードパッケージのダウンロード
・再起動 → 自動的に適用処理へ
・数回の自動再起動
・アップグレード完了、Windows 8.1へようこそ

私が出会った事象は適用処理中にブルースクリーンが発生、
その後、自動でWindows 8にロールバック、
以下のエラーコードを表示、というものでした。

「0xC1900101 – 0x4000D」

検索した範囲ではですが、このエラーコードはウィルス対策ソフトに起因する様で、
以下の手順で回避することができました。

・前提となる更新プログラムの適用(KB 2871389)
・ストアアプリからアップグレードパッケージのダウンロード
・Windows Defenderを有効化
・インストールされているウィルス対策ソフトをアンインストール
・再起動 → 自動的に適用処理へ
・数回の自動再起動
・アップグレード完了、Windows 8.1へようこそ

なぜこれが対処なの?というあたりは、調べてないので何も言及できないのですが・・・。
どなたかのお役に立てば幸いです。

Windows Server 2012にはdcpromoがない

言いたいだけのエントリーです。
Windows Server 2012 RCでのことです。

自宅に検証環境を作ろうと2日ほど前から少しずつ作業しているのですが、
ADをさぁ作ろうと思ったところで、何の気なしに「dcpromo」を実行したら、
それはないよ、っていうエラーメッセージがでました。

メッセージの通り、サーバーマネージャーに含まれるようになったので、
ADの設定はサーバーマネージャーから行う必要があります。

リモートデスクトップでローカルのリムーバブルメディアをオンデマンド認識させる

今更!な内容なのですが、ついさっき知ったので、
恥晒しで投稿です。

ローカル側にUSBなどで接続したリムーバブルメディアを、
後から接続して認識させるための手順です。
事前に接続しておかなくてもいい、というメリットがあります。
(事前に接続して、ローカルリソースとして扱うこともできます)

リモートデスクトップでの設定

  1. リモートデスクトップを起動後、オプションを展開し、
    詳細な設定ができるようにします。
    ローカルリソースタブの詳細ボタンを押して設定画面を開きます。
  2. 後で接続するドライブにチェックを入れ、OKを押します。
    設定はこれだけです。

接続して確認

  1. 上記設定後のリモートデスクトップで接続します。
    初期状態では接続していないので、リモート機器が内蔵している
    ドライブのみが表示されます。
  2. ローカルにUSBメモリ等のリムーバブルメディアを挿します。
    今回はWindows Server 2012RCインストール用に作成したUSBメモリを使いました。
  3. リモート側の表示を更新すると、リムーバブルメディアが表示されます。

    念のため、中身を確認します。

    ファイルの日時を比較し、同じ物が見えていることが確認できました。

まとめ

この機能はリモートデスクトップのバージョンが6になった際に導入されたものなので、
2008年頃から今の今まで知らなかったということになりますね。

Windows8 RPとWindows Server 2012 RCをVHDブートで

のんびりやっているうちに、
Windows8はRelease Previewが、Windows Server 8は名前を変えて、
Windows Server 2012 Release Candidateが提供され始めました。

それに加えて、USBブート可能なUSBメモリを調達したので、
Windows8 RP、Windows Server 2012 RCを導入してみました。

Windows Server 2012のインストール用USBメモリ作成は、
64BitOSが必要なので、やや遠回りしています。

Windows 8 RPのブートメディアを作成する

こちらのページを参照して、
インストール用USBメモリを作成しました。
Windows8でも同じ手順で作成できます。

Windows8 RPをインストールする

USBメモリからブートするように起動オプションを設定し、
PCを起動します。
今回はVHDブートさせたいので、こちらの手順を参照しました。

Windows Server 2012 RCのVHD(英語版)を導入する。

今回の手順の肝です。
Windows Server 2008 R2環境などの64BitOS環境がある方は、
実施する必要はありません。
こちらからVHDをダウンロードし、VHDブートできるように設定します。
また、英語版で問題ない場合は、これで環境は完成だったりします。

Windows Server 2012 RCのブートメディアを作成する

Windows8 RPと同じ手順で作成できます。

Windows Server 2012 RCをインストールする

インストールもWindows8 RPと同じ手順でOKです。
これで、ようやく世の中に追いついた気がします。

さて、肝心のOSですが、
以前触ったベータ版とは随分感触が違います。
MetroなUIとか、基本的なところは同じですが、
細かい調整が入っていますね。

各所でレビューが進んでいるので、
それを眺めながら自分も触っていきたいと思います。

Windows8をVHDブートさせる(まだしてない)

タイトルの通り、VHDブートをさせようとして、
現時点でまだ上手くいっていないので、その経過をメモ的に投稿します。
相当初歩的なところでハマっていて、割と恥ずかしい気持ちだったりします。

試したことは以下です。

  1. Virtual PCでの環境構築
    Virtual PC側が対応していないのでインストールできません。
    可愛げのあるブルースクリーンが表示されたりします。
  2. Windows7をアップグレード
    物理マシン上でないと対応していない手法です。
    インストーラーのチェックで弾かれてしまいます。
  3. Hyper-Vでの環境構築
    これ自体は上手くいきます。
    しかし、手元に持ってきてVHDブートさせようとすると、
    BootManagerレベルで弾かれてしまいます。
    過去に実施したときは、この手順ですんなりとVHDブートにたどり着いたのですが、
    改めて実施すると何故かうまくいかない。

3については実績があるだけに、

  • Windows8をいれたての状態
  • Windows8をセットアップした後

と試してみたのですが、いずれも上手くブートできません。

さて、この先の方向性はどうしようかと思案中です。
Windows8でVS11とSS2012を入れた環境が欲しいので、
後はインストールメディアを作って対応しようかと思います。

VHDブートで開発環境を作る

前回の投稿で構築したVirtual PC環境で仮想マシンを構築し、
VHDブートが可能な環境を構築することにしました。

環境

以下を使用しています。

  • Lenovo Thinkpad X220
    CPU、Core i5-2520M、メモリ:2GB、HDD
  • Winodws7 Professional(ホスト、OEM)
  • Windows7 Ultimate(ゲスト、ISOイメージ)

仮想マシンを作成する

こちらを参考に作成しました。
メモリが少ないので、1GBをゲストに割り当てると仮想マシンが起動できませんでした。
起動可能ラインの800MB程度を割り当てて作業しました。
後でVHDブートしちゃうので、とりあえずOSが入れば、
推奨メモリサイズでなくたっていいのです。

もう1点、VHDについては、固定容量で作成しました。
必ず、というわけではないようですが、可変容量だと
VHDブートできないケースがあります。

仮想マシンにOSをインストールする

仮想マシンの設定から、ISOイメージを割り当てて、
インストールをします。
通常のOSインストールと差異はありません。

VHDブートに備えてレジストリを修正する

仮想マシンにWindows7をインストールした場合、
SATAのストレージドライバーが無効になります。
VHDブートする際に必要になりますので、
レジストリを修正して有効化します。

キー:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
値:Start
データ:0(「3」が無効)

レジストリ修正後、仮想マシンはシャットダウンします。

bcdeditでブートエントリーを作成する

コマンドプロンプトからbcdeditを利用して、
ブートエントリーを作成します。

bcdeditを使用するためには、
コマンドプロンプトを管理者権限で実行する必要があります。
個人的に気に入っているのは、
スタートメニューのプログラムの検索と実行で、
cmd.exeを検索し、Ctrl+Shiftを押しながら実行する方法です。

エントリーの作成方法はこちらを参考にしました。
特に修正することなく、紹介されているコマンドで作成できます。

なお、VHDファイルのパス設定を間違った場合、
ブートエントリー表示時に対象VHDファイルが読み込めないため、
起動時にエラーが表示されたりします。

無事エントリーが作成できたらVHDブートで
OSを起動します。

ドライバー類をホストOSから導入する

仮想マシンでインストールした場合、
各種ドライバーは仮想マシン向けに設定されているため、
デバイスマネージャー上には「!」が沢山出ています。
通常のOSインストールであれば、
個別にドライバーをインストールしていくところですが、
必要なドライバーは全てホストOSが持っていますので、
それを利用してドライバーを更新していきます。

ここまでくれば、ほぼ、ホストOSと変わらない使い勝手になるはず。
あとは、開発環境をインストールして完了です。

まとめ

ネット上には関連する情報がたくさんあり、
迷うことなく環境を構築できました。

OA環境を複数持つメリットはないと思いますが、
OA環境と開発環境を綺麗に切り分けたい等のケースで、
非常に役立つと思います。

さて、次は同じ手順でWindows 8 CPのVHDブートに挑戦する予定です。
以前、一度トライアルして成功しているのですが、
ちょっと気になることがあるので、再度取り組もうかと思った次第です。