at posts/single.html

スパンボリュームの落とし穴 (3)

ダイナミックディスクの一部のパーティションを Windows のインストーラで削除したら、他のパーティション(スパンボリューム)も見えなくなった話。

メインで使っている PC の悪くなったので、 OS を入れなおそうと作業していたら大失敗してしまった。いつでも気軽に再インストールできるように、プログラムはCドライブに、データはDドライブに入れるようにしているんだけど、Cドライブのパーティションを削除したら、Dドライブまで見えなくなってしまった。

新しく買ってきたHDDにOSをインストールして復旧を試みていたんだけど、ようやくデータを復旧できた。 最終的にやったことは、 DiskProbe を使って MBR のシステム ID を NTFS からダイナミックディスクに書き換えただけ。 以下のサイトが参考になった。

ディスクの管理ツールで、システム ディスクまたはブート ディスクが "ダイナミック"、" 読み込み不能" と表示される

この問題は、Windows 2000 を再インストールし、セットアップ中にダイナミック ディスク上のボリュームを削除して再作成した場合、または、Fdisk など、他のディスク パーティション ツールを使用して新しいパーティションを作成した場合に発生することがあります。Windows 2000 のセットアップやその他のディスク パーティション ツールで作成できるのは、ベーシック パーティションのみです。

Windows 2000 の外部のダイナミック ディスクにパーティションを作成したり、セットアップ中にパーティションを作成したりすると、ダイナミックとベーシックの両方のパーティション テーブル エントリを持つディスクが作成されます。Windows 2000 のセットアップ中にボリュームを再作成すると、パーティションのシステム ID バイトが 0x42 (種類 : ダイナミック) からベーシック パーティションのシステム ID バイトに変更されます。

この問題を回避するには、DiskProbe (Dskprove.exe) などのディスク編集ツールを使用して、マスタ ブート レコード (物理ディスクのセクタ 0) のコピーをフロッピー ディスクに保存します。その後、問題のシステム パーティションまたはブート パーティションのシステム ID の種類を 0x42 に戻します。

データを残したまま、ダイナミックディスクをベーシックディスクに変換する方法にダイナミックディスクとベーシックディスクの MBR の違いが載っていてとても参考になった。 ここに書かれていることの逆をやった感じ。 (もともと消す予定だった)C ドライブは見えなかったけど、(消す予定の無かった)Dドライブのスパンボリュームは見えた。 本当に良かった…。

関連する日記