本文へスキップ
Defragment
入手
かんたんガイド

ディスクのデフラグを、やさしく解説。

ファイルはなぜばらばらになるのか。それでなぜハードディスクが遅くなったのか。デフラグは何時間もかけて何をしていたのか。そして、あなたのパソコンにまだデフラグは必要なのか。

最終確認日

ディスクの断片化とは?

ファイルシステムは、ファイルを1バイトずつ保存しているわけではありません。クラスタ(アロケーションユニット、またはブロック)と呼ばれる決まった大きさの単位で、領域を割り当てています。これが、1つのファイルが占める最小のディスク領域です。クラスタが4KBのディスクなら、10KBのファイルはクラスタを3つ使います。

理想は、1つのファイルのクラスタが隣り合って並んでいることです。そうならずに、ファイルがディスクのあちこちに離れたいくつものかたまりに分かれて保存されている状態を、ファイルが断片化している、といいます。

デフラグ前デフラグ後
  • 4つに分かれた1つのファイル
  • ほかのファイル
  • 空き領域
1つのファイルが4つに分かれて、ほかのファイルや隙間のあいだに散らばっています。デフラグ後はひとつながりになり、ほかのファイルはその後ろに詰められ、空き領域は最後にまとまります。

断片化は、ディスクを使っているうちに自然と起こります。

  • 削除すると穴があく。ファイルを消すと、そのクラスタが隙間になります。次に来たファイルがその隙間より大きければ、ファイルは分割されます。一部は隙間に、残りは空いているどこかに。
  • ファイルは大きくなる。文書に1ページ足したり、ログファイルに1日分を追記したりすると、新しいクラスタは元のクラスタのすぐ後ろに置けないことがよくあります。そこにはもう、別のファイルがあるからです。
  • ファイルシステムは整頓より速さを優先する。MS-DOSやWindows 95/98のファイルシステムであるFATは、たいてい最後に割り当てたクラスタの続きから、次の空きクラスタを使います。手早い方法ですが、時間がたつにつれてファイルがあちこちに散らばっていきます。

断片化には、じつは2種類あります。ファイルの断片化は、1つのファイルがばらばらになること。空き領域の断片化は、空き領域が小さな隙間に細切れになることで、これがファイルの断片化の原因になります。十分な大きさの隙間がなければ、新しいファイルはどれも最初からばらばらに書き込まれるからです。

断片化するとハードディスクが遅くなる理由

ハードディスクは、回転する円盤(プラッタ)を何枚も重ね、首を振るアームの先に読み書きヘッドを取りつけたものです。何かを読む前に、アームはヘッドを目的のトラックまで動かし(シーク)、プラッタ上の目的の位置がヘッドの下まで回ってくるのを待たなければなりません(回転待ち時間)。そこでようやくデータが流れ始めます。ひと続きになっている限り、その流れは速いままです。

断片が1つ増えるたびに、シークと待ち時間も1回ずつ増えます。Microsoftのエンジニアは、この2つの遅れを「二大元凶」と呼んでいました。50個に分かれたファイルなら、1回で済むはずの遅れが50回かかります。

平均待ち時間は半回転ぶんで、30÷回転数(rpm)秒です。これにシーク時間が加わります。1996年に登場したQuantumの初代Bigfootでは約15ミリ秒、Barracuda 7200.14では8.5ミリ秒未満です。
回転数プラッタの平均待ち時間代表的なドライブ
3,600rpm8.3ミリ秒1990年代後半の低価格ドライブ(Quantum Bigfoot CYなど)
5,400rpm5.6ミリ秒ノートパソコン用ドライブ(Seagate Momentus 5400など)
7,200rpm4.2ミリ秒デスクトップ用ドライブ(Seagate Barracuda 7200.14など)
SSDなし回転する部品がないので、データがどこにあっても変わりません

数ミリ秒と聞くと大したことがないように思えますが、同じディスクなら、そのあいだにひと続きのデータを数十KB、ときには数百KBも読めたはずです。断片化したディスクが重く感じられたのはそのためです。プログラムの起動に時間がかかり、ヘッドが行ったり来たりするたびに、ディスクがカリカリと音を立てていました。

