2011.4.23
前へ
次へ
ホームページトップへ戻る

標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)

[第784回]

●システムイメージの作成(複数のハードディスクの問題)

前回までのお話の続きになります。
解決編です。
[第782回]でDVD−R 7枚に作成したシステムイメージから、前回([第783回])別のパソコン(Windows7組立キット)にシステムを復元しようとしたところ、「必要なハードディスクが足りません」という意味にとれるエラーメッセージが表示されて、復元ができませんでした。
しかし念の為に、テストのためにWindows7組立キットにハードディスクを2台接続して、その状態でシステムイメージをDVD−R上に作成し、ハードディスクを1台にしてから、そこにDVD−Rからシステムを復元してみましたところ、エラーにはならずに復元できてしまいました。
システムイメージを作成したときにハードディスクを2台接続していても、それを復元するときに、同じようにハードディスクを2台接続していなければならない、ということではないようです。
それならばなぜ[第782回]でDVD−R 7枚に作成したシステムイメージからシステムを復元しようとしたら、「ハードディスクが足りません」というエラーメッセージが出てしまったのでしょうか?
その疑問を解く鍵は、どうやらこの表示(下図)にありそうです、というところで前回は終わりました。

これは[第782回]でシステムイメージをDVD−R上に作成するときに表示されたものです。
この表示を見たときに、ふむ?と一瞬思ったのですが、そのときはそのまま先へ進んでしまいました。
この表示は確かにおかしかったのです。

あ。その前にWindows7のシステムイメージの作成についての重要事項をここで整理しておくことにいたします。

まずその第1です。
前回説明しましたように、作成したシステムイメージからシステムを復元するときは、システムイメージを作成したときのハードディスクのサイズと同じかそれより大きいサイズのハードディスクにしか復元をすることはできません。

第2です。
システムイメージを作成するときには、「システムで予約済み」の領域とシステムドライブ(通常C:ドライブ)は必ずシステムイメージに含まれます。
この2つを除外することはできません。

第3です。
システムイメージを作成するときに、「システムで予約済み」の領域とシステムドライブ(通常C:ドライブ)以外のパーティション(ボリューム、ドライブ)を含めることはできますが、復元するときに、そのシステムイメージから任意のパーティションだけを取り出して(部分的に)復元することはできません。

第4です。
システムイメージを作成するときにハードディスクの一部のパーティションのみを保存した場合に、たとえばそのイメージからもとの同じハードディスクに復元を行なうと、保存の対象に含まれていなかったパーティションも再構成され、その中味は全てクリアされてしまいます。
これが一番恐ろしい注意点です。
なんというおそろしいソフトウェアでありましょう。

さてここで、「システムで予約済み」の領域について説明いたします。
この領域は、ハードディスク(システムディスク)の先頭にWindows7によって確保された100MBぐらいの領域で、Explorerでは表示することはできません。
ここにはシステムが起動するときに必要になる情報が書かれています。
この領域が破損してしまうと、そのほかの領域がすべて正常だったとしても、Windows7は起動することができなくなります。

下図は[第782回]でシステムイメージを作成したときのハードディスクの構成図です。
この図はそのときにもお見せしていますが、今回はそこに「システムで予約済み」の領域を赤で着色して示します。

通常は「システムで予約済み」の領域は、システムディスクにしか作成されません。
しかし[第782回]でシステムイメージの作成に使ったパソコンは、ディスク1をディスク0のクローンディスクとして作成したものをバックアップ用として接続していましたので、ハードディスクの前方のシステム部分はディスク0とディスク1では全く同じ構成になっていたのです。

ところで、システムイメージの作成のときに強制的に保存の対象になってしまうシステムドライブは、図で見ると、ディスク0のWindows7(32ビット)のほかに、ディスク0のWindows7(64ビット)、ディスク1のWindows7(32ビット)とWindows7(64ビット)があるのですが、C:ドライブ以外は保存の対象には含まれてはいません。
当然、自分自身が存在するパーティションが唯一のシステムドライブである、という判断をプログラムが行なっていると推測されます。それは当たり前のことでありましょう。

しかし。
それならば、自分自身が存在するハードディスクの「システムで予約済み」の領域のみが唯一の領域である、という判断を行なうこともまた至極当然のことではありますまいか。
ああ。それなのに。

わが「システムイメージの作成」プログラム君は、起動ディスク以外のハードディスク上にあって、さらに(E:)なるドライブナンバーまでつけられた、つまりExplorerで可視可能な(と言ってももちろん中味は何も表示されませんが)領域も、正規の「システムで予約済み」の領域であると判断して強制的にシステムイメージに組み入れてしまうのであります。
なんたる、バカ…。(もう一度。うわぁ。Microsoftさまぁ。ごめんなさいぃ)

ディスク1の「システムで予約済み」の領域を、「コンピュータの管理」画面で確認してみました。
「スタート」→「コンピューター」を右クリック→「管理」→「ディスクの管理」の順にクリックすると表示されます。

ディスク1の先頭にある小さな領域ですが、通常のパーティションと同じ領域として扱われています。
ディスク0の「システムで予約済み」の領域は、ディスク0の先頭にあります。
ここも小さな領域なので表示が半分隠れてしまっています。(「シス…、100、正常」だけが表示されています)

Explorerでも表示させてみました。

この通り、見かけ上はごく普通の領域です。

ところが、「システムイメージの作成」を実行させてみますと。

ご覧の通り、強制的に選択されてしまいます。
しかもチェックは灰色で表示されていますから、これを外すことはできません。
この「システムで予約済み(E:)」はディスク1にあって、システムイメージに組み込まれてしまいますから、それで、そのシステムイメージからシステムを復元しようとしたときに、ディスク0だけではなくて、ディスク1も必要になってしまったのです。

しかし、しかし、しかし。
これがどれほど恐ろしい結果を招くことになってしまうか、につきまして、本日はちょっと時間がありませんので、次回に説明することにいたします。
2011.4.23upload

前へ
次へ
ホームページトップへ戻る