運用
修復セットアップ完全マスター

3.システム修復ディスク(ERD)の中身と作成法

デジタルアドバンテージ
2001/03/20

 システム修復ディスク(ERD)は、現在のWindowsシステムの設定に関する情報を記録したフロッピー・ディスクである。システム修復処理時にこのフロッピーがあれば、その情報を基にしてシステム修復を行える(後述するように、システム修復ディスクがなくても、システムの修復を実行することは可能である)。

 ただし、Windows NT 4.0では、システムのインストール時にシステム修復ディスクの作成を促されたのだが、Windows 2000ではこれがなくなり、Windows 2000をインストールした後、付属のバックアップ・ユーティリティ(ntbackup.exe)から明示的に作成しなければならなくなった。具体的には、[スタート]メニューの[プログラム]−[アクセサリ]−[システム ツール]の[バックアップ]を起動し、[ウィザード]タブにある[システム修復ディスク]ボタンをクリックする。

Windows 2000に標準付属するバックアップ・ユーティリティ
システム修復ディスクを作成するには、このバックアップ・ユーティリティを起動し、[ウィザード]タブの[システム修復ディスク]のボタンをクリックする。
  システム修復ディスクを作成するには、このボタンをクリックする。

 すると次のダイアログが表示される。

レジストリのバックアップ作成を確認するダイアログ
ここで[修復ディレクトリのレジストリのバックアップも〜]チェックボックスをオンにすると、現在のレジストリの内容がハードディスクの別の場所にコピーされる(バックアップされる)。
  このチェックマークをオンにすると、現在のレジストリの内容が%SystemRoot%\Repair\RegBackディレクトリにコピーされる(バックアップされる)。

 このダイアログで[修復ディレクトリのレジストリのバックアップも〜]チェックボックスをオンにして[OK]ボタンをクリックすると、現在のレジストリ・ファイルが%SystemRoot%\Repair\RegBackディレクトリにコピーされる。なお%Systemroot%\Repairディレクトリには、Windows 2000をインストールした直後のレジストリ・ファイルがバックアップされている。以後、レジストリの損傷が原因でシステムが起動不能になったときなどは、こうしてバックアップされたレジストリ・ファイルを使ってレジストリを修復できるようになる。またこの方法以外にも、バックアップ・ユーティリティでは、[バックアップ]タブのドライブ選択用ツリーにある[システム状態]をチェックしてバックアップ処理を行うことで、現在のレジストリ・ファイルを%SystemRoot%\Repair\RegBackディレクトリにバックアップすることができる。

 作成されたシステム修復ディスクには、次のファイルが収められている。

ファイル名 内容
Autoexec.nt ハードディスク内の%SystemRoot%\System32\Autoexec.ntファイルのコピー。このファイルはMS-DOS環境を初期化するときに使用される
Config.nt ハードディスク内の%SystemRoot%\System32\Config.ntファイルのコピー。このファイルはMS-DOS環境を初期化するときに使用される
Setup.log Windows 2000インストール時にハードディスクにコピーしたファイルと、各ファイルのCRC(Cyclic Redundancy Check)情報を一覧にしたログ・ファイル。このCRC情報を使用して、ディスク内のファイルが正常かどうかが確認される
システム修復ディスクの内容

 このうちAutoexec.ntとConfig.ntファイルは、MS-DOS環境を初期化するとき(MS-DOS用の仮想マシンを起動するときに)に参照されるファイルである。

@echo off

REM AUTOEXEC.BAT is not used to initialize the MS-DOS environment.
REM AUTOEXEC.NT is used to initialize the MS-DOS environment unless a
REM different startup file is specified in an application's PIF.

REM Install CD ROM extensions
lh %SystemRoot%\system32\mscdexnt.exe

REM Install network redirector (load before dosx.exe)
lh %SystemRoot%\system32\redir

REM Install DPMI support
lh %SystemRoot%\system32\dosx
autoexec.ntファイルの例
 
EMM=RAM
dos=high, umb
device=%SystemRoot%\system32\himem.sys
devicehigh=%SystemRoot%\system32\ntfont.sys
devicehigh=%SystemRoot%\system32\font_win.sys
devicehigh=%SystemRoot%\system32\$disp.sys /hs=%HardwareScroll%
devicehigh=%SystemRoot%\system32\disp_win.sys
devicehigh=%SystemRoot%\system32\kkcfunc.sys
FILES = 45
device=%SystemRoot%\system32\MSIMEK.SYS /A1
devicehigh=%SystemRoot%\system32\MSIMEI.SYS /D*%SystemRoot%\system32\MSIMER.DIC /D%SystemRoot%\system32\MSIME.DIC /C1 /N /A1
config.ntファイルの例(一部抜粋)

 このようにautoexec.ntとconfig.ntファイルは、それぞれMS-DOS時代のautoexec.batとconfig.sysファイルに相当するものだ。Windows NT(Windows 2000)では、MS-DOS環境を初期化するときには(command.comプログラムを起動するときには)、これらのファイルが最初に読み込まれ、その初期設定が行われる。

 残るSetup.logは、Windows 2000のインストール時に、ハードディスク内にコピーされたシステム・ファイル一覧と、各ファイルのCRC(Cyclic Redundancy Check)が記録されたものだ。システム修復処理では、このCRC情報を利用して、ハードディスク内のファイルが不正でないかどうかを検査する。このSetup.logファイルは%SystemRoot%フォルダに存在するが、不可視属性が付けられているので、エクスプローラの設定で「不可視属性ファイルも表示する」というオプションを明示的に指定していなければ表示されない。Setup.logファイルの内容は次のようなものだ。