データの置き場所も大切です。ゾーンビットレコーディングでは外側のトラックほど多くのセクタが入るため、ディスクの先頭(外周側)がいちばん速い部分になります。優れたデフラグツールは、これをうまく利用していました。

デフラグは実際に何をしているのか

デフラグツールは、慎重な引っ越し屋さんです。断片化したファイルごとに十分な大きさの空きを探し、そこへ断片を順番どおりにコピーし、コピーを確認してからファイルシステムの参照先を新しい場所に切り替え、そのあとで初めて古いクラスタを解放します。途中で何か問題が起きても、元のデータは元の場所に残っています。

ライブ表示:ヘッドがディスクの奥のほうに散らばったブロックを読み取り、先頭の隙間に書き込んでいきます。元の場所は空になり、上から順に、きれいにそろった行ができあがっていきます。

優れたデフラグツールは、その過程でこんなこともしています。

  • 空き領域をまとめる。空き領域を1つの大きな領域に集めて、新しいファイルがひとかたまりのまま入れるようにします。
  • ファイルの置き場所を考える。システムファイルやよく使うファイルはディスクの速い先頭の近くに、めったに使わないファイルは奥のほうに置きます。Windows 98は、プログラムファイルを実際に読み込まれる順番どおりに並べるところまでやっていました。
  • 動かせないものには手を出さない。Windows 2000では、ページングファイルやNTFSのマスターファイルテーブルなど、システムが開いたままにしているファイルは、Windowsの実行中には移動できませんでした。起動時に特別な処理でこれらを扱うツールもありました。

デフラグで何かが削除されることはなく、ディスクの容量が増えることもありません。ヘッドの移動が少なくて済むように、データを並べ替えるだけです。

Windows 95/98の「ディスク デフラグ」

多くの人にとって、デフラグといえばこれでしょう。小さなマスでいっぱいのウィンドウが、プログラムがドライブ C を進んでいくにつれて、ゆっくりと色を変えていきました。Windows 95に付属していたこのツールは、MS-DOS 6のDEFRAGコマンドと同じく、Norton UtilitiesとそのSpeed Diskで知られるSymantecが作ったものでした。

詳細を表示をクリックすると、あの有名なマップが開きます。凡例では、すべてのマスの意味が説明されていました。

  • 最適化された(デフラグ済みの)データ作業が終わったファイル。ひとつながりになって、あるべき場所に収まっています。
  • 最適化されていないデータこれから移動するデータ。行き先がドライブの先頭、中ほど、末尾のどれなのかで区別して表示されました。
  • 空き領域空のクラスタ。埋められるのを待っています。
  • 移動されないデータデフラグツールが、今ある場所から一切動かしてはいけないファイル。
  • ディスクの不良(損傷)領域使えないと記録されたクラスタ。Windowsでは、赤い線の入った白いマスで表示されました。
  • 現在読み取り中のデータヘッドがちょうど今、拾い上げているブロック。
  • 現在書き込み中のデータそのブロックが置かれていく場所。

マップのいちばん下には、「各ボックスは1つのディスク クラスタを表します」(Each box represents one disk cluster)という、この絵全体の意味を教えてくれる一文がありました。ここで使っている色は、DefragmentのClassic 98テーマのものです。

ドライブ C をデフラグしています
ファイルシステムをデフラグしています…0% 完了
詳細: フロッピーにフーッと息を吹きかけています
DefragmentのClassic 98テーマをライブ表示中。一時停止したり、新しく散らかしたり、凡例を開いたりしてみてください。

Windows 98では、「プログラムがすばやく起動するように、プログラム ファイルを再配置する」(Rearrange program files so my programs start faster)というチェックボックスが加わりました。その裏にあったのが、IntelのApplication Launch Acceleratorです。Task Monitorという小さなプログラムが、各プログラムが起動時にどのファイルのどの部分を読み込むかを記録し、デフラグツールがその部分をまさにその順番どおりに並べました。1997年にIntel自身が行ったテストでは、Officeのプログラムが11.3秒ではなく約3.7秒で起動しています。

