この章では、format ユーティリティーのメニューとコマンドについて説明します。
この章の内容は次のとおりです。
format ユーティリティーの使用方法の概要については、「format ユーティリティー」を参照してください。
format ユーティリティーを使用するには、スーパーユーザーになるか、同等の役割を引き受ける必要があります。そうしないと、format ユーティリティーを使用しようとしたときに次のようなエラーメッセージが表示されます。
$ format Searching for disks...done No permission (or no disks found)! |
既存のデータを維持しつつ format ユーティリティーを使用する場合、次の指針に従って操作を行なってください。
ディスクドライブ上のすべてのファイルのバックアップを作成します。
format ユーティリティーの dump コマンドを使用して、すべての欠陥領域リストをファイルに保存します。ファイル名には、ドライブタイプ、モデル番号、およびシリアル番号を含めるべきです。
製造元から出荷時にドライブといっしょに提供された、欠陥領域リストを保管します。
FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk fdisk - run the fdisk program (x86 only) repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit format> |
次の表に、format ユーティリティーのメインメニューの項目を示します。
表 15–1 format ユーティリティーのメインメニュー項目の説明
メニュー項目 |
コマンド / メニュー |
説明 |
---|---|---|
disk |
コマンド |
システムのドライブをすべて表示します。あとの操作で使用するディスクを選択することもできます。このディスクは、「現在のディスク」と呼ばれます。 |
type |
コマンド |
現在のディスクの製造元とモデルを表示します。認識されているドライブタイプのリストも表示します。SCSI-2 対応ディスクドライブの場合は必ず Auto configure オプションを選択します。 |
partition |
メニュー |
スライスの作成および変更を行います。詳細は、「partition メニュー」を参照してください。 |
current |
コマンド |
現在のディスクに関する次の情報を表示します。
|
format |
コマンド |
次のいずれかの情報源をこの順番に使用して、現在のディスクをフォーマットします。
このコマンドは、IDE ディスクには適用できません。IDE ディスクは、あらかじめ製造元でフォーマットされます。 |
fdisk |
メニュー |
x86 プラットフォームのみ: fdisk プログラムを実行し、Solaris fdisk パーティションを作成します。 fdisk コマンドは、1T バイトを超えるサイズの EFI ラベル付きディスクで使用することはできません。 |
repair |
コマンド |
現在のディスク上で特定のブロックを修復します。 |
label |
コマンド |
現在のディスクに新しいラベルを書き込みます。 |
analyze |
メニュー |
読み取り、書き込み、および比較テストを実行します。詳細は、「analyze メニュー」を参照してください。 |
defect |
メニュー |
欠陥リストを検索して表示します。詳細は、「defect メニュー」を参照してください。この機能は、IDE ディスクには適用できません。IDE ディスクは欠陥の検出を自動的に行います。 |
backup |
コマンド |
VTOC – バックアップラベルを検索します。 EFI – サポートされません。 |
verify |
コマンド |
現在のディスクに関する次の情報を表示します。
|
save |
コマンド |
VTOC – 新しいディスク情報およびパーティション情報を保存します。 EFI – 適用できません。 |
inquiry |
コマンド |
SCSI ディスクのみ – 現在のドライブのベンダー、製品名、リビジョンレベルを表示します。 |
volname |
コマンド |
8 文字のボリューム名を新規に指定して、ディスクラベルを作成します。 |
quit |
コマンド |
format メニューを終了します。 |
format> partition PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk quit partition> |
次の表に、partition メニューの項目を示します。
表 15–2 partition メニュー項目の説明
x86 システム上でのみ、次のような fdisk メニューが表示されます。
format> fdisk Total disk size is 14169 cylinders Cylinder size is 2510 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Active x86 Boot 1 9 9 0 2 Solaris2 10 14168 14159 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: |
次の表に、fdisk メニューの項目を示します。
表 15–3 x86: fdisk メニュー項目の説明
メニュー項目 |
説明 |
---|---|
Create a partition |
fdisk パーティションを作成します。Solaris や DOS など、OS ごとに別々のパーティションを作成しなければなりません。1 台のディスクの最大パーティション数は 4 です。fdisk のパーティションのサイズをパーセンテージで入力するように促すプロンプトが表示されます。 |
Specify the active partition |
ブートに使用するパーティションを指定できます。このメニュー項目により、第 1 段階のブートプログラムが第 2 段階のブートプログラムを検索する場所を指定します。 |
Delete a partition |
以前に作成したパーティションを削除します。このコマンドを実行すると、パーティション内のすべてのデータが失われます。 |
Change between Solaris and Solaris2 Partition IDs |
パーティション識別子を 130 (0x82) から 191 (0xbf) に、または 191 (0xbf) から 130 (0x82) に変更します。 |
Exit (update disk configuration and exit) |
新しいパーティションテーブルを書き込んで fdisk メニューを終了します。 |
Cancel (exit without updating disk configuration) |
パーティションテーブルを変更せずに fdisk メニューを終了します。 |
format> analyze ANALYZE MENU: read - read only test (doesn't harm SunOS) refresh - read then write (doesn't harm data) test - pattern testing (doesn't harm data) write - write then read (corrupts data) compare - write, read, compare (corrupts data) purge - write, read, write (corrupts data) verify - write entire disk, then verify (corrupts data) print - display data buffer setup - set analysis parameters config - show analysis parameters quit analyze> |
次の表に、analyze メニューの項目を示します。
表 15–4 analyze メニュー項目の説明
defect メニューは次のようになっています。
format> defect DEFECT MENU: primary - extract manufacturer's defect list grown - extract manufacturer's and repaired defects lists both - extract both primary and grown defects lists print - display working list dump - dump working list to file quit defect> |
次の表に、defect メニューの項目を示します。
表 15–5 defect メニュー項目の説明
サブコマンド |
説明 |
---|---|
主ノード |
製造元の欠陥リストをディスクドライブから読み込み、メモリー内の欠陥リストを更新します。 |
grown |
増分の欠陥リストを読み取り、メモリー内の欠陥リストを更新します。「増分の欠陥」とは、解析中に検出された欠陥のことです。 |
both |
製造元の欠陥リストと増分の欠陥リストの両方を読み取ります。その後、メモリー内欠陥リストを更新します。 |
|
メモリー内の欠陥リストを表示します。 |
dump |
メモリー内の欠陥リストをファイルに保存します。 |
quit |
defect メニューを終了します。 |
Oracle Solaris OS と一緒に出荷される format.dat ファイルでは、多数の標準的なディスクがサポートされます。使用しているディスクドライブが format.dat ファイルに記載されていない場合は、次のようにします。
format.dat ファイルに使用しているディスクのエントリを追加します。
format ユーティリティーで、type コマンドと other オプションを選択して、エントリを追加します。
ディスクドライブをサイト全体で使用する場合は、format.dat ファイルにエントリを追加すると時間を節約できます。format.dat ファイルをほかのシステム上で使用する場合は、format.dat ファイルに追加する特定のディスクドライブを使用するシステムごとに、このファイルをコピーしてください。
次のいずれかの場合には、システムの /etc/format.dat ファイルを変更する必要があります。
ディスクが Oracle Solaris OS でサポートされない場合
パーティションテーブルが入っているディスクが、Oracle Solaris OS のデフォルト構成とは異なる場合
/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 が付きます。これらのキーワードについて、次の表で説明します。
表 15–6 format.dat ファイルのキーワードの説明
キーワード |
説明 |
---|---|
disk_type |
コントローラとディスクのモデルを定義します。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が入っています。デフォルトのデータファイルには、Oracle Solaris OS でサポートされるコントローラとディスクの定義が入っています。 サポートされないディスクを使用する場合にのみ、新しい disk_type 定義を追加する必要があります。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまいません。 |
partition |
特定のディスクタイプのパーティションテーブルを定義します。パーティションテーブルには、パーティション情報だけでなく、format ユーティリティー内で参照可能な名前が入っています。デフォルトの format.dat ファイルには、数種類のディスクドライブに対応するデフォルトのパーティション定義が含まれます。システムのディスク上にパーティションを作成し直した場合は、パーティション定義を追加します。必要に応じて、パーティション情報をデータファイルにいくつ追加してもかまいません。 |
format.dat ファイル内の disk_type キーワードは、コントローラとディスクのモデルを定義します。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が含まれます。デフォルトの format.dat ファイルには、Oracle Solaris OSでサポートされるコントローラとディスクの定義が入っています。サポートされないディスクを使用する場合にのみ、新しい disk_type を追加する必要があります。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまいません。
キーワード自体が、ディスクタイプ名になります。この名前は、ディスクのラベルの一部になり、format ユーティリティーの実行時にディスクタイプを識別するために使用されます。空白が含まれている名前は、二重引用符で囲んでください。次の表に、すべての disk_type 定義でキーワードのほかに割り当てなければならない識別子を示します。
表 15–7 必須の disk_type 識別子 (format.dat)
識別子 |
説明 |
---|---|
ctlr |
ディスクタイプで有効なコントローラのタイプ。現在、有効な値は SCSI と ATA です。 |
ncyl |
ディスクタイプ内のデータシリンダ数。この数によって、システムがアクセスできるディスクの論理シリンダ数が決まります。 |
acyl |
ディスクタイプ内の代替シリンダ数。format ユーティリティーは、これらのシリンダを使用して、ドライブの欠陥リストなどの情報を格納します。代替シリンダとして、常に 2 つ以上のシリンダを残しておく必要があります。 |
pcyl |
ディスクタイプ内の物理シリンダ数。この数値は、ディスクメディアの境界を計算するために使用されます。通常、この数値は ncyl と acyl の合計に等しくなります。 |
nhead |
ディスクタイプ内のヘッド数。この数値は、ディスクメディアの境界を計算するために使用されます。 |
nsect |
ディスクタイプ内の 1 トラック当たりのデータセクター数。この数値は、ディスクメディアの境界を計算するために使用されます。この数値にはデータセクター以外は含まれません。スペアは、各トラックのデータセクション数には含まれません。 |
rpm |
ディスクタイプの 1 分当たりの回転数。この情報はラベルに書き込まれ、あとからファイルシステムでファイルデータの最適位置の計算に使用されます。 |
コントローラによっては、ほかの識別子が必要な場合があります。次の表に、SCSI コントローラに必要な識別子を示します。
表 15–8 SCSI コントローラに必要な disk_type 識別子 (format.dat)
識別子 |
説明 |
---|---|
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 キーワードが、パーティションテーブル名になります。空白が含まれている名前は、二重引用符で囲んでください。次の表に、すべてのパーティションテーブル内で値を代入しなければならない識別子を示します。
表 15–9 パーティションテーブルに必須の識別子 (format.dat)
識別子 |
説明 |
---|---|
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 を使用します。このファイルは Oracle Solaris OS と一緒に出荷されるので、必ず存在します。
format ユーティリティーを使用する場合は、さまざまな情報を入力する必要があります。この節では、入力する情報に関する規則について説明します。データ指定時に format のヘルプ機能を使用する方法については、「format ユーティリティーのヘルプを利用する」を参照してください。
format ユーティリティーを使用する際、数値を入力する必要があります。入力方法には、適切なデータを指定する方法と、選択肢のリストから番号を選択する方法があります。どちらの場合も、ヘルプ機能を使用すると、format は期待する数値の上限と下限を表示します。適切な数値を入力するだけで済みます。数値は、その一部として底を明示的に指定しない限り (16 進数を表す 0x など)、10 進数と見なされます。
次の例は、整数の入力を示しています。
Enter number of passes [2]: 34 Enter number of passes [34] Oxf |
ディスクブロック番号を指定する必要がある場合、次の 2 つの方法のいずれかを選択できます。
ブロック番号を表す整数を指定します
シリンダ / ヘッド / セクター書式でブロック番号を指定します
この情報は、論理ブロック番号を表す整数として指定できます。任意の底の数値を指定できますが、デフォルトは 10 進です。また、ここで最大演算子 (ドル記号 $) を使用して、format ユーティリティーに適切な値を選択させることもできます。論理ブロックの形式は、SunOS のディスクドライバによってエラーメッセージに使用されます。
シリンダ / ヘッド / セクター書式を使ってブロック番号を指定する方法もあります。この方法では、ブロック番号の 3 つの論理構成要素である、シリンダ、ヘッド、およびセクターの値を明示的に指定しなければなりません。 これらの値も論理値です。ただし、メディアのレイアウトに関連したディスク領域を定義できます。
シリンダ / ヘッド / セクター番号を指定しない場合、値は 0 であると見なされます。数値の代わりに、最大演算子を使用してもかまいません。すると、format ユーティリティーにより、適切な値が選択されます。シリンダ、ヘッド、セクターの値の例は次のとおりです。
Enter defective block number: 34/2/3 Enter defective block number: 23/1/ Enter defective block number: 457// Enter defective block number: 12345 Enter defective block number: Oxabcd Enter defective block number: 334/$/2 Enter defective block number: 892//$ |
format ユーティリティーでは、ブロック番号は常に上記の両方の書式で出力されます。また、ヘルプ機能によって、期待されるブロック番号の上限と下限が両方の書式で表示されます。
format ユーティリティーでメニュープロンプトを表示する際、入力としてコマンド名が必要になります。コマンド名は、目的のコマンドとして区別できる長さまで省略できます。
たとえば、p (artition) を使用して format メニューから partition メニューにアクセスできます。次に、p(rint) を使用して現在のスライステーブルを表示できます。
format> p PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk quit partition> p |
format ユーティリティーでは、名前を指定しなければならない場合があります。このような場合は、名前に使用する文字列を自由に指定できます。空白を含む名前は、二重引用符 (") で囲まなければなりません。二重引用符で囲まなければ、名前の最初の語だけが使用されます。
たとえば、ディスクの特定のパーティションテーブルを指定する場合、partition メニューの name サブコマンドを使用できます。
partition> name Enter table name (remember quotes): "new disk3" |
format ユーティリティーにはヘルプ機能が組み込まれており、format ユーティリティーが入力待ちの状態であればいつでも使用できます。疑問符 (?) を入力するだけで必要な入力に関するヘルプが表示されます。format ユーティリティーでは、どんなタイプの入力が必要かについて簡潔な説明が表示されます。
メニュープロンプトから ? と入力すると、利用できるコマンドのリストが表示されます。
format ユーティリティーに関連するマニュアルページには、次が含まれます。
format(1M) – format ユーティリティーの基本機能およびコマンド行で使用可能なすべての変数について説明します。
format.dat(4) – format ユーティリティーで使用するディスクドライブ構成に関する情報を提供します。