• 締切済み

断片化を引き起こす要因について

最近のHDDは大容量のものが増え、デフラグも大変なので、パーティションを分け、小さい領域以外はバックアップ領域として、(デフラグしても良いドライブ上で)編集し終わったデータを移動(保存)した後は、ファイルを開く、ファイル名を変えるのみに留め、データの編集・削除・移動は一切せず出来るだけ断片化しないように心がけています。 そこで質問なのですが、ファイルを使用したり、ファイル名を変えるだけでも断片化してしまうのでしょうか。ファイル名自体はファイルサイズに関係ないようなので、クラスタは消費しなそうですし、OSとも分けた純粋なデータのみのバックアップドライブにしているので、キャッシュやテンポラリファイルも無いはずなので、断片化はしないのではないかと想像しているのですが、「ファイルを開く・ファイル名の変更」が断片化を招かないという確信が持てません。 ファイルの使用・ファイル名変更だけでも断片化は起こるのか。ファイルシステムによって違いはあるのか教えて下さい。詳しい解説のあるHPなども教えて頂けると嬉しいです。

みんなの回答

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

No.1です。回答します。 以下、今までの経験に基づく推測が含まれていることをお断りしておきます。 > やはり、ファイルのRead、名前の変更は断片化には繋がらないのですね。 ディスクは既にお気づきのように管理部とデータ部を持っています。 Readはもちろん参照のみですが、名前の変更は管理部を書き換えるだけですから瞬間的に終わります。 データ部の移動がありませんから当然フラグメンテーションも起こりません。 > 同一ドライブ上でXというフォルダ配下にAとBというフォルダがあって、 > AからBや、AからXなどにファイルを移動したら、当然断片化は起こりますよね。 実はこの場合データ部は書き換えを行っていないようです。 リネームよりは時間が掛かりますが移動よりは遥かに早いです。 つまりデータ部は書き換えずにディレクトリーテーブルの再編成のみを行っているものと思われます。 > 仮にAフォルダをCフォルダにリネームした場合、 > Windowsからするとある意味場所を移動したとも言えると思いますが、 > この場合は断片化するのでしょうか。 >それともファイルのリネームと一緒で、断片化には繋がらないのでしょうか。 これは実際にやってみればすぐにわかりますが時間はほとんど掛かりません。 つまり、ファイルのリネームと同じことをやっていると推測されます。 > また、新規ファイルの作成がファイルの場所移動を伴うというのは、どういうことでしょうか。 これは文章のつながり上の不手際でした。 おっしゃる通り新規作成はファイル移動は伴いません。 失礼しました。 > 上書き保存についての説明は半分なるほどと思いましたが、半分疑問が残りました。 > 旧ファイルと新ファイルを瞬間的に2つ保有すると言うのは、メモリと仮想メモリ上にでしょうか。 > 上書き作業を行うドライブ上だとすると、上書きするファイルサイズと同等の空きが > 無ければいけないことになりますが、それ以下の空き容量でも上書きしています。 > 仮想メモリだとしても、仮想メモリとして使われてしまえば断片化してしまいますね。 > 決して仮想メモリとしては使わないようにしなければ・・・ 上書きするファイルサイズ以上の空きが無いとダメなような気がしますが。 デフラグなどでは「空き容量が不足しています」と言うメッセージが出ます。 うまく行くとすれば、ファイルをいくつかに分割しその中の更新が必要な部分のみを 2重に持つという方法を使えば可能かも知れません。 > 疑問を残さず、しっかりと理解したいので、 > この件について、理解するのに参考になるURLをご存知でしたら、教えて頂けると嬉しいです。 ハウツーは多いのですが細かい仕組まで解説しているものがなかなかありませんね。 Wikipediaの「フラグメンテーション」ではフラグメンテーションの基本を図解で示しています。参考になれば。

carbonara2006
質問者

補足