あの有名なイライラも、これで説明がつきます。デフラグ中にほかのプログラムがディスクに書き込むと(よくある犯人はスクリーンセーバーでした)、デフラグツールが作ったマップが古くなってしまい、最初からやり直しになったのです。いつまでたっても10%から先に進まないデフラグを覚えている人も多いでしょう。

デフラグの歴史をざっと振り返る

  1. 1986

    DiskeeperとDiskExpress

    Executive SoftwareがVAX/VMSミニコンピュータ向けにDiskeeperを、AlsoftがMac向けにDiskExpressを発売します。

  2. 1987

    Norton Speed Disk

    Norton Utilities 4.0 Advanced EditionにSpeed Diskが登場し、DOS時代を代表するデフラグツールのひとつになります。

  3. 1993

    MS-DOS 6.0:DEFRAG

    DOSに専用のDEFRAGコマンドが加わります。Symantecからライセンスを受けた、Speed Diskの簡易版です。

  4. 1995

    Windows 95

    これもSymantecのコードによる「ディスク デフラグ」が、クラスタのマップを何百万台もの画面に届けます。

  5. 1996

    Windows NT 4.0

    デフラグツールは付属しませんでしたが、新しいシステム機能によって、DiskeeperなどのツールがWindowsの実行中にクラスタを安全に移動できるようになります。

  6. 1998

    Windows 98

    IntelのApplication Launch Acceleratorによって、デフラグがプログラムファイルを読み込まれる順番に並べられるようになります。

  7. 2000

    Windows 2000とXP

    Diskeeperの開発元であるExecutive Softwareと共同で作られたデフラグツールが搭載されます。バー表示では、断片化したファイルが赤、連続したファイルが青、移動できないファイルが緑、空き領域が白で示されます。

  8. 2003

    Mac OS X 10.3 Panther

    Macのファイルシステムが、ひどく断片化した小さなファイルを、開かれたときに自動でデフラグするようになります。

  9. 2007

    Windows Vista

    デフラグはスケジュールに沿ってバックグラウンドで実行されるようになり、マップは姿を消します。

  10. 2009

    Windows 7

    進行状況がふたたび見えるようになり、複数のドライブを同時に処理でき、SSDはデフラグの対象から外されます。

  11. 2012

    Windows 8:「ドライブの最適化」

    ツールの名前が変わり、SSDを別扱いするようになります。データを動かす代わりに、TRIMを送るのです。

  12. 2017

    APFS

    Appleの新しいファイルシステムは、フラッシュストレージ向けに設計されています。SSDでは、デフラグするかどうかという問いそのものがなくなります。

Windows 10/11のデフラグ(ドライブの最適化)

Windowsは今でもデフラグをしています。目に見えないだけです。ツールの名前は今はドライブの最適化で(スタートメニューで「ドライブのデフラグと最適化」を検索します)、初期設定では週に1回、自動で実行されます。

  • ハードディスクでは、ドライブを分析してデフラグします。
  • SSDでは、代わりに再トリムを行います。もう使われていないブロックがどれかを、ドライブに伝える処理です。
  • FATでフォーマットされた取り外し可能なUSBメモリやSDカードでは、何もしません。

意外に思われがちな例外がひとつあります。システムの復元などのボリュームスナップショットが有効になっていると、WindowsはSSDもデフラグします。頻度はおよそ月に1回です。Microsoftのストレージチームの説明によると、断片化がひどいボリュームではスナップショットが遅くなり、1つのファイルが持てる断片の数というファイルシステムの上限に達することもあるためです。

コマンドラインを使うなら、defrag C: /Aでドライブを分析、defrag C: /Oでドライブの種類に合った最適化を実行、defrag C: /LでSSDを再トリムできます。完全なデフラグには、ドライブの空きが15%以上必要です。

SSDはデフラグすべき?

いいえ。SSDにはヘッドも回転するプラッタもないので、シークも待ち時間もありません。SSDのコントローラーは、コンピュータが使うアドレスと、データが実際に入っているフラッシュメモリのセルとの対応表を自分で管理していて、書き込みを意図的にチップ全体へ分散させています。Windowsから見て断片化しているファイルも、SSDの中では実際にはどこにあってもおかしくなく、どちらにしても読み込む速さは同じです。

