回復コンソールをインストール・利用する [WinXP]
○回復コンソールをインストールする
基本的な方法は
1. i386フォルダにあるwinnt32.exeを見つけて、コマンドプロンプトなどから「[フォルダパス]\winnt32.exe /cmdcons」を実行。
2. 「コンピュータの Windows のバージョンが CD にあるバージョンよりも新しいため、セットアップを続行できません。」
というメッセージが表示されるが「OK」をクリック。
次の画面で「はい」をクリックするとインストールが始まる。
○winnt32.exeの場所について
・Microsoft純正のWindows XPのインストールCDがある場合(パッケージ版、DSP版Windows XPがある)
インストールCDのCDブートから回復コンソールを起動できるため、そもそもインストール作業を行う必要はないが、
一応次のようにしてハードディスクにインストールすることができる。
コマンドプロンプトを開いて「E:\i386\winnt32.exe /cmdcons」を実行(EはCDドライブ文字。)
・Microsoft純正のWindows XPのインストールCDがない場合(その機種専用のリカバリCD or DVDがある)
これは場合によって様々。
そのリカバリディスクにi386フォルダ(Windowsのインストールに必要なファイルが入っているフォルダ)があればその中にwinnt32.exeがあるはずなので、基本例のようにコマンドを実行する。
もしくはWindowsのインストール先にi386フォルダが含まれていることがあるので、
「C:\Windows\i386\winnt32.exe /cmdcons」を実行する。
※もしバージョンの違い云々のメッセージで回復コンソールをインストールできない場合
→ http://support.microsoft.com/kb/900871/
概略すると、元のi386フォルダを別の場所にコピーしてそこにサービスパック内のファイルを解凍・上書きするということ(けっこう面倒。)
リンク先やファイル名がService Pack 2のものになっているので注意してください。
○回復コンソールを削除する方法
→ http://support.microsoft.com/kb/216417/
○回復コンソールの使い方
→ http://support.microsoft.com/kb/314058/
といっても何のこっちゃなので、いくつかの利用例を紹介します。
(事前)・・・問題が起きる前にあらかじめ行うべきこと。
(事後)・・・問題が起きた後に行うべきこと。
※回復コンソールでのシステムの修復はあくまでも最終手段。
ブート関連の問題を除いて、Windowsやシステムの復元が使えるのであればできるだけそちらを使った方がいいでしょう。
i) 回復コンソールからリムーバブルメディアへファイルをコピーするための準備(事前、必須ではない)
セキュリティ上の観念から、デフォルトの設定ではリムーバブルメディアにファイルをコピーすることができないように設定されている。
→ http://support.microsoft.com/kb/240831/
XP Home Editionの場合は管理ツールを通してのセキュリティポリシーの変更はできないため、以下のようにする。
1. レジストリエディタを開く
2. HKEY_LOCAL_MACHINE→Software→Microsoft→Windows NT→CurrentVersion→Setup→RecoveryConsole とたどる。
3. DWORD値で「SetCommand」を新規作成。値は"1"に設定(16進数、10進数の選択はどちらでもよい。)
4. DWORD値で「SecurityLevel」を新規作成。値は"1"に設定(回復コンソール起動時にAdministratorのパスワードを要求しなくなる。)
5. 回復コンソールを起動してコマンドラインに次のように入力して実行する。これはProfessionalと共通。
set AllowRemovableMedia = true
他にも隠しオプションがあり、次のコマンドを実行することで有効になる。
set AllowAllPaths = true
・・・全てのフォルダ、ファイルにアクセスできるようにする。
set AllowWildCards = true
・・・dirやdelコマンドでワイルドカードを使用できるようにする
set NoCopyPrompt = true
・・・受け側の既存のファイルを上書きする前に確認のメッセージを表示しない
ii) レジストリをバックアップする(事前、定期的に行うとよい)
md c:\windows\system32\config\bak
copy c:\windows\system32\config\system c:\windows\system32\config\bak\system
copy c:\windows\system32\config\software c:\windows\system32\config\bak\software
copy c:\windows\system32\config\sam c:\windows\system32\config\bak\sam
copy c:\windows\system32\config\security c:\windows\system32\config\bak\security
copy c:\windows\system32\config\default c:\windows\system32\config\bak\default
bakフォルダを作ってその中にsystem, software, sam, security, defaultという5つのファイルをコピーするという操作。
1行目のコマンドは最初のバックアップの時だけ実行、次回からは実行する必要はない。
非常に長くて打つのも面倒なので、あらかじめこれらのコマンドをテキストファイルに入れて適当な場所に保存。回復コンソール上でbatchコマンドを利用すると楽。
iii) レジストリを復元する(事後)
条件:先ほどの手順でレジストリをバックアップしてあること。事後にバックアップしても意味ナイヨ。
copy c:\windows\system32\config\bak\system c:\windows\system32\config\system
copy c:\windows\system32\config\bak\software c:\windows\system32\config\software
copy c:\windows\system32\config\bak\sam c:\windows\system32\config\sam
copy c:\windows\system32\config\bak\security c:\windows\system32\config\security
copy c:\windows\system32\config\bak\default c:\windows\system32\config\default
バックアップファイルを元のファイルに上書きするだけのこと。
iv) 手動でシステムの復元ポイントからレジストリを復元する(事後)
条件:復元ポイントを作成しない設定になってないこと(=1つ以上の復元ポイントが存在すること。)
→ http://support.microsoft.com/kb/307545/
復元ポイントのデータにあるレジストリのファイルをそのままc:\windows\system32\configフォルダ内に持ってくるだけのことだが、
回復コンソール上ではできない作業があるために初期状態のレジストリでWindowsを起動するという回り道をせねばならず、そのために何度もレジストリファイルを移動することになる。
とても面倒くさそうな作業。
(iii)の方法で復旧できた場合はこの手順を行う必要はない。
v) ファイルテーブルを修復する(事後)
コマンド「chkdsk /f [ドライブ名:]」を利用する。
順序では障害発生後一番最初にすべきことですが位置関係上ここで挙げています。
vi) boot.iniを修復する(事後)
コマンド「bootcfg」を利用する。
→ http://support.microsoft.com/kb/291980/
vii) ブートローダーを修復する(事後)
条件:ブート領域がウイルスに感染していないこと。Vista以降のWindowsやWindows以外のOSがインストールされていないこと。
コマンド「fixmbr」と「fixboot」を利用する。
→ http://support.microsoft.com/kb/314503/
viii) サービスパックをアンインストールする(事後)
SP2→ http://support.microsoft.com/kb/875350/
SP3→ http://support.microsoft.com/kb/950249/
回復コンソール用のバッチファイルを実行。完了後Windowsを起動できるようになるので、Windows上で通常通りサービスパックのアンインストールをするという作業。
Windows Update、オフラインインストーラ等でインストールしたサービスパックのみアンインストールできる。
初めからService Pack 2がプリインストールされているパソコンでService Pack 2をアンインストールすることはできない。
私はSP2とSP3の2度インストールに失敗して起動できなくなったことがあるのですが、2度ともこの手順で無事に復旧できました。
その後再度サービスパックをインストールしてみましたが、特に問題は起きませんでした。
ix) 問題を起こしているサービス、デバイスドライバを無効にする(事後、かなり上級者向け)
コマンド「listsvc」「enable」「disable」を利用する。
自分が使っているパソコンをそれなりに把握、かつ何らかのシステムサービスやデバイスドライバが問題を起こしているとわかるのであれば、このコマンドを活用する。
過去に一度だけこのコマンドを活用して復旧させたことがありますが、どういう状況でどうやったのか忘れました。何かのデバイスドライバがWindows起動の邪魔をしてて、それを無効にしたような。。。
回復コンソールでできることと言ったらこれくらいしか思い当たりません。
あとはパーティションやファイルの簡単な操作くらい?
それ程度のことなら回復コンソールよりもLinux系OSのLiveCDを使った方が早いような。
なお、システムファイルを自動で修復してくれるシステムファイルチェッカー(sfc.exe)は回復コンソール上では使えません。
回復コンソールは一見コマンドプロンプトのようですが、WindowsではないのでexeなどのWindowsアプリケーションを実行することはできません。
(ウィンドウを開く、開かない、コマンドプロンプト上で利用、のいずれのWindowsアプリケーションも回復コンソールでは実行できません。)
Vistaや7のシステム回復オプションは特殊な仕様ではあるものの、れっきとしたWindowsであるためシステム回復オプション上のコマンドプロンプトでもWindowsアプリケーションを実行できます。