遅くなってしまい、すみません。 >ディスクは既にお気づきのように管理部とデータ部を持っています。 言われて見れば、なるほどなと思うことばかりですが、知りませんでした。 フラグメンテーションという意味では使えませんが、パケットで言うと、管理部(ヘッダ情報)データ(ペイロード情報)みたいなイメージですね。 データを別フォルダに移動、またはフォルダをリネームしても、管理部のディレクトリーテーブルという情報を「保存場所が、AからB(X)に変わったよ」と書き換えてるだけで、データ部に変化は無いと言うことですね。 通常、断片化したデフラグすると言うのはデータ部の領域で、管理部の領域はいくら書き換わってもサイズを持たないと言うか別物ということなんでしょうか。探して見たのですが、ちゃんと解説しているサイトは中々無いですね。 ということは、断片化の原因となる行為は、ファイルAを作成(保存)した後に、新たなファイルB(C、D・・・)を保存し、その後、ファイルA等(後ろにデータの無い最後のデータ以外)を削除または、編集(サイズアップ)し、最後尾にまでデータが溢れてしまった場合の2つのみと言うことのようですね。 >上書きするファイルサイズ以上の空きが無いとダメなような気がしますが。 >デフラグなどでは「空き容量が不足しています」と言うメッセージが出ます。 >うまく行くとすれば、ファイルをいくつかに分割しその中の更新が必要な部分のみを >2重に持つという方法を使えば可能かも知れません。 例えばDドライブに100MBのデータがあって、Dドライブの空き容量が70MB。Cドライブにも同じファイルがあって、CからDにコピー(上書き)すると、100MB以上の空きが無いので、エラーが出ると言うことでしょうか。サイズは違いますが、先ほどテストしたのですが、これは成功しました。同じファイルなので更新された部分がない(0MB)なので成功しただけで、仮に編集し、更新された部分が70MBを超えてたらエラーが出たのかもしれませんね。 空き容量が無いとデフラグでエラーが出るとは聞くのですが、エラーが出た場合、何を上書きしようとした事に対しての容量不足なのでしょうか。 >Wikipediaの「フラグメンテーション」ではフラグメンテーションの基本を図解で示しています。参考になれば。 デフラグメンテーション ttp://ja.wikipedia.org/wiki/%E3%83%87%E3%83%95%E3%83%A9%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3 の方でしょうか? フラグメンテーション の方は、メモリの話のようです。 ttp://ja.wikipedia.org/wiki/%E3%83%95%E3%83%A9%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3 Mac OS X 10.2以降やLinuxはフラグメンテーションが起こりにくいのですね。セキュリティ的にもWindowsは標的にされやすいし、実用面で、Windowsとも互換性が問題無いレベルになって、仕事や趣味の世界でも使えれば魅力のあるOS達なんですけど、今の社会ではどうしても使わざるを得ないですし、Windowsの独擅場ですよね。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

ファイルのREAD、名前の変更はファイルの場所が変わりませんので 断片化とは無関係です。 新規ファイル作成、上書き保存、ファイル移動はファイルの場所移動が 伴いますので断片化の要因になります。 又ファイル削除も飛び飛びの空きエリアを作りますから これも断片化の伏線です。 なお、上書き保存は場所が変わらないと思っている人が多いですが 旧ファイルと新ファイルを2つ同時に保有してから瞬間的に 旧から新に切り替えると言うことをやっています。 途中で失敗したときの戻しのためです。 上書き保存の時に空きエリア不足のエラーになるのはこれが原因のことが多いです。

carbonara2006
質問者

補足

