【HDDの format 】.txt (2002年4月) ★formatの 'コツ'.....初級〜中級の方のために。 Win98で 【クラスタサイズ】を指定をしないでHDDをフォーマットすると、 Win98標準の【4KBクラスタ】でフォーマットされますが、これは 損だと思います。 多少は '無駄なエリア'も生じますが、 HDDは大容量・低価格になりましたから ケチって【4KBクラスタ】でフォーマットする必要はありません。 ディスクアクセスが遅くなるだけです。 初期設定でフォーマットすると【4KBクラスタ】にされてしまいます。 こうなると 「Windowsが HDD内の目的地を捜しまくる時間」が増えます。 今回 私は、先頭領域は その高速性を活かす意味で【16KBクラスタ】とし、最後方の領域は【4KBクラスタ】としました。 (中間の領域は【8KBクラスタ】)  ※フォーマットする時の【クラスタサイズ指定方法】は簡単です。  その意味と理由を 先に説明します。 1台のHDDを fdiskコマンドで【領域分割】しますでしょ。 【領域分割】をした場合、先頭の領域が「最も高速である」ことを覚えておいて下さい。 1台のHDDの内部に3枚の円盤が入っているとします。(それぞれの円盤は プラッタ と呼ばれます。) で、 HDDを fdiskコマンドで C、D、Eドライブに領域分割(パーティーション分割)したと仮定します。 その場合 Cドライブは 外側です。 各円盤の表と裏に、外側から内側に向かって 同心円のトラックが存在します。 (外側から順に 'トラック 0' 〜 'トラック 9999' 〜。「運動場の第1コース・第2コース」みたいなもの。) 1枚目の円盤の表側は 'サーフェス 0'、裏側は 'サーフェス 1' と呼ばれます。 2枚目の円盤の表側は 'サーフェス 2' です。 'サーフェス 0' から 最後のサーフェスまでの 全サーフェスの「最も外側のトラック」を ひとまとめにして、 【シリンダ 0】と呼びます。 そして、内側に向かって 【シリンダ 1】、【シリンダ 2】と続きます。   ※↑これは工業規格として決められている事です。    どこかの会社のターミナルアダプタ・モデムみたいな「そのメーカーが勝手に決めた規格・用語」ではありません。 【シリンダ 0】、【シリンダ 1】〜〜【シリンダ 9999】という感じで続きますが、 C、D、Eドライブに領域分割した場合 若いシリンダ番号の部分が Cドライブです。  (つまり外側。) そして、外側の方が高速に読み書きできます。   ※20年前のHDDは 物理セクタの設置が単純な扇状でしたから    外側も内側も 読み書きスピードは同じでした。    このような、'単純な扇状'にブロック設置されているHDDでは、    1回転当たりに読み書き出来るブロック数は 外側も内側も 変わりはありません。    ところが、現在のHDDは 外側の部分はセクタ数が多く設置されていますから、    1回転あたりの'読み書き出来るブロック数'は 外側の方が多いのです。    だから外側の方が高速処理できるのです。 【1〜2世代前のHDD(あるいは 少し安いHDD)の Cドライブ】と 【新しい世代のHDD(あるいは 少し高いHDD)】の Eドライブ】を 比較して  速度競争をしたとしましょう。 すると、 【1〜2世代前のHDD(あるいは 少し安いHDD)の Cドライブ】が 勝つ事が多いのです。 だから、 領域分割した後、formatする時は、 Cドライブ と 画像データー専用ドライブ 等は 「高速性を活かすformat」をした方が賢いでしょう。 PCの部品の中で 極端に遅いデバイスがあります。それはHDDです。  (3ケタも4ケタも数値が低いのです。) つまり、HDDが遅いことが ボトルネックとなって 「私のPC遅いな〜」・・となるのです。 PCに限らず、最も弱い部分を強化すると 大幅に改善されます。 CPUが少々遅くても HDDが速いと不自由を感じません。 とにかく CPUを高速化したPCを宣伝するのは、あれはメーカーの販売戦略です。  (昔から そうです。) さて、初期設定でフォーマットすると、1クラスタ当りのサイズ=【4KB】にされてしまいます。  (「Windowsが HDD内の目的地を捜す時間」が長くなります。)  ※クラスタ =【論理ユニット】。   読み書きする時の 'ひとまとまり' の論理ブロック。   クラスタ単位で HDDの中に 'データ保有ブロック' が散在し、   「次のブロック番号」という意味の 【論理接続情報(アロケーション情報)】が FATに格納されている。   この情報を頼りに Windowsが HDD内のデータブロックを捜しつつ データを読み書きする。   従って、   【1クラスタ当りのサイズ】が小さいと、同じデータ量でも データブロックを捜す回数が増えるのです。   デフラグで最適化したHDDでも、データブロックを捜す回数は減りません。   デフラグで最適化すると 全てのデータブロック同士が“隣り合わせ”となり、ヘッドの移動量が減るだけです。   “通り過ぎ”による回転待ちが多いか少ないかは HDDメーカーの腕の見せ所でしょう。   フラグメントの次に“読み書き時間”に大きく影響するのは データブロックのサイズです。   つまり、クラスタのサイズです。 Cドライブを【16KBクラスタ】位で formatするように お勧めする根拠は そういう訳です。 私のPCは CPUが世間の一般よりも低速ですから、 それを 少しでもカバーする意味で 【16KBクラスタ】を多用しました。 特定のIDE_HDD は4つに分割していますが、【16KB、16KB、8KB、4KB】で formatしています。 最後の領域は どうせ遅いですから、【4KB】としました。  ※【追記】 : 動作テストのビデオを公開した後、   7200回転の Cドライブとデーター専用ドライブを【32KBクラスタ】にしてみました。    (クラスタサイズの変更は 【DriveWorks】を利用。)   やっぱり 【32KBクラスタ】の方が高速です。 10000回転〜15000回転クラスのHDDの場合は 先頭領域は【32KBクラスタ】にするのも効果的かもしれません。 回転数の低いHDDでこれを行うと 'サーチタイム'の点で デメリットも大きいようにも感じます。 (深く考えてはいませんが。)   ※私のHDDは 7200回転と5400回転。   ※HDD円盤で(目的のトラックを捜して)ヘッドが「中心側→外側→中心側」と移動する動作を【シーク】と呼びます。    目的のトラックにヘッドが到着した次は、    目的のブロック(クラスタ)が廻ってくるまで '待つ'・・という動作になります。 これを【サーチ】と呼びます。    それぞれの所要時間を【シークタイム】、【サーチタイム】と表現します。    これは HDDの性能を推し量る時の重要な目安となります。 1回に読み取るブロックの【データのサイズ】が小さいと、データ読み取りの回数が増えます。 つまり、「Windowsが データを読み書きする時間」が長くなるのです。   ※実際には ↑上記の説明は 正確ではないのですが、説明が長くなるので、まあ いいでしょう。 ====================== 'シーク'と'サーチ'によって辿り着いた目的地(ブロック)が【クラスタ】です。   ※クラスタ という用語は OSによって異なりますし、    管理手法も異なります。    それぞれのOSの管理手法において、    工業規格として定義された部分と そうでない部分とが混ざっています。 さっきから 【4KBクラスタ】とか【16KBクラスタ】とかの言葉を使っていますが、 HDDをformatする時に この1つの【クラスタ】のサイズを 指定できるのです。 全てのドライブを【32KBクラスタ】で指定すると「高速で良さそう」・・と感じるかも知れません。 でも、【32KBクラスタ】の場合に限らず、 たった1バイトのファイルを保存しても 1つのクラスタが占有されるのです。 つまり 無駄な部分が発生します。これを【クラスタギャップ】と呼びます。 ↑この“無駄”を減らす意味で 【4KBクラスタ】=標準 となっているのでしょう。  無駄な部分を少なくするには【4KBクラスタ】の方が有利です。ただし、遅くなります。 物理的に3割ほど高速なHDDを買おうとすれば、2倍近い予算が必要です。 現在 HDDは低価格なので、【クラスタギャップ】をケチるよりも、スピードを優先する方が賢いでしょう。 ================================= ★HDDをformatする時の 【クラスタサイズの指定方法】  ※必ず「英字 半角」で入力する。(語間の'空白'も半角で入力。)   大文字・小文字は 関係無し。(format D: でも FORMAT d: でも同じ。)   行頭に空白を入力してはいけない。   入力の最後に【Enter】を押せば実行される。 フロッピーで起動した後、次のコマンドを入力すると、     ↓下記の D: で指定したドライブがフォーマットされます。 format D: その時、単純に「format D:」と入力しないで、 次のように入力すれば良いのです。(下記の ■の部分は'数値'。 半角数字。) format D: /Z:■   ■の部分↑は、「クラスタサイズ(KB) × 2」を表す数値を指定します。 たった これだけです。簡単でしょ。 例えば、 10000回転の高速HDDを持っていたと仮定します。 その高速性を活かす意味で 【32KBクラスタ】でフォーマットしたい・・・と仮定します。 その場合は format D: /Z:64 と入力すればOKです。   ※■の数値は「クラスタサイズ(KB) × 2」の数値であるように説明しました。    指定方法として この方が覚え易いのですが、    本当は 別の意味です(後述)。 =========== もうひとつ、ついでに。 format D: /Z:■ と入力するように説明しましたが、 ついでに /U も追加する事をお勧めします。 format D: /Z:■ /U と入力します。  (/Z:■ と /U の順番は 任意でOK。) /U の「U」は、UnformatのU の意味です。 つまり、 【format前の状態に戻せないようにフォーマット】する---という意味です。 通常は /U を付記しませんから、 【format前の状態に戻せるようにフォーマット】されます。   ※【/U 無し】の場合、アンフォーマット情報が保存されます。 【/U 無し】は 良さそうですが、次の2つの理由で、/U を付記した方が良いのです。 <その1> format前の状態に戻すためには Unformatコマンドを使うのですが、 Win98SEの Commandフォルダの中を見て下さい。 このコマンド 無いんです。 戻すためのコマンドが無いのに、アンフォーマット情報を保存して どうするんだい? 誰か、教えてチョ〜ダイ。   ※私は Win98 と Win98seを合わせて50回近くインストールしましたが、このコマンドを見たことがありません。    Dos6.2ではこのコマンドが存在していましたが、    このこのコマンドを実行した事もありません。だって、formatする時には 誰だって慎重に入力します。 どうせ 【format前の状態に戻せない】のであれば、 Norton Utilities で、 【キレイにデータを消しながらデフラグ実効】するオプションが存在するように、 何か事件があった時に 'ごみデータ' が残っていない方が良いでしょう。 <その2> 【アンフォーマット情報を保存しながら】のformat実行は、'メモリ不足' が発生しやすいのです。  (コンベンショナルメモリ不足。) 「情報を保存」する動作のために '基本メモリ' が大量に使われるからです。  例 : /U を付けずに 【format C: /S】を実行すると、領域サイズが小さくても エラーが起きます。 format D: /Z:■ /U とか、 format D: /U などの実行スタイルでフォーマットすれば この 'メモリ消費' が発生しません。 従って、 format D: /U /S といったスタイルで 一緒に【システム転送】も指定できます。   ※/U を付ければ 【アンフォーマット情報】を保存しないので ↑ 大丈夫です。    どの位のHDD領域サイズまで大丈夫なのかは 調べていませんが、    10GBクラスは「楽勝」です。    20GBでも大丈夫なんじゃないかな?     (formatコマンドでCドライブをフォーマットする時、      そんな大きなサイズで領域指定しないでしょ。無駄だもん。)    ある知人のPCについても この方法でフォーマットしました。    私は いつも /U を付けます。    どうせ formatするなら『きれいサッパリ』と format したいです。 Cドライブをフォーマットする場合は、 一緒に【システム転送】を指定しないならば、後で sysコマンドを実行する必要があります。  (これを忘れて Windowsをインストールしようとした人もいます。) PC雑誌の解説で、次のような解説を時々見かけます。(数百万人が見たでしょう)  『HDDを formatする時は /S を付けずに実行すること。   /S を付けてformatすると エラーが起きる事があるから。』 上記の記述は 半分は正しいですけどネ・・・(エラーは起きますから。)。 =========== ◆【format D: /Z:■ の「数値■」の意味】 この「数値■」は 実は、「クラスタサイズ(KB) × 2」という意味ではありません。  (そう思って入力してOKだが。) 本当の意味は、【クラスタ当たりのセクタ数】なんです。 つまり、 『希望するサイズのクラスタ1つに '何セクタ保有させるか'』--- を指定するのです。 で、 PC/AT互換機では 1セクタのサイズ=0.5KB ですから、 『64セクタ保有させます』という意味で /Z:64 と指定すれば 結果的に  1クラスタのサイズは 32KBとなります。(同じ事です。) クラスタサイズを指定する目的で この項目が存在するんですから、 「クラスタサイズ(KB) × 2」と考えた方が 覚えやすいです。 ============================================ ============================================ ・おまけ ======= 【Dosの知識・Dosの操作】をマスターしても Windows上で高度な処理は出来ませんが、 Windowsがピンチになった時の助太刀となります。 【Windows上の高度なツール】というものは、あくまでも 「Windowsが正常に動作している事」が前提となっています。 Windowsでソフトを操作する事は簡単になりましたが、Windowsのメンテナンスは 簡単に なっていません。 初級の方は、WindowsとDosコマンドとの関連について 【初・中級者への補足説明.sy3】というテキストファイルを HPでダウンロード出来るようにしてあります。  (これは 【田中式処置】とは無関係です。) これを読めば、 たくさんのDosコマンドの内 どれを読めばすぐに役に立つか 書いてあります。 詳しい事を知りたい方は Win98に準拠した【Dosコマンドの本】を買って読んで下さい。 Win98初期バージョン発表当時の【Windows98に隠されたDosの秘密】という本があります。 (¥2,000) セカンドエディション用に書かれた【Dosコマンドの本】があるか無いかは知りませんが、 【Windows98に隠されたDosの秘密】でも充分です。 その理由は、 初期バージョンとセカンドエディションのDosコマンドを比較すると、 殆どのコマンドが その中身が 同じだからです。 IO.sysと fdisk・format関係の3つ程度が違うだけだったと記憶しています。 違うコマンドの場合も、コマンドの使い方は同じです。 難しい内容も書かれていますが、全て理解する必要はありません。 Win98のDosは ver7.1で、Win95のDosは ver.7.0で、その前のDosは ver.6.2 です。 Dos6.2のマニュアルに書かれていない事は Dos5.0のマニュアルに書かれています。  (5.0の解説が「前提」となっています。) ver.3.0あたりのDosマニュアルは【ディスクアクセスの仕組み】を理解する上で勉強になります。  という感じで、 きちんと理解しようとすれば 最後には ver2.11のDosまで行ってしまいます。 この ver2.11のDosが 実質的に【パソコンOSの最初のスタンダード】です。 探求心のある方は読んでみるのも良いでしょうが、 ver2.11のマニュアル1冊だけでも¥3,500もします。 ver2.11の頃 私はBASICとマシン語で、Dosを使い始めたのは ver.3.1からでしたが、 これを理解するためには  どうしても ver2.11のマニュアルをある程度は読む必要がありました。 だから、 【Windows98に隠されたDosの秘密】というタイトルに誘惑されて「全部読もう」と思わない事が肝要です。 【Windows95に隠されたDosの秘密】という本もあります(こちらは 上巻・下巻の2冊)。 でも、Win98を使うなら無理に買う必要はありません。   理解を補う意味では上巻でしょうが、   コマンドやドライバの役割を理解する目的なら、【Win95〜秘密】よりも Dos6.2のマニュアルの方が有益です。   下記の2冊は 今でも現役で販売されています。Dos6.2の本としては次の2冊がお勧めです。   【MS-Dos6.2/V 標準マニュアル 翔泳社】、【MS-Dos6.2 ハンドブック アスキー出版局】   どちらか1冊に限定するなら前者です。   『Win98を使うのだから Win98以前の本は無用である』・・・なんて事ありません。