|
|
| 拡大写真 |
| 表2:オフラインで編集可能なレジストリハイブとレジストリツリー |
【詳細画像を含む記事】
本稿はWindows PE 2.0ベースの以下の記事の更新版となります。Windows 7 Service Pack(SP)1に対応した最新のWindows PE 3.1に関する情報を提供します。
■Windows PE 完全活用ガイド[URL]http://www.computerworld.jp/topics/mws/164289.html
データ救出、HDDの引っ越し、P2Vなどに徹底活用
[活用テクニック-その1]
レジストリをオフラインで編集
Windowsの「レジストリ」は、システム(OS)およびアプリケーションの構成が格納されている、非常に重要なデータストアです。何らかの理由でレジストリに不適切な値が書き込まれると、Windowsが正常に起動できなくなる場合もあります。
レジストリの編集ツールである「レジストリエディター(Regedit.exe)」は、既定では稼働中のシステムのレジストリを読み込みます。しかし、一部のレジストリについてはオフラインのWindowsイメージからレジストリハイブファイルをロードすることで、編集することができます。
レジストリハイブファイルは、Windowsのインストール先ドライブの「Windows¥System32¥Config」フォルダ内に格納されています。オフラインで編集可能なレジストリハイブファイルと対応するレジストリツリーは、表2のとおりです。
このほかのレジストリツリー、例えば「HKEY_LOCAL_MACHINE¥SAM(%SYSTEMROOT%¥System32¥Config¥SAM)」、「HKEY_LOCAL_MACHINE¥SECURITY(%SYSTEMROOT%¥System32¥Config¥SECURITY)」、「HKEY_CURRENT_USER(%USERPROFILE%¥NTUSER.DAT)」は、オフラインで編集することができないので留意してください。
一例として、Windows PEを使用して、オフラインのWindowsイメージの「HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet」下のレジストリキーを編集する方法を説明します。
■オフラインのレジストリの編集手順
(1)Windows PEのブータブル(起動可能)メディアを使用して、コンピュータを起動します。
(2)「DISKPART」コマンドを使用して、ローカルハードディスクのドライブ文字を調べ、Windowsがインストールされているドライブを特定します。
【ボリューム構成の確認】DISKPARTDISKPART>LISTVOLUMEDISKPART>EXIT
(3)「REGEDIT」コマンドを実行し、レジストリエディターを起動します。起動したレジストリエディターには、“実行中のWindows PEのレジストリ”が読み込まれていることに注意してください。
(4)レジストリエディターの左ペインで「コンピューター¥HKEY_LOCAL_MACHINE」のノードを選択した状態で、「ファイル」メニューから「ハイブの読み込み…」をクリックします。
(5)ファイルの選択ダイアログボックスが開くので、手順(1)で確認したWindowsのインストール先ドライブの「Windows¥System32¥Config」フォルダを開き、ファイル「SYSTEM」を選択して「開く」をクリックします(画面29)。
(6)「ハイブの読み込み」ダイアログボックスに「キー名」の入力が求められます。オフラインのレジストリであることを示すわかりやすい名前を入力して、「OK」をクリックします(画面30)。
(7)「コンピューター¥HKEY_LOCAL_MACHINE¥<手順(6)で指定したキー名>」の下に、オフラインのWindowsの「HKEY_LOCAL_MACHINE¥SYSTEM」キーが読み込まれ、編集可能になります(画面31)。
なお、「HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet」キーは、コンピュータ起動時に「HKEY_LOCAL_MACHINE¥SYSTEM¥ControlSet001」から生成されるため、オフラインのレジストリには存在しません。「CurrentControlSet」キー下のレジストリを編集する場合は、「ControlSet001」キー下のレジストリを編集します。
(8)レジストリの編集が終了したら、「コンピューター¥HKEY_LOCAL_MACHINE」のノードを選択した状態で、「ファイル」メニューの「ハイブのアンロード…」をクリックし、ハイブファイルをアンロードします。
[活用テクニック-その2]
更新プログラムをオフラインで削除
Windows 7およびWindows Server 2008 R2では「DISM」コマンドの機能が拡張されたことで、オンラインまたはオフラインのWindowsに対して、Windowsの機能の追加や削除、更新プログラムのインストールやアンインストールが実行できるようになりました。
Windows PEで起動したコンピュータにWindows 7またはWindows Server 2008 R2がインストールされている場合は、ここで説明する方法で機能や更新プログラムを削除することで、正常起動を阻んでいるトラブル(機能や更新プログラムに起因する問題の場合)から回復できる可能性があります。
Windows 7の機能およびWindows Server 2008 R2の役割と機能のインストール状況の確認、追加、削除は、次のコマンドラインで実行できます。
【機能、役割の確認】DISM/image:<オフラインのWindowsのドライブ名:>/Get-Features
【機能、役割の追加】DISM/image:<オフラインのWindowsのドライブ名:>/Enable-Feature/FeatureName:<機能名(/Get-Featuresで確認可)>
【機能、役割の削除】DISM/image:<オフラインのWindowsのドライブ名:>/Disable-Feature/FeatureName:<機能名(/Get-Featuresで確認可)>
オフラインイメージの更新プログラムのインストール状況の確認、オフラインイメージに対する更新プログラムのインストール、オフラインイメージからの特定の更新プログラムのアンインストールは、次のコマンドラインで実行できます(画面32、33)。
【更新プログラムの確認】DISM/image:<オフラインのWindowsのドライブ名:>/Get-Packages
【更新プログラムの追加】DISM/image:<オフラインのWindowsのドライブ名:>/Add-Package/PackagePath:<更新プログラムのファイル名.msu>
【更新プログラムの削除】DISM/image:<オフラインのWindowsのドライブ名:>/Remove-Package/PackageName:<パッケージ名(/Get-Packagesで確認可)>
オフラインイメージに対するこれらの操作は、Windows Vista以前やWindows Server 2008以前に対しては実行できないことに注意してください。
[活用テクニック-その3]
ImageXを使用したデータの救出
「Windows自動インストールキット(WAIK)」に含まれる「ImageX」ツールは、ハードディスク上のファイルシステムをイメージ化して、WIM(Windowsイメージング)ファイルを作成する機能と、WIMファイルからハードディスクにイメージを展開する機能を備えています。Windowsのイメージ展開のための中心的なツールがImageXになります。
正常に起動しなくなったコンピュータをWindows PEで起動し、ImageXツールを使用してディスク全体のイメージを取得することで、重要なデータを救出できる可能性が高まります。もちろん、「COPY」コマンドや「XCOPY」コマンド、「ROBOCOPY」コマンドを使用して、ファイルやフォルダ単位でデータを救出することも可能です。
ImageXツールを利用するメリットは、ボリューム全体を高速にイメージ化できる点にあります。データの救出は取得したイメージから落ち着いて作業できますし、アプリケーションやシステムファイルを含めて救出できる可能性もあります。また、ディスク不良が原因でシステムが不安定になった場合、ディスクアクセスが可能な(障害が軽度な)うちにすばやくデータを救出することができます。
ImageXツールを使用して、ボリュームのイメージをキャプチャするには、次のコマンドラインを実行します(画面34)。
【イメージの取得】ImageX/Capture<ドライブ文字:><WIMファイルのパス(.wim)>"<イメージの説明>"/check/verify
WIMファイルの保存先には、USB外付けハードディスクが使用できます。Windows PEはネットワーク機能も利用できるので、ファイル共有にWIMファイルを保存することもできます。
ボリュームのイメージを含むWIMファイルは、正常に動作するコンピュータ上で次のコマンドラインを実行することで、任意の場所に復元することができます。
【イメージの復元】ImageX/Apply<WIMファイルのパス(.wim)>1<展開先パス>/verify
データの一部を救出したいだけなら、次のDISMコマンドを実行して、正常に動作するコンピュータのローカルのファイルシステムに直接マウントするほうが簡単です(画面35)。なお、マウント先パスは事前に作成しておいてください。
【イメージのマウント】DISM/Mount-Wim/WimFile:<WIMファイルのパス(.wim)>/index:1/MountDir:<マウント先パス>
目的のデータを救出できたら、次のコマンドラインを実行して、WIMファイルをアンマウントします。なお、イメージに対する変更を保存したい場合は、「/discard」の代わりに「/Commit」オプションを使用します。
【イメージのアンマウント】DISM/Unmount-Wim/MountDir:<マウント先パス>/discard
DISMコマンドの代わりに、ImageXツールを使用して、マウント、アンマウントすることも可能です。
【ImageXによるマウント】ImageX/Mount<WIMファイルのパス(.wim)>1<マウント先パス>
【ImageXによるアンマウント】ImageX/UnMount<マウント先パス>
[活用テクニック-その4]
ハードディスクの交換
ImageXツールでディスクイメージをキャプチャしたWIMファイルは、キャプチャ元のディスクの“ほぼ完全”なコピー(「wimscript.ini」ファイルで除外されたものを除く)となります。
ディスク不良が軽微で、幸いにもWIMファイルの作成に成功した場合は、新しいハードディスクに交換してWIMファイルの内容を展開することで、コンピュータを完全に復旧できる可能性があります。
より大きなサイズのハードディスクに交換することで、空き領域が極端に不足した状態から、空き領域が十分確保された健全な状態に復旧することもできます。また、元のディスク使用率より大きなサイズであれば、小さなサイズのハードディスクやパーティションに復元することも可能です。
つまり、Windows PEとImageXツールは“ハードディスクの引越しツール”としても活用できるのです。
ここではWindows 7がインストールされたコンピュータのハードディスクを交換することを想定して、“引っ越し”の具体的な手順を説明します。
■ハードディスクの引っ越し手順
(1)対象のコンピュータをWindows PEのブータブルメディアで起動します。
(2)DISKPARTコマンドを使用して、ボリューム構成(ドライブ文字の割り当て)を確認します。
【ボリューム構成の確認】DISKPARTDISKPART>LISTVOLUMEDISKPART>EXIT
Windows 7の標準的なインストールでは、ディスクの前方に100MBのパーティション(ドライブ文字なし、管理ツール上では「システムで予約済み」と表示)が存在し、そこに「Windowsブートマネージャー(BOOTMGR)」と「ブート構成データ(¥BOOT¥BCD)」が配置されています。
そして、残りのパーティション(起動時のCドライブ)にWindowsとアプリケーションがインストールされています。Windows PEでコンピュータを起動すると、有効なパーティションにドライブ文字が順番に割り当てられるため、正常起動時とのドライブ文字の違いに注意してください。
(3)100MBのシステムで予約済みのパーティションがCドライブ、Windowsのパーティション(正常起動時のCドライブ)がDドライブの場合は、次のコマンドラインを実行して、ドライブごとにWIMファイルを作成します。単一のWIMファイルに複数のイメージを格納することもできますが、ここでは説明しません(「/Append」オプションを使用します)。
【Cドライブ(100MBのパーティション)のイメージを作成】ImageX/CaptureC:<保存先パス>¥HDD_BOOTVOL.wim"<イメージの説明>"/check/verify
【Dドライブ(Windowsのパーティション)のイメージを作成】ImageX/CaptureD:<保存先パス>¥HDD_CVOL.wim"<イメージの説明>"/check/verify
(4)「WPEUTIL SHUTDOWN」コマンドを実行して、コンピュータを停止し、新しいハードディスクに交換します。
(5)Windows PEのブータブルメディアを使用してコンピュータを起動します。
(6)DISKPARTコマンドを使用して、交換前の2つのパーティションを復元します(画面36)。
【パーティションの復元】DISKPARTDISKPART>LISTDISK(ディスク番号を確認します)DISKPART>SELECTDISK<ディスク番号>DISKPART>CREATEPARTITIONPRIMARYSIZE=100DISKPART>ASSIGNLETTER=SDISKPART>ACTIVEDISKPART>FORMATQUICK(100MBのアクティブパーティションを作成し、ドライブ文字Sまたは任意の文字を割り当て、クイックフォーマットします)DISKPART>CREATEPARTITIONPRIMARYDISKPART>ASSIGNLETTER=C:DISKPART>FORMATQUICK(残りの領域全体にパーティションを作成し、ドライブ文字Cまたは任意の文字を割り当て、クイックフォーマットします)DISKPART>EXIT
なお、この例では100MBのパーティションをSドライブ、残りのWindows用パーティションをCドライブとして構成していますが、このドライブ文字はWindows PE起動中の一時的なものです。任意の空きドライブ文字を使用してください。
(7)ImageXツールを使用して、作成した2つのドライブに対応するWIMファイルを展開します(画面37)。
【Sドライブのイメージを展開】ImageX/Apply<保存先パス>¥HDD_BOOTVOL.wim1S:¥/verify
【Cドライブのイメージを展開】ImageX/Apply<保存先パス>¥HDD_CVOL.wim1C:¥/verify
(8)BCDEDITコマンドを使用して、Windows 7の起動エントリ({default})を確認します。
【起動エントリの確認】BCDEDIT/STORES:¥BOOT¥BCDBCDEDIT/STORES:¥BOOT¥BCD/set{default}devicepartition=C:BCDEDIT/STORES:¥BOOT¥BCD/set{default}osdevicepartition=C:
「device」および「osdevice」の値が「unknown」となっている場合は、再設定が必要です。なお、「partition=C:」には、現在、Windowsのフォルダが存在するドライブ文字を指定してください。
(9)「WPEUTIL REBOOT」コマンドを実行して、Windows 7が正常に起動することを確認します。
[活用テクニック-その5]
物理マシンを仮想マシンにP2V変換
主要な仮想化テクノロジーには何らかの“P2V(物理-仮想)”変換機能が用意されています。例えば、System Center Virtual Machine Manager 2008 R2の「P2V変換ウィザード」、Windows Virtual PCやHyper-Vに対応した「Sysinternals Disk2vhd」([URL]http://technet.microsoft.com/ja-jp/sysinternals/ee656415)、ヴイエムウェアの「VMware vCenter Converter」([URL]http://www.vmware.com/download/converter/getconverter.html)などです。
P2V変換を行うと、簡単な手順で物理マシンを仮想マシンに変換することができます。これにより、老朽化したハードウェア上のシステムの延命や、ハードウェア保守契約の解除など、さまざまなメリットを得られます。
Windows PEとImageXツールは、P2V変換ツールとしても利用できます。しかも、移行先の仮想化テクノロジーは問いません。物理マシンからイメージをキャプチャし、作成したWIMファイルを、Windows PEブータブルメディアで起動した仮想マシンの仮想ハードディスクに展開すればよいのです(画面38)。
ディスクイメージを仮想マシン内に復元するだけならば、何も難しいところはありません。問題は、物理マシンと仮想マシンの“ハードウェアの違い”になります。仮想マシンを正常に起動するためには、少なくとも「HAL(Hardware Abstraction Layer:ハードウェア抽象化レイヤ)」の変更が必要になります。
Windows Vista以降およびWindows Server 2008以降の場合は、Windows PEブータブルメディアで起動した仮想マシン上で、次のコマンドラインを実行します(ブート構成データがCドライブ上にある場合)。これで、次回の仮想マシン起動時にHALの検出が行われ、適切なHALに入れ替えられます(画面39)。
【HAL検出の有効化】bcdedit/storeC:¥BOOT¥BCD/set{default}detecthalyes
仮想マシンに移行したOSの起動に成功したら、起動したOS上で次のコマンドラインを実行し、HALの検出を無効にします。
【HAL検出の無効化】bcdedit/deletevalue{default}detecthal
Windows XPおよびWindows Server 2003以前の場合は、HALの入れ替えが困難です。以下のサポート技術情報を参考にしてください。
■Windowsのインストールを別のハードウェアに移動する方法[URL]http://support.microsoft.com/default.aspx?scid=kb;ja;249694
■Windows XPおよびWindows Server 2003のBoot.iniファイルで使用可能なスイッチオプション[URL]http://support.microsoft.com/kb/833721/ja
■Windows XPまたはWindows Server 2003セットアップ後のHALオプション[URL]http://support.microsoft.com/kb/309283/ja
(山市 良/ライター)
【関連記事】
【連載 Windows Sysinternalsを使い倒せ 第4回】AdRestoreを使い倒せ! ~Active Directoryオブジェクトを復元する~
【Windowsお悩み相談室】第8回 Windows 7 SP1適用後、正常に起動できなくなった!
【Deep Dive】【解説】 詳細解説 Windows Server 2008 R2 SP1
【解説】カスタマイズも自由自在 ~ パフォーマンスモニタの正しい使い方
【解説】システム管理 完全自動化プロジェクト
「この記事の著作権はCOMPUTERWORLD.jp に帰属します。」
多機能ラップトップテーブル オ... 価格:4,680(税込、送料別) |