回答有難うございます。 やはり、ファイルのRead、名前の変更は断片化には繋がらないのですね。 ファイルの場所の移動という言葉を読んで、ふと思ったのですが、仮に、同一ドライブ上でXというフォルダ配下にAとBというフォルダがあって、AからBや、AからXなどにファイルを移動したら、当然断片化は起こりますよね。仮にAフォルダをCフォルダにリネームした場合、Windowsからするとある意味場所を移動したとも言えると思いますが、この場合は断片化するのでしょうか。それともファイルのリネームと一緒で、断片化には繋がらないのでしょうか。 また、新規ファイルの作成がファイルの場所移動を伴うというのは、どういうことでしょうか。ファイル作成後、同一ドライブに異なるデータを保存した後、先に新規作成したファイルを編集(サイズ変更)すれば移動するというのは分かるのですが、ファイルを作成しただけで断片化するとなると、質問文にあるように別ドライブから編集済みのデータを移動しただけで断片化してしまうことになり、程度に差はあれ、どんなに注意しても意味が無いように思えてしまいます。 上書き保存についての説明は半分なるほどと思いましたが、半分疑問が残りました。 旧ファイルと新ファイルを瞬間的に2つ保有すると言うのは、メモリと仮想メモリ上にでしょうか。上書き作業を行うドライブ上だとすると、上書きするファイルサイズと同等の空きが無ければいけないことになりますが、それ以下の空き容量でも上書きしています。 仮想メモリだとしても、仮想メモリとして使われてしまえば断片化してしまいますね。決して仮想メモリとしては使わないようにしなければ・・・ 疑問を残さず、しっかりと理解したいので、この件について、理解するのに参考になるURLをご存知でしたら、教えて頂けると嬉しいです。

