Solaris オペレーティングシステムと一緒に出荷される format.dat ファイルでは、多数の標準的なディスクがサポートされます。使用中のディスクドライブが format.dat ファイルに含まれていない場合は、ファイルにエントリを追加するか、format ユーティリティで処理を実行中に type コマンドを選択してから other オプションを選択してエントリを追加できます。
ディスクドライブをサイト全体で使用する場合は、format.dat ファイルにエントリを追加すると時間を節約できます。format.dat ファイルを他のシステム上で使用する場合は、format.dat ファイルに追加する特定のディスクドライブを使用するシステムごとに、このファイルをコピーしてください。
次のいずれかの場合には、システムの /etc/format.dat ファイルを変更する必要があります。
ディスクが Solaris オペレーティング環境でサポートされない場合
スライステーブルが入っているディスクが、Solaris オペレーティング環境のデフォルト構成とは異なる場合
/etc/format.dat ファイルのデフォルトエントリは変更しないでください。デフォルトエントリを変更する場合は、混乱を避けるために、そのエントリをコピーし、別の名前を付けてから変更します。
/etc/format.dat は、EFI ラベル付きディスクには適用できません。
format.dat データファイルには、format ユーティリティに使用されるディスクドライブ情報が入っています。format.dat ファイル内では、次の 3 つの項目が定義されています。
検索パス
ディスクタイプ
スライステーブル
/etc/format.dat ファイルには、次の構文規則が適用されます。
ポンド記号 (#) はコメント文字です。ポンド記号に続く 1 行のテキストは、format ユーティリティでは解釈されません。
format.dat ファイル内の各定義は、1 つの論理行で評価されます。定義が長すぎて 1 行に収まらない場合は、定義の最終行を除くすべての行末にバックスラッシュ (\) を付けなければなりません。
定義は、左辺に識別子、右辺に 1 つまたは複数の値を持つ一連の代入式からなっています。代入演算子は等号 (=) です。定義内の代入式はコロン (:) で区切らなければなりません。
format ユーティリティは、空白を無視します。代入値に空白を含める場合は、値全体を二重引用符 (") で囲みます。この構文により、引用符の内側の空白は代入値の一部として保持されます。
代入式によっては、右辺に複数の値を指定できるものがあります。値はコンマ (,) で区切ります。
format.dat ファイルには、format ユーティリティが起動時に読み込むディスク定義が含まれます。各定義の先頭には、キーワード disk_type または partition が付きます。これらのキーワードについて、次の表で説明します。
表 36–6 format.dat ファイルのキーワードの説明
キーワード |
用途 |
---|---|
disk_type |
コントローラとディスクのモデルを定義する。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が入っている。デフォルトのデータファイルには、Solaris オペレーティング環境でサポートされるコントローラとディスクの定義が入っている。 サポートされないディスクを使用する場合にのみ、新しい disk_type を追加する必要がある。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまわない。 |
partition |
特定のディスクタイプのスライステーブルを定義する。スライステーブルには、スライス情報だけでなく、format ユーティリティ内で参照可能な名前が入っている。デフォルトの format.dat ファイルには、数種類のディスクドライブに対応するデフォルトのスライス定義が含まれる。システムのディスク上にスライスを作成し直した場合は、スライス定義を追加する。必要に応じて、スライス情報をデータファイルにいくつ追加してもかまわない。 |
format.dat ファイル内の disk_type キーワードは、コントローラとディスクのモデルを定義します。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が含まれます。デフォルトの format.dat ファイルには、Solaris オペレーティング環境でサポートされるコントローラとディスクの定義が入っています。サポートされないディスクを使用する場合にのみ、新しい disk_type を追加する必要があります。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまいません。
キーワード自体が、ディスクタイプ名になります。この名前は、ディスクのラベルの一部になり、format ユーティリティの実行時にディスクタイプを識別するために使用されます。空白が含まれている名前は、二重引用符で囲んでください。次の表に、すべての disk_type 定義でキーワードのほかに割り当てなければならない識別子を示します。
表 36–7 必須の disk_type 識別子
識別子 |
説明 |
---|---|
ctlr |
ディスクタイプで有効なコントローラのタイプ。現在、有効な値は SCSI と ATA である。 |
ncyl |
ディスクタイプ内のデータシリンダ数。この数によって、システムがアクセスできるディスクの論理シリンダ数が決まる。 |
acyl |
ディスクタイプ内の代替シリンダ数。format ユーティリティは、これらのシリンダを使用して、ドライブの欠陥リストなどの情報を格納する。代替シリンダとして、常に 2 つ以上のシリンダを残しておく必要がある。 |
pcyl |
ディスクタイプ内の物理シリンダ数。この数値は、ディスクメディアの境界を計算するために使用される。通常、この数値は ncyl と acyl の合計に等しくなる。 |
nhead |
ディスクタイプ内のヘッド数。この数値は、ディスクメディアの境界を計算するために使用される。 |
nsect |
ディスクタイプ内の 1 トラック当たりのデータセクター数。この数値は、ディスクメディアの境界を計算するために使用される。これはデータセクターだけである。スペアは、各トラックのデータセクション数には含まれない。 |
rpm |
ディスクタイプの 1 分当たりの回転数。この情報はラベルに書き込まれ、後からファイルシステムでファイルデータの最適位置の計算に使用される。 |
コントローラによっては、他の識別子が必要な場合があります。次の表に、SCSI コントローラに必要な識別子を示します。
表 36–8 SCSI コントローラの disk_type 識別子
識別子 |
説明 |
---|---|
fmt_time |
所定のドライブのフォーマットに要する時間を示す数値。詳細は、コントローラのマニュアルを参照。 |
cache |
format ユーティリティの処理中にオンボードキャッシュの動作を制御する数値。詳細は、コントローラのマニュアルを参照。 |
trks_zone |
代替セクターのマッピング内で使用される 1 つの欠陥領域当たりのトラック数を指定した数値。詳細は、コントローラのマニュアルを参照。 |
asect |
所定の欠陥領域内で代替マッピングに利用可能なセクター数を指定する。詳細は、コントローラのマニュアルを参照。 |
次に、disk_type 定義の例を示します。
disk_type = "SUN1.3G" \ : ctlr = SCSI : fmt_time = 4 \ : trks_zone = 17 : asect = 6 : atrks = 17 \ : ncyl = 1965 : acyl = 2 : pcyl = 3500 : nhead = 17 : nsect = 80 \ : rpm = 5400 : bpt = 44823 disk_type = "SUN2.1G" \ : ctlr = SCSI : fmt_time = 4 \ : ncyl = 2733 : acyl = 2 : pcyl = 3500 : nhead = 19 : nsect = 80 \ : rpm = 5400 : bpt = 44823 disk_type = "SUN2.9G" \ : ctlr = SCSI : fmt_time = 4 \ : ncyl = 2734 : acyl = 2 : pcyl = 3500 : nhead = 21 : nsect = 99 \ : rpm = 5400 |
format.dat ファイル内のパーティションテーブルに、特定のディスクタイプのスライステーブルが定義されています。
format.dat ファイル内の partition キーワードが、スライステーブル名になります。空白が含まれている名前は、二重引用符で囲んでください。次の表に、すべてのスライステーブル内で値を代入しなければならない識別子を示します。
表 36–9 スライステーブルの必須識別子
識別子 |
説明 |
---|---|
disk |
このスライステーブルが定義されている disk_type の名前。この名前は disk_type 内で使用されるとおりに指定しなければならない。 |
ctlr |
このスライステーブルを接続できるコントローラタイプディスク。現在、有効な値は ATA コントローラを表す ATA とSCSI コントローラを表すSCSI である。ここで指定したコントローラタイプは、disk_type 定義で選択した disk_type にも定義する必要がある。 |
スライス定義内の他の識別子では、実際のスライス情報を記述します。識別子は 0 から 7 までの番号です。これらの識別子は省略可能です。明示的に割り当てられていないスライスは、長さ 0 に設定されます。これらの識別子の値は、それぞれコンマで区切られた数値のペアになります。最初の数値はスライスの開始シリンダで、第 2 はスライス内のセクター数です。次に、スライス定義の例を示します。
partition = "SUN1.3G" \ : disk = "SUN1.3G" : ctlr = SCSI \ : 0 = 0, 34000 : 1 = 25, 133280 : 2 = 0, 2672400 : 6 = 123, 2505120 partition = "SUN2.1G" \ : disk = "SUN2.1G" : ctlr = SCSI \ : 0 = 0, 62320 : 1 = 41, 197600 : 2 = 0, 4154160 : 6 = 171, 3894240 partition = "SUN2.9G" \ : disk = "SUN2.9G" : ctlr = SCSI \ : 0 = 0, 195426 : 1 = 94, 390852 : 2 = 0, 5683986 : 6 = 282, 5097708 |
format ユーティリティは、次の方法で代替ファイルの位置を認識します。
format -x オプションでファイル名を指定した場合、ファイルは常にデータファイルとして使用されます。
-x オプションを指定しない場合、format ユーティリティは現在のディレクトリ内でファイル format.dat を検索します。このファイルが見つかると、データファイルとして使用されます。
どちらの方法でもデータファイルが見つからない場合、format ユーティリティはデータファイルとして /etc/format.dat を使用します。このファイルは Solaris オペレーティング環境と共に出荷されるので、必ず存在します。