デフラグしても、今の場所で何の問題もないデータを書き直すだけです。しかもフラッシュメモリは、書き込める回数に限りがあります。SSD大手のひとつであるSamsungは、デフラグは不要だとはっきり述べており、同社のドライブでは自動デフラグをオフにするよう勧めています。

SSDに必要なのはTRIMです。どのブロックが空いているかをOSがSSDに伝えることで、ドライブは前もってそのブロックを消去しておき、書き込みの速さを保てます。WindowsとmacOSは自動でTRIMを行い、Linuxのディストリビューションの多くはタイマーで定期的に実行しています。

Macにデフラグは必要?

ほぼ必要ありません。クラシックMac OSの時代には、AlsoftのDiskExpressやPlusOptimizer、Norton UtilitiesのSpeed Disk、TechTool Proといったツールが使われていました。Mac OS X以降は、そのほとんどをシステム自身がこなしています。

  • Mac OS X 10.2で遅延割り当てが加わりました。ファイルシステムが新しいデータの置き場所を決めるのを少し待つことで、ひと続きの場所を見つけられるようにする仕組みです。
  • Mac OS X 10.3 Pantherで自動デフラグが加わりました。20MB未満で、8つを超える断片に分かれたファイルが開かれると、ひっそりとひとつながりの場所へ移されます。
  • ホットファイルクラスタリングは、起動ディスクでもっともよく読まれる小さなファイルを、ディスク上に確保された「ホット」な領域に集めます。

当時のApple自身のアドバイスは、Mac OS Xならおそらく最適化はまったく必要ない、というものでした。今のMacはSSD上でAPFSを使っていて、断片化は問題になりません。回転式のハードディスク上のAPFSについては、macOSに切り替えスイッチが用意されています。diskutil apfs defragmentのあとにボリュームと、status、enable、disableのいずれかを指定します。

Linuxでのデフラグ

Linuxのファイルシステムは、断片化を直すより、そもそも起こさないように設計されているので、デフラグが必要になることはめったにありません。

  • ext4は、エクステント(長く連続したブロックを1つの記録で表すもの)、遅延割り当て、そしてファイルのデータをメタデータの近くに置くことで、ファイルをひとまとまりに保ちます。まれに必要になったときのためにe4defragもあります。
  • XFSにはxfs_fsrが付属しています。もっとも断片化したファイルを再編成するツールで、初期設定では1回につき最大2時間実行されます。
  • Btrfsにはbtrfs filesystem defragmentと、マウントオプションのautodefrag(初期設定ではオフ)があります。スナップショットには要注意です。デフラグするとファイルとそのスナップショットのあいだのデータ共有が切れ、使用容量が増えることがあります。

デフラグ画面に見入ってしまう理由

ディスクのカリカリという音と、明るい色から暗い色へ変わっていくマス。そのどこかで、デフラグは「眺めるもの」になりました。ゆっくりと整然と進み、終わりが目に見えていて、一歩ごとに少しずつ片づいていく。そんな作業には、不思議と心が落ち着きます。

今でも、それを求める人がいます。2018年にはTechCrunchが、DOSのディスクを24時間ひたすらデフラグし続けるだけのTwitchチャンネルを取り上げました。ハードディスクの音まで入ったWindows 98のデフラグの何時間もの録画も、YouTubeで今なお見られ続けています。

それこそがDefragmentのアイデアのすべてです。本当にデフラグが必要なディスクがなくても、ディスクが片づいていくのを眺める安らぎを。iPhoneやiPadに架空のディスクを映し、いつまでもデフラグし続けます。テーマはClassic 98を含む6種類。お好みで、横に時刻も表示できます。

よくある質問

SSDはデフラグしたほうがいいですか?

いいえ。SSDには動く部品がないので、断片化しても遅くならず、デフラグは消耗を増やすだけです。代わりにWindowsは自動でSSDにTRIMを送っています。こちらはオンのままにしておきましょう。

Windows 10や11は今でも自動でデフラグしますか?

はい。「ドライブの最適化」は初期設定で週に1回実行され、ハードディスクはデフラグ、SSDは再トリムします。システムの復元がオンなら、SSDもおよそ月に1回デフラグします。

Macはデフラグが必要ですか?

