風はエーゲブルー・・・にしたい

愛車の307SWのことや、興味のある様々なことをダラダラと書いていきたいです。

いいね、このデフラグ

2006年12月30日 | IT関連
GIGAZINEさんで紹介されていた、デフラグソフトが気に入った。

起動するだけで全自動デフラグ可能なフリーソフト「JkDefrag」

何がいいって、
  • インストール不要

  • Windows APIを利用するので安心

  • Window版とコマンドライン版がある

  • 最適化もしてくれる

  • な~んてことがある。安心感があって、便利というのはなかなかないぞ~。
     ってことで、本家のHPをちょろちょろっと訳してみた。間違っている部分とかも当然あると思われるので、その辺はご容赦。あと、"See also(参照)"が訳されていないのは、面倒だったから。スマン。参照したいくらいの人は、これくらい英語で読むでしょ。まあ、非常に平易な英語で書いてあるので、読むのは楽だった・・・んが、日本語にするのが結構難しい。翻訳なんて、5,6年はやっていないし、とか何とか言い訳したいくらい、ちょっと突っかかったわけですよ。この辺は察しておくれ。

    ご本家のHP JkDefrag v3.4




    JkDefrag v3.4

     自由に利用可能な(GNU General Public Licenseに基づきます)、ディスクの断片化解消と最適化ができる、Windows 2000/2003/XP/Vista/X64用ユーティリティです。完全自動動作で、非常に簡単で使いやすく、速く、低負荷で、2通りの最適化を選べ、フロッピーディスクやUSB接続のディスク・メモリでも利用可能です。ウィンドウズ動作版と、コマンドライン版(タスク・スケジュールによるスケジュール動作または管理用スクリプト用)、スクリーンセーバー版、DLLライブラリ(プログラム作成用)とWindows X64版が同梱されています。


    インストール

     セットアップやインストール、設定ファイルは不要です。ZIPファイルをダウンロードし、解凍するだけです。解凍された中には、三つのプログラムファイルが含まれています。

    JkDefrag.exe
     ウィンドウズ版です。多くの方はこちらを利用するでしょう。インストールも設定も不要、実行するだけで動作し、あなたのパソコンに接続されている、全ての読み書き可能なボリュームを自動的に処理します。

    JkDefragCmd.exe
     コマンドライン版です。バックグラウンド動作もしくは管理者向けスクリプト用に、特別にデザインされています。「実行」のコマンドライン・オプションと、「よくある質問」のウィンドウズ・スケジューラーで自動的に動作する方法について参照して下さい。

    JkDefragScreenSaver.scr
     スクリーンセーバー版です。ハードディスク上の『system32』フォルダに移動、もしくはコピーしてください(通常は"c:WindowsSystem32"もしくは"c:WinntSystem32"のはずです)。自動的にスクリーンセーバーのリストに”JkDefrag screensaver”として追加されるはずですので、通常のスクリーンセーバーと同様に利用できます。

     ウィンドウズ版のJkDefragは非常に詳細なハードディスクのマップを表示し、1秒間に3回の割合で更新します。ウィンドウの左下が、ハードディスクの書き込み開始点となります。表示されている色の意味は、以下のとおりです。

    黒:未使用部分
    ダークグリーン:使用中
    グリーン:細分化解消済み
    黄色:細分化された部分
    赤:移動不可
    ピンク:システム・ファイル
    白:ビジー
    (訳注:ここで、他の色に左右を挟まれている”黒”がギャップとなる。狭間とかの訳語でもいいかとも思ったが、ギャップのままにした。)

    JkDefrag実行中の画面。プログラムはほぼ完全に自動で動き、ボタンもプルダウンメニューもありません。



    実行

     JkDefragのデフォルトの動作は、あなたのパソコンに接続された、書き込み可能なボリューム全てに対して、自動的に処理するものです。以下のコマンドライン・オプションによって、処理状態を変更できます(JkDefragCmd.exe及びJkDefrag.exeに有効です)。

    JkDefragCmd.exe [-a N] [-s N ] [-d N] [-l "filename"] [items]

    -a N 処理内容を選択します。Nには、1~4の数字をあてはめることができます。デフォルトは3です。
    1 = 解析のみを実行し、細分化解消と最適化は行いません。
    2 = 解析と細分化解消のみを実行し、最適化は行いません。
    3 = 解析と細分化解消、最適化(速度優先)を行います(デフォルト)。
    4 = 解析と細分化解消、完全な最適化を行います。
    -s N N(1~100)パーセントに実行速度を低下します。デフォルトは100です。
    -d N デバッグレベルを選択し、ログファイルに書き込まれるメッセージを選択できます。Nは0~5まで選べることができます。デフォルトは1です。
    0 = 致命的なエラーのみ表示
    1 = 警告メッセージまで表示 [デフォルト]
    2 = 一般的な進行メッセージまで表示
    3 = 詳細な進行メッセージまで表示
    4 = 詳細なファイル情報まで表示
    5 = 詳細なファイル間のギャップ情報まで表示
    -l "filename" ログファイルのファイル名を指定します。デフォルトは"defrag.log"と"windefrag.log"になっています。空白の文字列 "" (連続したダブルコーテーション)を指定すると、ログファイルが作成されません。
    items itemsとは、デフラグの対象となるものです。ファイルであったり、ディレクトリ、ディスク、マウントポイント、フロッピーやUSB接続のディスク、メモリを含むリムーバブルメディアなどの各種ボリューム、その他ハードディスクのように振舞うボリュームなどです。*と?がワイルドカードとして、ファイルの指定に利用できます。指定するアイテムにスペース(空白)が含まれる場合、ダブルコーテーションで括る必要があります。例:"C:", "D:MySQLData", "F:*.log"


    停止
     全てのバージョンのJkDefragは、いつでも安全に停止することができます。例えば、CTRL+CやBREAKキー、ALT+F4、ウィンドウを閉じたり、タスクマネージャーでプログラムを停止させることなどです。

    最適化(速度優先)
     この最適化の手法は、毎日の利用に最適です。ハードディスク上のデータを動かすのは最小限にすることで、終了を早くし、ディスク上のギャップ(ファイルとファイルの間の隙間、未使用部分)を全て埋めることはしません。ディスク上のギャップを見つけ出し、別のところにあるファイルで埋める方針になっています。

    完全な最適化
     この最適化の手法は、たまに利用する場合のものです。全てのギャップを埋めようとすることからデータの移動が多く、実行には長い時間がかかります。この方針は、最適化(速度優先)の動作に加えて、ギャップが全て埋まるまで実行するものです。

    ログファイル
     JkDefragは全てのメッセージを"JkDefrag.log"または"JkDefragCmd.log"というログファイルに書き込みます(どちらになるかは、どちらのバージョンを利用するかによります)。普通のテキストファイルになっているので、ログファイルを見たいときは、いつでも見ることができます。ログファイルはプログラム実行とともに自動的にクリアされ、無限に肥大化するのを防いでいます。

    テクニック:JkDefragを実行する前に、ディスク上の無駄なファイルを削除しておきましょう。

    テクニック:JkDefragを実行する前に、ウィルス対策ソフトを停止しましょう。ウィルス対策ソフトは全てのディスクの動作をチェックしており、断片化解消と最適化の動作をかなり遅くします。

    テクニック:JkDefragを実行する前に、仮想ディスクの領域を他のボリュームに移して再起動、断片化解消後にまた仮想ディスクの領域を戻しましょう。もし移し替えるためのボリュームがない場合は、一時的に仮想ディスクの領域を小さくしましょう。例えば100Mbなどに。

    テクニック:何らかのプログラム(例えばデータベースなど)が特定のファイルを解放しないでデフラグができない場合、まず問題のプログラムを停止し、問題のデータのディレクトリのみにJkDefragを実行し、その後プログラムを再始動してください。


    よくある質問

    安全なの?
     JkDefragはマイクロソフト製の標準的なデフラグ用APIを利用しています。Windows2000、2003サーバー、Xp、そしてVistaに標準的にあるものです。全てのデフラグ作業は、商用製品を含めて、このAPIで実行されています。JkDefragは大変堅固で、データを失う危険性はありません。プログラムはいつでも停めることができますし、停止時に扱っていたファイルもバックグラウンドで処理して終了します。もしディスクがNTFSフォーマットである場合、デフラグ中のクラッシュの危険性は、より低くなるでしょう。しかしながら、デフラグ実行前にバックアップを行うのは、良いアイデアです。他のデフラグソフトにおいても同様に、ハードディスクに大きな負荷をかけることは、機械的な故障を招きかねないからです。

    ひとつのディスクだけ(もしくはフォルダ、ファイル)だけを選ぶには?
     JkDefrag.exeのショートカットを作成し、ショートカットのプロパティを開いてください。そして実行したいディスク・フォルダ・ファイルの名前をリンク先(T)の最後に追加します(例えば"C:"など)。もしくはコマンドライン版のJkDefragCmd.exeをコマンドプロンプトで利用してください。

    どうやってオプションを指定するの?
     オプションの指定で最も簡単なのは、コマンドラインで利用することです。しかし、ウィンドウ版でも実行は可能です。JkDefrag.exeのショートカットを作成し、ショートカットのプロパティを開いてください。そして指定したいオプションをリンク先(T)の最後に追加します。例: "C:JkDefragJkDefrag.exe" -a 4


    どこに停止ボタンがありますか?
     全てのバージョンのJkDefragは、いつでも安全に停止することができます。例えば、CTRL+CやBREAKキー、ALT+F4、ウィンドウを閉じたり、タスクマネージャーでプログラムを停止させることなどです。

    JkDefragを自動実行するには?
     JkDefragをウィンドウズ・スケジューラーに登録し、毎日自動的に実行するのは素晴らしいアイデアです。以下のように登録します。

    ・【スタート】-【コントロールパネル】-【タスク】-【スケジュールされたタスクの追加】をクリックします。
    ・タスクウィザードが実行されるので、[次へ(N)]をクリックします。
    ・参照(R)ボタンをクリックし、JkDefragCmd.exeを選択します。
    ・日単位(D)を選択し、[次へ(N)]をクリックします。開始時間(T)を選択し、[次へ(N)]をクリックします。
    ・管理者権限のあるユーザーのユーザー名とパスワードを入力し、完了(F)をクリックします。

    テクニック:二つのタスクを作成しましょう。ひとつは"-a3"のオプション(速度優先の最適化)をつけて毎日実行します。もうひとつは、"-a4"のオプション(完全最適化)をつけて、週に一回実行するようにスケジュールします。


    スクリーンセーバーとして使うには?
     「インストール」の説明を見てください。

    起動時にJkDefragを実行するには?
     パソコン起動時にバックグラウンドでJkDefragを自動実行するには、ウィンドウズのタスク機能を使うと、とても簡単です。

    ・タスクウィザードが実行されるので、[次へ(N)]をクリックします。
    ・参照(R)ボタンをクリックし、JkDefragCmd.exeを選択します。
    ・コンピュータ起動時(S)を選択し、[次へ(N)]をクリックします。
    ・管理者権限のあるユーザーのユーザー名とパスワードを入力し、完了(F)をクリックします。

    注:この方法では、ページファイルのようなシステムファイルはデフラグされません。実行するには、マイクロソフト・テックネットのフリー・ユーティリティを手に入れる必要があります。

    なぜ私のディスクは完全に最適化されないのか?
     ウィンドウズ実行中には、動かすことのできないファイルがたくさんあります。というのも、それらはアプリケーションやサービス、ウィンドウズそのものなどに利用されているからです。それらのファイルは、ディスク上のどこにでもありますし、顕微鏡レベルに細分化されていることも珍しくありません。ハードディスクは、中のファイルを自由自在に動かせる大きなブロックではありますが、数千もの分断されたブロックが、移動不可能なデータとして存在しているのです。
     典型的なケースでは、ハードディスクは数万のファイルを容易に扱えますし、全てのファイルのサイズは違うものです。こうしたファイルをブロックに入れることを最適化するには、どうしたらいいでしょうか?ファイルの並び替えの組み合わせは、天文学的な数字になり、心を凹ませます。ですので、JkDefragはそういった計算を試みようともしません。常に一度にひとつのブロックしか扱わず、0.5秒の時間制限の中で、ちょうど良いファイルを試すだけです。
     受け入れがたいかもしれませんが、JkDefragがあなたのディスクを完全に最適化するなどということは、残念ながらありえないということです。

    ウィンドウズ以外でJkDefragは使えるの?
     JkDefragはウィンドウズのデフラグ用ライブラリを利用します。ですので、ウインドウズが動いている必要があります。JkDefragは起動可能なウィンドウズのCD-ROM(例えばBartPE、http://www.bootcd.us/を参照のこと)からならば動作しますが、DOSの起動ディスクからでは動作しません。

    なぜこのデフラグソフトを、ウィンドウズ標準のデフラグの代わりに使うのですか?

    ・ずっと高速
    ・より簡単に、自動的に使える
    ・日常的な利用に最適
    ・より良いディスクの最適化
    ・ディレクトリがディスクの最初のほうに動かされる
    ・ディスク・フルの時に、MFT(Master File Table)が確保している領域を再利用できるように
    ・寄せ集めのエリアを望ましい状態に整備
    ・満杯状態のディスクもデフラグ可能
    ・巨大なファイルもデフラグ可能
    ・個別のディレクトリ、ファイルをデフラグ可能
    ・タスク・スケジュールで自動実行可能
    ・コマンドラインから利用可能
    ・スクリーンセーバーとして利用可能
    ・ソースが入手可能で、カスタマイズ可能

    なぜこのデフラグソフトを、一般販売されている、またはシェアウェアのデフラグの代わりに使うのですか?

    ・無料です
    ・自動化されているので、特に使いやすい
    ・日常的な利用に最適
    ・ディレクトリがディスクの最初のほうに動かされる
    ・ディスク・フルの状態で奪われた、MFT(Master File Table)用の領域を解放
    ・寄せ集めのエリアを望ましい状態に整備
    ・個別のディレクトリ、ファイルをデフラグ可能
    ・コマンドラインから利用可能
    ・スクリーンセーバーとして利用可能
    ・ソースが入手可能で、スパイウェアやマルウェアなどではない保証があります。


    動作について

     JkDefragは、他のデフラグソフトと同じように、マイクロソフトの標準的なデフラグ・インターフェイスを基にしています(FSCTL_GET_VOLUME_BITMAP, FSCTL_GET_RETRIEVAL_POINTERS,FSCTL_MOVE_FILEのファンクション・コール)。とても堅実で、実行中にデータを失ったり、ディスク内がごちゃ混ぜになったりする危険性はありません。

    フェイズ1:解析
     JkDefragは、全てのファイルについて、「細分化されていないか」「どこにあるのか」を調べ上げます。ここではマイクロソフト製の非常に効率の悪い機能を使わねばならないため、スピードアップできる部分がありませんでした。

    フェイズ2:未使用領域
     パソコンは一時的な作業ファイルを作っては消しています。まるで明日がないかのようにです。もしディスクが完全に最適化されてしまえば、こういった一時作業ファイルはハードディスクの最後の部分にしか置けません。しかし、そこはアクセス速度が遅い部分なのです。JkDefragはハードディスクの最初の部分に、全容量の1%+ディレクトリの数を加味した領域を、未使用領域として確保します。そこでは、1日以上経ったファイルは別の場所に移動させられます。

    フェイズ3:MFTゾーン
     ウィンドウズはMFT (Master File Table)のために、数パーセントのディスク領域を確保しています。ですが、ディスクが満杯の場合、そこに普通のファイルを置くことができるのです。それらのファイルは、十分なディスクスペースができた後でも、そのまま残っているものなのです。JkDefragはMFT用の領域にあるファイルを見つけ出し、通常のディスクスペースへ移動して解放し、MFTが再利用できるようにします。

    フェイズ4:ディレクトリ
     ディレクトリは、おそらくディスク上で最もアクセスの多いデータです。JkDefragは全てのディレクトリをディスクの初めの部分に移動し、最適化します。

    フェイズ5:デフラグ
     全ての細分化されているファイルが、手ごろな大きさで一番近いギャップに移動されることで、デフラグされます。もし十分な大きさのギャップがない場合は、細分化された数を減らすように、可能な限り大きなギャップへ移動させます。

    フェイズ6:最適化
     ほとんどのハードディスクにおいて、ディスクの最初の部分が最後の部分よりも、かなり速いものです。JkDefragは全てのファイルをディスクの最初の部分に持っていくことで最適化します。最適化の手法は二つありますので、-a3と-a4のオプションを見てください。

     作業中には多くのメッセージが表示され、実際に何が行われているかを見せます。メッセージは、後の調査のためにログファイル(JkDefrag.logまたはJkDefragCmd.log)に収納されます。ログファイルには警告メッセージが含まれているかもしれません。例えば、ファイルを動かせなかった場合など。これは一般的なことであり、心配することはありません。ウィンドウズには多くのシステムファイルがあり、ウィンドウズが動いている間は動かすことができないからです。


    既知の問題

    *とあるユーザーから、HPから「HP製パソコンにある、リカバリ用のパーティションにはデフラグをしないほうがいい」とアドバイスを受けたというメッセージを送ってきました。私のデフラグは、標準的なマイクロソフト製のデフラグAPIを利用していますから、利用上に問題はないと思いますが、確信はありません。この件については、インターネット上のいかなるところにも追加となる情報はありませんでした。
    *JkDefragは、http://www.safeboot.com/ソフトウェアで作成されたsafeboot.fsファイルを特別な例外としています。もし、ほかにこのような例外処理が必要なソフトウェアがあれば、ご一報ください。
    *ウィンドウズのデフラグAPIは、FAT32フォーマットでのディレクトリの移動を拒否します。これはFAT32の制限として知られているもので、JkDefragのバグではありません。
    *ウィンドウズのデフラグAPIは、クラスタサイズが4KB以上でフォーマットされているディスクでは動作しません。これはAPIの制限として知られているもので、JkDefragのバグではありません。




    最新の画像もっと見る