関連するQ&A

  • 断片化の解消方法

    Win7 32Bit を使用しています。 HDDはOSが入っている“1台目”とバックアップ用の“2台目”があります。 1台目はCドライブの次にデータ領域としてJドライブをパーテイション分けしてます。 基本はJドライブにデータを入れていますが、同時に手動で2台目のKドライブにも バックアップを保存しているのですが、Jドライブ内で保存&消去を繰り返している内に 断片化がかなり進んできました。 そのままJドライブをデフラグしてもいいのですが、一度Kドライブに“そのまま” データを移動し、Jドライブをフォーマットした後に退避させたKドライブから再度 データをペーストし直せばデフラグしたのと同じ効果があるのかな・・・? と思いました。 Kドライブも“入れたり消したり”をしているのでJドライブ同様に断片化してると思いますが このような方法で初期化したJドライブにデータをペーストし直した場合、データは きれいに配列しなおした断片化してない状態で書き込まれるのでしょうか? 詳しい方がいましたら教えてください。

  • Windows7のSystemディスク断片化

     最近、Windows7に移行しました。XP時代はパーティションせずに使用していた為、デフラグ対象は1ディスクでした。Windows7は、立ち上げてみたらデフラグウィンドウに「System」というのとCドライブの2つが対象ディスクとして選べるようになっていました。Cドライブは定期的なデフラグで断片領域を0%に出来るのですが、「System」という方は減りもせず刻々と増えていっています。断片領域を0%に出来るとは思っていませんが、デフラグ掛けて「減らない」というのが腑に落ちません。フリーのデフラグツールをいくつか試してみましたが断片領域の数値は変わりませんでした。  ネットで調べてみましたが、回答となるものが見つかりませんでした。予想でも構わないのでコメントお願いします。

  • 断片化したファイルの処理

    デフラグをしたところ、 ・ボリュームサイズ:18.62GB ・使用領域:13.31GB ・空き領域:5.32GB ・空き領域の割合:28% ボリュームの断片化 ・全体の断片化:16% ・ファイルの断片化:32% ・空き領域の断片化:1% という結果が出ました。この場合処理としてどのようなことをしてやればよろしいでしょうか? PCを軽くしてあげたいのですが… よろしくお願いします。

  • HDDの断片化について

    今HDDの空き容量が数%しかなく、Windowsのデフラグツールが使えません。 ノートンのデフラグツールを使用したことがあるのですが、数%の空き容量ではとても時間がかかって使い物になりませんでした。 断片化が起こる原因は1つのファイルを連続してHDDに書き込めていないからと聞いたことがあります。 それならばデフラグで長時間かけるよりも、フォーマットしたHDDを1つ用意してそちらにデータをすべて移動すればツールを使わずとも断片化を解決でき、しかもデフラグするよりも早いだろうと思ったのですが実際のところどうなのでしょうか? 詳しい方がいましたら回答よろしくお願いします。

  • 断片化が直りません

    NECのPCVC500/1 WindowsXPを使用しています。 動作が遅くなった為でフラグをやったところCドライブがかなり断片化したファイルが表示されました。 しかし何度デフラグをやっても断片化ファイルが直りません。 最適化中でも13%ぐらいまではかなりの時間がかかりますがその後はいきなり98%ぐらいまでいっきに進み終了してしまいます。 インターネットなどは普通にやれますがかなり気になります。 このような状態の場合にCドライブをこのまま使用してもいいのでしょうか?断片化の表示はかなり散らばった表示になってます。 直し方などありましたら教えてください。お願いします。

  • デフラグを行い断片化を解消したいのですが。

    環境は富士通のデスクトップ FMV C6/86L、Windows XP、です。 メモリーは512 MB、CPUは Pentium III 866 MHz コンピュータはC-ドライブから立ち上がります。 C-ドライブにあるファイルの断片化を解消しようとデフラグを試みました。C-ドライブは36GBあり、未使用の領域が35%、13GB残っています。 ところが最適化後の断片率は33%もあるのです。何故でしょう。

  • 断片化されたファイル

    断片化されたファイル Cドライブをデフラグをしましたら断片化されたファイル(結構多く)がそのまま残りました、もう一度デフラグをしようとすると適正化されているので必要なしと表示されます。 このままでいいのでしょうか。

  • 断片化したファイル

    こんばんは。 デフラグを終えたときにこのような忠告がでました。 『断片化が進んでいるため、次のボリュームのシステムパフォーマンスが低下しています。 ボリューム ファイルシステム IBM_PRELOAD (C:) NTFS 断片化を解消しないと、システムの信頼性が落ち、データが壊れたり、バックアップに長時間かかったり、青画面、クラッシュ、ソフトウェアの競合などが起こったりすることがあります。 システムのパフォーマンスを向上するには、Diskeeper Lite を実行してください。システムの信頼性を保ち常に快適に操作できるように、デフラグ処理を自動化するには、Diskeeper のフルバージョンを購入してください。 手動でデフラグするには、このウィンドウを閉じ、Diskeeper Lite を実行してください。』 そこで「最も断片化が進んでいるファイルを見る」で見てみたところ、 断片  ファイルサイズ  ファイル名 2,536   1,014MB    ¥hiberfil.sys[除外されました] とでました。これってどうすればいいんですか?ファイルが見つからない上、どんなファイルなのかもわかりません。いらないのであれば削除したいです。 過去の質問で調べてみましたが、これといって当てはまるのがありませんでした。 わかる人がいらっしゃったらぜひ教えてください。よろしくお願いします。

  • 驚速デフラグ2の断片化ファイル

    こんばんは。 vistaで驚速デフラグ2を使っています。 ステルス、スペース、完全名前順、起動前のシステムファイルといった順番でデフラグしました。 すると断片化率0.71%までデフラグされました。(断片化ファイル数2) そのあとはいくらデフラグしても0.71%を下回りません。 レポートで調べると断片化ファイル数2はCドライブのMFTファイルでした。 このMFTファイルとはなんでしょうか? なぜデフラグされないのでしょうか? もう1台のXPパソコンは断片化率0.00%で気持ちが良いのですが....。 ちなみにvista対応にアップデート済みです。 vistaで断片化率0.00%までデフラグ出来た方いらっしゃいますか? 宜しくお願い致します。 ちなみにCドライブは40GB中20GB使用しています。

  • 断片化されたもの

    前からハードディスク(特にCドライブ)の空き容量を増やそうとディスククリーンアップなどをやっているのですが、ディスクデフラグをすると赤い断片化されたファイルがたくさんあって、なかなか減りません、何か解消する方法はないでしょうか。