実際にはほぼ不要です。Mac OS Xはバージョン10.3から小さなファイルを自動でデフラグしていますし、今のMacはSSD上でAPFSを使っているので、断片化は問題になりません。

デフラグにはどのくらい時間がかかりますか?

ディスクの容量、ファイルの数、断片化の度合い、どれだけ埋まっているかによって変わります。1990年代のパソコンでは完全なデフラグに何時間もかかることがあり、Windows 98の解説書でもまさにその点が注意されていました。今のWindowsはスケジュールに沿って実行するので、1回ごとにやることはたいてい多くありません。

デフラグを途中で止めても大丈夫ですか?

はい。そのために「一時停止」と「停止」のボタンがありますし、デフラグツールは断片を1つずつコピーして確認してから、古い場所を解放します。ただし突然の停電は話が別です。バッテリー残量がわずかなノートパソコンでのデフラグが、昔からおすすめできなかったのはそのためです。

デフラグでファイルは消えますか?

いいえ、移動するだけです。ただし空き領域を上書きするので、以前に削除したファイルはあとから復元しにくくなります。

デフラグにはどのくらいの空き容量が必要ですか?

ファイルを動かすための余裕が必要です。Microsoftは、完全なデフラグにはドライブの15%以上の空きが必要だとしています。それより少ないと、一部のファイルは断片化したまま残ります。

Windows 98のデフラグが何度も最初からやり直しになったのはなぜですか?

作業中に、ほかの何かがディスクに書き込んだからです。よくあるのはスクリーンセーバーや、バックグラウンドで動いているプログラムでした。そうするとデフラグツールが持っているディスクのマップが古くなるため、最初からやり直したのです。ほかのプログラムを閉じて、スクリーンセーバーをオフにすると改善しました。

「各ボックスは1つのディスク クラスタを表します」とはどういう意味ですか?

Windows 95/98のマップでは、1つのマスが1つのクラスタを表していました。クラスタとは、ファイルが使えるディスク領域の最小単位です。色は、そこに何が入っているかを示していました。片づいたデータ、これから移動するデータ、空き領域などです。

デフラグをもう一度眺めることはできますか?

はい。iPhone・iPad向けのDefragmentが、まさにそれです。いつまでもデフラグし続けるディスクで、Classic 98テーマもあります。本物のデータには一切触れません。

片づいていくのを、もう一度。

Defragmentは、iPhoneとiPadのための、のんびり終わらないデフラグです。無料で、6つのテーマと時計つき。本当にデフラグするものは何もありません。

近日配信 App StoreDefragmentを見る

出典

マニュアル、MicrosoftとAppleのドキュメント、当時の資料と照らし合わせて確認しています。

  1. Microsoft: Disk defragmentation background and engineering the Windows 7 improvements (2009)
  2. Microsoft: Disk defragmentation in Windows 2000
  3. Microsoft Learn: defrag command
  4. Microsoft Learn: Optimize-Volume
  5. Microsoft Support: Defragment or optimise your drives in Windows
  6. Microsoft KB Q120962: DEFRAG in MS-DOS 6 is developed by Symantec
  7. Microsoft KB Q160043: bad clusters in the Disk Defragmenter map
  8. Microsoft KB Q155679: Windows NT 4.0 has no disk defragmenter
  9. Microsoft KB 186978: Disk Defragmenter restarts repeatedly
  10. Intel: Application Launch Accelerator announcement (1997)
  11. Scott Hanselman: Does Windows defragment your SSD? (2014)
  12. Apple: About disk optimization with Mac OS X (HT1375)
  13. Amit Singh: Fragmentation in HFS Plus volumes
  14. Linux kernel documentation: ext4 block and inode allocators
  15. xfs_fsr manual page
  16. Btrfs documentation: Defragmentation
  17. Samsung Semiconductor: SSD FAQ
  18. Wikipedia: Hard disk drive performance characteristics
  19. Wikipedia: Quantum Bigfoot
  20. Seagate Barracuda 7200.14 data sheet
  21. Seagate Momentus 5400 product manual
  22. Alsoft: company history
  23. Wikipedia: Norton Utilities
  24. Wikipedia: Diskeeper
  25. TechCrunch: Watch a hard drive defrag forever on Twitch (2018)