今回のネタはHDDのバックアップに関する物です。メディアを使った物ではなく直接別のHDDにバックアップするタイプの話です。
SSDでも似たような現象はあるかもしれませんが、Win7以降のOSを使っているのであれば問題にはならないと思います。
HDDのバックアップの方法
HDDを「データ保存領域」としてバックアップする場合と「パーティション」としてバックアップする場合があります。
通常、HDDのバックアップと言えば
- バックアップ対象のHDDより大容量のHDDを用意してディスクコピーツールなどでほぼ丸ごとコピー
- パーティション領域を指定して空きがあるHDDへとセクタレベルでコピー
- ファイルコピーツールを使い指定したHDDのパーティションもしくはディレクトリレベルでコピー
- バックアップツールなどを使いメディア(BD-Rなど)にデータをバックアップ(この記事では対象にしません)
が代表的です。三番目の物は専用のツールを使う場合もあれば単純なコピー処理を発行するやり方もありますが、OSの領域をバックアップする分には使えません。
OS領域のバックアップの場合、前者2つのいずれかを使います。が、それなりに昔から使っているPCだとちょっとした問題があります。
パーティションの作成方法に要注意
というのも、この頃のパーティションツールで先頭パーティションを作成すると、勝手にセクタ境界が1MiBになるように作成します。
これはHDDのAdvanced Format Technologyによるセクタサイズを4kiBで管理する状態やSSDのページサイズとブロックサイズに関連した速度低下を防ぐためにこのような仕様になっていると思われます。
Win7単体をインストールしている場合などはパーティション作成で自動的にこの状態になるのでディスクコピーツールやパーティション操作ソフトでコピーしてもあまり問題はないと思います。
(注:実際に私が試したわけではないのであくまで推測です。)
が、問題はHDDをWinXPで初期化していた場合です。
この場合、バックアップ元となるHDDのパーティションの先頭セクタはだいたい63(32256byte)から開始するように設定されています。
これがややこしい問題を生んでしまうわけですね。
パーティション作成時に1MiB境界で作成するとセクタ位置が合わなくなる
と言う問題が発生します。これはかなり致命的らしく、私が試したところでは、1MiBで作成してしまったパーティションにシステムパーティションをセクタコピーしてみたわけですが、
Win7のブートマネージャまでの起動はできるのですが、それ以降のすべての起動シーケンス(Win7/WinXP自体の起動、メモリテストなど)がすべてエラーにより不可、と宣告されてしまいました。
この問題についてはWin7のインストールディスクから復帰処理を試みてみましたがどれも失敗してしまい、今日あたりにもディスクバックアップソフトによる再度のバックアップを行うことにしました。
(DualBootを組んでいる場合特有の可能性もあります。また、バックアップソフトによってはコピー時にこの問題を修正できる物もあるようなので)
自分のメインHDDが飛んだときのためのバックアップHDDのはずなのに起動ができないのでは問題ありすぎですね。バックアップHDDからの起動テストをやっておいて正解でした。
しばらくPCの横板が空きっぱなしになってしまいますね。処理のたびにSATAのケーブルが抜き差しされることになるので耐久が微妙に心配になっていたりします。
WinXP時代から使い続けた物を維持するのは今の時代だと意味がないのか・・・
ちなみに次にOSを入れ直すときはWin7のみかWin8でも入れてみる予定です。すでにWinXPを維持する意味が全くないので。
最悪VirtualPCのXPModeに頼ることにしているのでこれで卒業ですね。10年間以上も維持されたOSだと終わりがこんな形で訪れるわけですね・・・。