バックアップツールによるデフラグ

以前、StandbyDiskというバックアップツールを使っていた。ミニタワー型PCにHDDを2台内蔵し、1台をバックアップHDDとして毎日深夜に差分アップデートしていた。このソフトを初めてインストールすると、「差分」ではなくフルバックアップが必要だが、そのフルバックアップされた状態が、全くフラグメントのない状態、完璧なデフラグ状態になっていたことを思い出した。つまり、このソフトは、HDDの内容をコピーする時にセクタとかトラック単位でのイメージコピーをするのではなく、マッサラなファイルシステムにファイルを1つ1つコピーするためにデフラグのない状態でHDDが複製される。(HDD複製ソフトのDriveCopy等はイメージコピーのためフラグメント状態で複製される。)

このソフトを使うためにはPCにHDDが2台繋がっている必要がある。今回、目的のPCはノートPCなので内蔵HDDと全く同じモデルのHDDをUSBで接続して、コピー終了後、HDDを換装しなければならない。しかし、最近のノートPCはネジ数本でHDDの交換が出来るように作られているため、それも大した作業ではない。HDDがもう1台必要なことと、デフラグ後(コピー後)HDDの換装が必要なところはデフラグ・ツールに劣るが、使えないデフラグ・ツールで悩むよりは完璧な方法である。

しかも、この方法であれば仮想ディスクを2BGに分割せずに、18GBの1つのファイルで構成してもフラグメントを起こすことはないだろう。仮想マシンを動作させる理想的な環境を構築できる。ということで、方針を変更! 仮想ディスクが分割せずに1つの巨大ファイルとして生成し、バックアップソフトを利用してデフラグすることにした。

まず、コピー前のHDDのフラグメント状態である。18GBの仮想ディスクが細かくフラグメントされている。(仮想ディスクファイル以外のファイルは前もってほぼデフラグしておいたので、赤い部分はフラグメントされた仮想ディスクである。

これをStandbyDiskを使ってコピーすると次のようになった。

何故か、一部のファイルがフラグメントを起こしている。余計なサービスは殆ど止めてから実行したので、外乱によるフラグメントとは考え難い。原因は分からないが、少なくとも18GBの仮想ディスクはフラグメントの無い状態でコピーされているし、残りの細かいファイルのデフラグであればWindowsにバンドルされているデフラグツールでも処理できるだろう。なお、この状態では、まだ外部HDDとしての扱いなので緑色の「ページファイル」は存在しない。
この状態で"外部HDD"として、数回、Windows標準のデフラグツールを実行すると次のようになる。

そうするとHDDの前方(デフラグツール画面の左側)に空白地帯が現れる。これはNTFSのMFT領域のようだ。これについては後述するが、取りあえずデフラグには関係ないので、約50GBある全てのファイルはほぼ完全でデフラグできた。勿論、18GBもある仮想ディスクもフラグメントされていない。
ここでHDDを交換して、デフラグ済みのHDDを内蔵HDDとして立上げ、念のためにデフラグを掛けると次のようになる。

内蔵HDDとして立ち上げたため緑色のページファイルが割り当てられている。また。何故かMFT領域も青色になっている。(まったくWindowsは挙動がよく分からない。ちなみに、次の画面は、一通り動作確認をした上で不必要になったStandbyDisk(とついでに幾つかのアプリケーション)を削除して再度デフラグをかけた結果。今度はMFT Zoneが"未使用"として現れた。苦笑。)

とにかく、これで、VMwareの仮想ディスクをフラグメントない状態で配置するという目的は達成できた。仮想マシンを立ち上げてみたが、多分気のせいとは思うが、心もち早いような気がする。(車のエンジンを綺麗にする添加剤を使用すると、少しだけ加速が良くなったと感じるのと同じだろうが。)

バックアップツール

今回はStandbyDiskというバックアップツールを流用してデフラグした。しかし、ワザワザ市販のソフトを買わなくてもWindowsのバックアップツールを使って同様のことができる「かも」しれない。StandbyDiskは直接HDDからHDDへバックアップできるのでHDDが2台あえばできるが、Windows標準のバックアップツールを使う場合は一旦 *.bkf ファイルへ落とす必要がある。そのため、もう1台HDDを用意するか、ネットワーク上のサーバのディスクを間借りする必要があるかも知れない。その内、時間があったら試してみよう。

あと、他にもバックアップツールを使ったデフラグの良い点が幾つかある。一つはデフラグに失敗してもオリジナルのHDDがあるのでデータを失うことはない点。もう一つはデフラグの時間が早い点である。50GBのファイル群をコピーするのに私の遅いマシンでも1時間40分で終わった。いい加減なデフラグツールであればもっと速いが、完璧なデフラグは望めない。完璧なデフラグをしようとするとかなりの時間が必要になる。

MFTについて(補足)

バックアップツールを使ってコピーすると「未使用」のMFT領域が現れた。NTFSの場合、全ボリュームの12.5%(8分の1)がMFTとして予約されるらしい。75GBの場合、9.3GBにもなる。上で紹介したContigというソフトを作った会社が開発したDiskViewというソフトで見ると、綺麗にデフラグ(というかバックアップ)されたファイルシステムではMFT Zoneの殆どが未使用になっている。

この画面は、DiskViewを使ってMFT Zoneの先頭部分を拡大したもの。青色の部分は一般のファイル、緑色の部分は(MFTではない)システム領域(さらに他のツール(HDview)で調べたら C:\$LogFile らしい)、黄色のところがMFTファイル(C:\$MFT)、そして薄緑色のところがMFTとして予約された部分(MFT Zone)である。MFT Zoneの内、実際にMFTとして使っている部分(黄色い部分)は約109MBほどしかない。残りの9.2GBはMFTとして予約された未使用領域である。サイズの大きなファイルが多いファイルシステム仮想マシンを使うPC)ではMFTのエントリ数も少ない筈である。20GBのファイルは1MBのファイル2万個分に相当するのだから。未使用部分を最適化、再割り当てして一般ファイルでも使えると良いのだが。

とか思いながら、PCを暫く使っていた。VMware Playerのバージョンが上がっていたので、2.0.2をアンインストールして2.0.4をインストールした。VMnetの設定とかして、その他、ファイルを整理してからデフラグをかけてみたら、次のようになった。

なんとMFT Zoneが消えていた。他のツールを使ってもMFT Zoneは確認できなかったし、以前、MFT Zoneとして予約されていたエリアは一般のファイルで埋め尽くされていた。その代わりにPagefileの左側に未使用の空間が出来てる。丁度、MFT Zoneと同じくらいの大きさだ。しかし、何回デフラグをかけてもここが埋まることはない。ディスクの「空き領域」も以前と同じく約24GBと変わらない。本当に不可思議なファイルシステムだ。

これで一段落と思いきや、「MFTが壊れた」というオマケまで付いて来た。