Windows TIPS
[Tools & Services]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

JkDefragを使ってデフラグを行う

解説をスキップして操作方法を読む

デジタルアドバンテージ 小林 章彦
2008/06/20
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
長い間ハードディスクを使っているとフラグメントが発生し、ファイルのアクセス性能が低下することがある。
Windows OSの標準デフラグ・ツールでは、スケジューリング機能がないなど、機能に制約がある。
デフラグのスケジューリング機能などを持つ、フリーソフトウェアのデフラグ・ツールを利用すると、コンピュータを利用していないときにデフラグが実行できる。

解説

 ハードディスクを使用し続けると、徐々にファイルが不連続な領域に分散して書き込まれてしまう「フラグメント(fragment、断片化)」が発生する。フラグメントが発生すると、1つのファイルへアクセスするために、ヘッドの移動量が多くなり、結果としてアクセス速度の低下を招くことになる。このフラグメント状態を解消するには、ファイルを連続した領域に並べ直す必要がある。この作業を行なうツールがディスク・デフラグ・ツール(以下、デフラグ・ツール)である。

 Windows 2000以降、Windows OSには標準でデフラグ・ツールが提供されているが、標準ではスケジュール機能*1が提供されていないなど、機能が制限されている(「TIPS:ディスク・デフラグ・ツールの制限について」参照のこと)。そのような事情もあり、PerfectDisk(Raxco SoftWare社:国内販売元 ネットジャパン)、Diskeeper(Diskepeer社:国内販売元 相栄電器)、O&O Defrag(O&O Software社:国内販売元 キヤノンITソリューションズ)など、より高機能なデフラグ・ツールも販売されている。

*1 Windows XPでは、コマンドラインからデフラグの実行が可能な「defrag」コマンドが追加されている。スケジュール・タスク機能とdefragコマンドを組み合わせることで、スケジュール実行も可能である。TIPS「ディスク・デフラグをスケジュール実行する(Windows XP編)」参照。

 一方、高機能なデフラグ・ツールを購入するほどフラグメントを気にしていないのならば、JkDefragやUltraDefragなどの定番のオープンソースで開発されたツールやフリーソフトウェアを利用するという方法もある。その中でもJkDefragは、デフラグを実行するスクリーンセーバ版も提供されているなど、ユニークなツールとなっている。ここでは、JkDefragを取り上げ、その利用方法などを紹介する。

操作方法

 JkDefragのパッケージを以下のホームページからダウンロードする。32bit版のWindows 2000/XP/Server 2003/Vista/Server 2008とx64版のWindows XP/Server 2003/Vistaに対応したパッケージと、Visual C++ 2005によるソースコードが提供されている。パッケージはZIP形式でアーカイブされており、解凍するとWindows版、コマンドライン版、スクリーンセーバ版の3種類が同一のフォルダに展開される。

  ファイル名 特徴
Windows版 JkDefrag.exe 実行するとデフラグを開始
コマンドライン版 JkDefragCmd.exe 除外ファイルを指定できるなど細かなオプションが指定可能
スクリーンセーバ版 JkDefragScreenSaver.scr/
JkDefragScreenSaver.exe
スクリーンセーバとしてデフラグが実行可能
JkDefragの実行ファイル

JkDefrag Windows版の使い方

 最も手軽なWindows版は、インストール作業は不要で、展開したフォルダ上で起動すれば、すぐにデフラグ処理が開始される。ログ・ファイルも起動したフォルダに作成される。起動時にオプションで指定しないと、システムに接続されている、書き込み可能なすべての固定ディスク上のボリュームが順番にデフラグ処理される(オプションは添付のdoc\index.htmlファイルを参照のこと。Windows版でもコマンドライン版でもほぼ共通である)。画面にFinishedと表示され、デフラグが完了するまでそのままにしておけばよい。デフラグのため、頻繁にディスク・アクセスが行われるので、Windows OS自体の動作は少々重くなるものの、デフラグ中に別の作業を実行しても問題ない。

