ThinkPad X40 でリカバリ CD を作らずに Linux 等をインストールした場合の Windows のリストア方法
■ ThinkPad X40 でリカバリ CD を作らずに Linux 等をインストールした場合の Windows のリストア方法
X40 で Windows を消去して Linux を入れた場合、 リカバリ領域から Windows をリストアしようとしても以下のエラーで止まってしまいます。
STOP: c000021a {Fatal System Error}
The Session Manager Initialization system process terminated unexpectedly with a status of 0xc000003a (0x00000000 0x00000000).
The system has been shut down.
もし、リカバリ CD を作っていれば簡単にリストアすることが出来るのですが、 リカバリ CD を作らなかった場合のリストア方法です。
■ 開始時のステータス
以下の条件下で Windows XP をリストアします。
- リカバリ領域 (HDD の後ろ 5GB) を残しつつ Linux をインストールしている。
- 諸般の事情で Windows XP をリカバリしないといけない。
- リカバリが上記のエラーで起動しない。
- 無論リカバリ CD なんて作ってない。
- 手元に X40 は一台なので他のマシンでリカバリ CD 作るのは無理。
- 手元には Windows XP Professional のメディアも無い。
- 手元に「別のマシン」 or 「外付け HDD のような別メディア」がある。
リストアの途中で一度リカバリ領域を別メディアに退避させる必要があるので、 別のマシンか外付け HDD などが必要になります。
■ RRRR について (1)
- ウィンドウシステムやリカバリ等に使用するファイルは「ディスク上の最初の FAT32 (or NTFS) パーティション」にあるファイルを使う。
- リカバリしても MBR は復旧しない
例えば、パーティション構成が以下の場合、
- /dev/hda1: FAT32 [30GB]
- /dev/hda3: reiserfs [5GB]
- /dev/hda2: RRRR 領域 (System ID = 0x12) [5GB]
■ RRRR について (2)
- ブートメニューを表示
- RRRR が選択された場合、/dev/hda1 の System ID を 0x12、 /dev/hda2 を 0xc (FAT32) に変更して RRRR を起動
そこで、以下の作戦を取ることでリストアを可能にします。
- RRRR 領域の System ID を 0xc に変更する
- RRRR 領域がディスク上の最初の FAT32 パーティションになるように調整する
■ RRRR について (3)
- MBR に grub をインストールしている
- ディスク全体をリカバリする
- Linux パーティション (grub の stage2 があるパーティション) が消える
- MBR は grub のまま
- grub が stage2 に行けずにブート不可
そのため、Linux のパーティションを保存したまま、ディスクの一部分に Windows をリストアする必要があります。
■ 復旧作業(1)
# dd if=/dev/hda2 of=thinkpad-x40-hda2.image
これで thinkpad-x40-hda2.image なる 5GB のファイルが得られます。
このファイルが無くなるとリストアが不可能になってしまうので、慎重に扱いましょう。
(逆にコレさえあれば、どんな状態からも復旧可能)。
このファイルを他のマシンやメディアに退避させます。 (ファイル退避の例)
# lftp tekezo@backup.lan.tkym.org > put thinkpad-x40-hda2.image
■ 復旧作業(2)
パーティションの調整を行うために Linux を再インストールします。
以下のパーティションになるようにインストールしましょう。
このインストールで RRRR 領域が消去されます。 インストールする前に RRRR 領域のリストアをお忘れなく。Device Boot Start End Blocks Id System /dev/hda2 * 19377 38752 9765504 c W95 FAT32 (LBA) /dev/hda3 38753 58128 9765504 83 Linux /dev/hda4 58129 77520 9773568 c W95 FAT32 (LBA)
- /dev/hda2 は RRRR 領域として使う
- /dev/hda4 はリカバリの際に「ディスク全体のリカバリ」をさせない為のダミーパーティション
■ 復旧作業(3)
RRRR のイメージを /dev/hda2 にコピーします。
thinkpad-x40-hda2.image を復旧してから以下のコマンドを実行します。
# dd if=thinkpad-x40-hda2.image of=/dev/hda2 bs=8192
■ 復旧作業(4)
RRRR を grub からブート可能します。 /boot/grub/menu.lst に以下の内容を追加。
title RRRR root (hd0,1) makeactive chainloader +1
■ 復旧作業(5)
■ 復旧作業(6)
とりあえず Windows XP が起動するので、自動パッチ当てとかを見守ります。
自動パッチ当ての最中に RRRR 領域の System ID 0xc から 0x12 に戻す作業があるようで、 特定の再起動のタイミングで grub が stage2 に進めなくなります。
そうなったら Linux を /dev/hda3 に入れ直して grub を復旧させます。
■ 復旧作業(7)
購入時の状態に戻っているので Windows XP を起動してからリカバリ CD の作成を行います。
リカバリーCDの作成手順 をもとにディスクを作成します。
■ 復旧作業(8)
最後にリカバリ CD から復旧を行うと MBR を含めた全領域が出荷時に戻ります。
Comments for This Page. Date: 2004-09-15 00:00 (JST)