[Paths]
TargetDirectory = "\WINNT"
TargetDevice = "\Device\Harddisk0\Partition1"
SystemPartitionDirectory = "\"
SystemPartition = "\Device\Harddisk0\Partition1"
[Signature]
Version = "WinNt5.0"
[Files.SystemPartition]
NTDETECT.COM = "NTDETECT.COM","f41f"
bootfont.bin = "bootfont.bin","2b4ba"
ntldr = "ntldr","3d904"
arcsetup.exe = "arcsetup.exe","379db"
arcldr.exe = "arcldr.exe","2eca9"
[Files.WinNt]
\WINNT\system32\drivers\kbdclass.sys = "kbdclass.sys","c2c4"
\WINNT\system32\drivers\mouclass.sys = "mouclass.sys","7860"
\WINNT\system32\drivers\openhci.sys = "openhci.sys","e3d1"
\WINNT\system32\drivers\usbd.sys = "usbd.sys","5465"
\WINNT\system32\drivers\hidparse.sys = "hidparse.sys","e513"
\WINNT\system32\drivers\hidclass.sys = "hidclass.sys","eeda"
\WINNT\system32\drivers\usbhub.sys = "usbhub.sys","a7a2"
\WINNT\system32\drivers\hidusb.sys = "hidusb.sys","c106"
\WINNT\system32\drivers\pciide.sys = "pciide.sys","c921"
\WINNT\system32\drivers\pci.sys = "pci.sys","19b06"
\WINNT\system32\drivers\isapnp.sys = "isapnp.sys","16146"
\WINNT\system32\drivers\aic78u2.sys = "aic78u2.sys","1e363"
\WINNT\system32\KBDJPN.DLL = "KBDJPN.DLL","34af"
\WINNT\system32\drivers\mouhid.sys = "mouhid.sys","baa1"
\WINNT\system32\drivers\i8042prt.sys = "i8042prt.sys","15161"
Setup.logファイルの例(一部抜粋)

 すでに述べたとおり、前バージョンのWindows NT 4.0でもシステム修復ディスクはあったが、ディスク内に収録される情報はWindows 2000で大幅に簡略化された。Windows NTでは、レジストリ・ファイルそのものがディスクに記録されていたが、Windows 2000では、バックアップ用のレジストリ・ファイルはハードディスク中の%SystemRoot%\Repair\RegBackディレクトリに保存されるようになった(Windows 2000インストール時点でのレジストリ・ファイルは%SystemRoot%\Repairディレクトリにある)。ご承知のとおり、レジストリはWindowsシステムに関するあらゆる情報を記録したデータベース・ファイルで、OSの高機能化に伴って、サイズがどんどん大きくなっている。システムの状態にもよるが、場合によっては(圧縮しても)1.44Mbytesフロッピーに収まりきらないレベルにある。したがってレジストリ・データそのものをフロッピー・ディスクに収めることは不可能になってしまったというわけだ。上の表からも分かるとおり、システム修復ディスクを作成しても、データ自体をバックアップしたわけではないので注意が必要である。より確実に障害から復旧できるようにするには、バックアップ・ユーティリティなどで重要なファイルのバックアップを定期的に作成しておく必要がある。

 また前述のとおり、バックアップ・ユーティリティで[システム状態]を実行すれば、その時点のレジストリの内容が前出のディレクトリにバックアップされる。レジストリが破損してシステムが起動できないのなら、こうしてバックアップされたレジストリを手作業で復帰するという方法もある。ただしこれには、回復コンソールを使用する必要がある。

 なおシステム修復ディスクは、その性格上、システムの最新の状態を記録しておかなければならない。したがってWindows 2000のインストール後、システム構成を変更したとき、具体的には、ServicePackを組み込んだときや、新しいデバイス・ドライバを組み込んだときなどには、再度バックアップ・ユーティリティから最新のシステム修復ディスクを作成する必要がある。


 INDEX
  [運用]修復セットアップ完全マスター
    1.Windows 2000セットアップのフロー
    2.修復セットアップを開始する
  3.システム修復ディスク(ERD)の中身と作成法
    4.システム修復ディスクがないとき
    5.in-place upgradeを実施する
 
 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間