Windows版のJkDefragの実行画面
ウィンドウの上側にテキストで現在の作業状況が表示される。細かな黄色や緑色などの線がディスクの断片化状態を示している。黒色は未使用、緑色はフラグメントしていない、黄色はフラグメント状態、赤色は移動不可、白色は使用中などを示している。起動するとすぐにデフラグ処理が始まる。途中で終了させたい場合は、[Alt]+[F4]キーを押すか、ウィンドウ右上の終了ボタン([×]アイコン)をクリックして、ウィンドウを閉じればよい。

 試しにファイルがかなり断片化されており、空きディスク容量も7%となっている20Gbytesのハードディスク(ノートPCに搭載)をWindows版のJkDefragで、デフラグしたところ、約1時間ですべての作業が終了した。デフラグの速度としては、Windows OS標準のツールとそれほど変わらず、けっして速いものではない。Windows OS標準のデフラグ・ツールでは、ディスクの空き容量が15%未満となると、十分にデフラグが実行できない旨の警告が表示され、実際にデフラグの解消も中途半端に終わってしまうことが多い。その点、JkDefragでは、ディスクの空き容量が少なくても、問題なくデフラグの実行が行えた。

Windows OS標準のデフラグ・ツールでJkDefrag実行前(上)と実行後(下)を解析した結果
完全にフラグメントが解消されたわけではないが、全体的に青色(フラグメント解消済み)が多くなり、特に解析結果の左側を見ると、かなり改善されていることが分かる。

JkDefragコマンドライン版の使い方

 コマンドライン版でも、Windows版と同様、実行時にオプションを指定することで、最適化せずに解析のみを実行したり、特定の拡張子やフォルダをデフラグの対象から除外したり、ファイル名やファイル・サイズの順番でソートにしてオプティマイズしたりする、といった細かな指定が可能だ。実行速度を1から100%で指定することもできるので、バックグランドでデフラグを実行するような場合には、Windows OSの使い勝手が悪化しないように30%などに指定するとよい。またコマンドラインで実行できるため、[コントロール パネル]−[タスク]を利用して、定期的にJkDefragを実行するようにスケジューリングすることもできる。

JkDefragスクリーンセーバ版の使い方

 スクリーンセーバ版は、JkDefragScreenSaver.scrとJkDefragScreenSaver.exeの2つのファイルを%Systemroot%\system32フォルダに移動またはコピーし、[画面のプロパティ]−[スクリーン セーバー]タブでスクリーンセーバとして「JkDefragScreenSaver」を指定することで、スクリーンセーバでデフラグが実行されるようになる。コンピュータが利用されていない間に自動的にスクリーンセーバが起動するため、通常の作業の邪魔にならずにデフラグが実行できるというメリットがある。また[設定]ボタンでコマンドライン版と同様のオプションが指定可能なので、除外したいファイルを指定することなども可能だ。

JkDefragの利用時の注意

 JkDefragでは、フェイズ1で解析を行い、フェイズ2で実際にデフラグを実行、フェイズ3でオプティマイズを行ってディスクのアクセス性能の向上を図る、という処理を順番に行う。フリーソフトウェアのデフラグ・ツールというと信頼性が気になるところだが、Windows OS標準のデフラグ用APIを利用してデフラグを実行しているため、信頼性はWindows OS標準のデフラグ・ツールと同等であるということだ。またRAIDやUSBメモリに対してもデフラグの実行ができるとしている(RAIDの場合、デフラグを実行するとリビルドが発生する可能性があるので注意が必要だろう)。

 さらにJkDefragが復元ポイントを削除することはないが、デフラグに際してファイルの移動が行われるため、それらの移動を記録した新たな復元ポイントが作成されてしまう。その際、復元ポイントに割り当てられている記録容量を超えてしまい、結果として古い復元ポイントが自動的に削除される可能性があるので注意が必要だ。

JkDefrag Option GUIを活用する

 JkDefragのパッケージには含まれていないが、コマンドライン版で提供されているオプションの設定などがGUIで行えるようになる「JkDefrag Option GUI」というツールも提供されている。以下のWebページの左側の「Download」のリンク先からJkDefragGUI102.zipをダウンロードし、JkDefragCmd.exeなどと同じフォルダに展開する。最初の起動時に、MicrosoftのWebサイト(Windows Sysinternals)からPageDefragなどをダウンロードするため、インターネットへ接続しておく必要があるので注意が必要だ。

 JkDefragGUIを実行すると、以下のような画面が表示される。JkDefragでは対応していないデフラグの実行スケジュールなどの指定もGUIベースで行えるようになる。日本語にも対応しているので、JkDefragのコマンドライン版を利用するよりも使いやすいだろう。End of Article

JkDefragGUIの画面
GUIでスケジュールの設定なども可能だ。コマンドライン版で指定できるオプションはGUIで設定が可能となっている。

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間