Sun 周辺機器使用の手引き

format ユーティリティー

format ユーティリティーは、ディスクのフォーマット、パーティション分割、ラベル付け、不良セクターの管理に使用することができるメニュー方式のディスク保守プログラムです。format ユーティリティーを起動すると、ユーティリティーはシステムに接続されているディスクドライブを調べ、各ディスクのラベルを読み取り、ディスクの一覧を表示します。ディスクを選択すると、選択可能なルーチンのメニューが表示されます。


注意 - 注意 -

format ユーティリティーの多くのルーチンは、ディスク上のデータを上書きします。このため、format ユーティリティーを使用する前に、すべてのディスク上のすべてのデータのバックアップをとってください。


format ユーティリティーは、デフォルトのディスクドライブ構成パラメタを判定するために /etc/format.dat というディスクの統計情報ファイルを使用します。ただし、format は、特定の種類のディスクドライブに関する記述が /etc/format.dat ファイルに存在しなくても、SCSI ディスクドライブの設定とラベル付けを自動的に行うことができます。つまり、SCSI-2 に準拠しているディスクドライブについては、/etc/format.dat ファイルを編集しなくても、どのドライブもフォーマットとパーティション分割、ラベル付けを行うことができます。

format ユーティリティーを使用するには、スーパーユーザーになる必要があります。スーパーユーザーでないユーザーが format の使用を試みると、以下のエラーメッセージが表示されます。


% format
Searching for disk...done
No permission (or no disk found)!

format ユーティリティーを使用する際は、このマニュアルの以下の箇所を参照してください。


注 -

format ユーティリティーについての詳細は、『Solaris のシステム管理 (第 2 巻)』を参照してください。


ディスクをフォーマットする

ディスクをフォーマットすると、ディスク媒体上にセクターが作成され、不良セクターの一覧が編集されます。ディスクにデータを書き込むには、ディスクをフォーマットする必要があります。ほとんどの場合、ディスクは製造元または販売元によってあらかじめフォーマットされており、ディスクドライブを取り付けるときに、ユーザー自身がフォーマットする必要はありません。ディスクがフォーマットされているかどうかを調べて、実際にフォーマットするには、この後の手順で format ユーティリティーを使用します。


注意 - 注意 -

ディスクをフォーマットすると、ディスク上のデータは破壊されます。



注 -

表示されるメニュー情報は、ここで示されているものと異なる場合があります。SPARCstorageTM Array を使用している場合は、format ユーティリティーを使用する前に SPARCstorage Array のドライバを読み込んでおく必要があります。


  1. スーパーユーザーになります。

  2. format ユーティリティーを起動します。


    # format
    

    ディスクにすでにラベルが付いている場合は、以下のように表示されます。


    Searching for disks...done
    AVAILABLE DISK SELECTIONS:
    	0.		c0t3d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
    			/sbus@1,f8000000/esp@0,8000000/sd@3,0
    	1.		c0t0d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
    			/sbus@1,f8000000/esp@0,8000000/sd@0,0
    	2.		c1t1d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
    			/sbus@1,f8000000/esp@0,8000000/sd@1,0
    	3.		c1t2d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
    			/sbus@1,f8000000/esp@0,8000000/sd@2,0
    Specify disk (enter its number): 2
    

    上の例は、次のような意味を持っています。

    • ディスクドライブの 2 (c1t1d0) と3 (c1t2d0) が新たに追加されています。

    • フォーマットするディスクとして 2 が指定されています。

    1 台目の新しいハードディスクをフォーマットした後に、同じ方法で 2 台目の新しいハードディスクをフォーマットすることができます。

  3. 画面に表示された一覧から、フォーマットするディスクを選択します。


    注意 - 注意 -

    間違ったディスクを選択しないよう注意してください。ディスクをフォーマットすると、元のデータがすべて上書きされます。


    format ユーティリティーは、ディスクがフォーマット済みであるかどうかを示すメッセージを表示します。


    Selecting c1t1d0
    [disk formatted]

    ディスクがフォーマットされていない場合は、手順 4 に進んでください。ディスクがフォーマット済みの場合は、ディスクをパーティション分割するの手順に進んでください。


    注意 - 注意 -

    Warning: Current Disk has mounted partitions」というメッセージが表示された場合は、その時点で作業を中止してください。q と入力し、format ユーティリティーを終了してください。手順 2 に戻って、正しいディスクを選択しているかどうかを確認してください。


  4. format> プロンプトに対して format と入力し、y と入力してコマンドを確認します。


    format> format
    
    Ready to format. Formatting cannot be interrupted.
    Continue? y
    
    Beginning format. The current time is Fri Sept 11 14:56:51 1993
    Formatting ...
    
    done
    
    Verifying media ...
    pass 0 - pattern = 0xc6dec6de
    pass 1 - pattern = 0x6db6db6d
    total of 0 defective blocks repaired.
    format>

    Format は、次の 2 つの処理を行います。

    • ディスクをフォーマットし、媒体上にセクターを作成します。

    • 検証を 2 回実行し、ディスクに不良個所がないか調べ、使用禁止にする不良セクターを編集します。

    フォーマットにかかる時間は、ディスクのサイズや使用されている CPU、メモリー容量、他のシステム活動の有無など、多くの可変要素に依存するため、予測することはできません。1 分で完了することもあれば、1 時間以上かかることもあります。


    注意 - 注意 -

    ディスクのフォーマットを中断しないでください。中断によってディスクが破壊される場合があります。


ディスクをパーティション分割する

ディスクをパーティションに分割するということは、1 つのディスクをパーティションまたはスライスと呼ばれる複数の区画に分割することです。個々のパーティションは、オペレーティングシステム (およびシステム管理者) には、独立した 1 つのディスクドライブのように見えます。パーティションには、ファイルシステムやスワップパーティション、データベースが作成されます。

ディスクには、番号 0 〜 7 で表される 8 つのパーティションを作成することができます。ただし、パーティション 2 は、常にディスクドライブ全体を表すパーティションとして予約されています。ユーザーは、1 つのディスクを、最高 7 つのパーティション (ドライブ全体用のパーティション 2 を除くパーティション番号 0、1、3 〜 7) で構成することも、1 つだけのパーティション構成にすることもできます。新しいディスクをどのようにパーティション分割するかは、そのディスクをどのように使用するかによって異なります。パーティションに格納するデータの量やデータが増える速度を考慮し、使用されることのない空き領域としてパーティション全体の大きさの 10% ほどが残るようにしてください。この 10% の空き容量の規則には、例外があります。詳細は、『Solaris のシステム管理』を参照してください。)

製造元によって、あらかじめディスクにパーティションが作成されていることがあります。ただし、記憶空間の使用方法はユーザーごとに異なるため、あらかじめ作成されたパーティションがすべてのユーザーの使用環境に合うわけではありません。その場合は、ディスクのパーティションを分割し直してください。


注意 - 注意 -

ディスクをパーティション分割すると、ディスク上のデータは破壊されます。


  1. スーパーユーザーになり、format ユーティリティーを起動します。

  2. format> プロンプトに対して partition と入力します。

    次のメニューが表示されます。


    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
            !<cmd> - execute <cmd>, then return
            quit
    partition> 

  3. modify と入力します。

    次のメニューが表示されます。


    Select partitioning base:
     0. Default partition for selected drive
     1. Current partition table (original sd3)
     2. All  free Hog 
    Choose base (enter number) [0]? 2
    


    注 -

    表示される内容は、システム構成によって異なります。2.1 GB 以上のディスクドライブ用には、デフォルトのパーティションテーブルはありません。


  4. All free hog に該当する番号を選択します (この例では 2)。

    All Free Hog を選択すると、空のパーティションテーブルによってパーティション分割セッションが開始され、パーティション 2 以外のすべてのパーティション値がゼロに設定されます。これによって、既存のパーティション値によって新しいパーティション値が影響を受けなくなります。

    パーティションベースを選択すると、次のテーブルが表示されます。


    Part      Tag    Flag      Cylinders      Size        Blocks
    0        -      -          0              0         (0/0/0)
    1        -      -          0              0         (00/0/0)
    2        -      -          0 - 1253       198.39MB  (1254/0/0)
    3        -      -          0              0         (0/0/0)
    4        -      -          0              0         (0/0/0)
    5        -      -          0              0         (0/0/0)
    6        -      -          0              0         (0/0/0)
    7        -      -          0              0         (0/0/0)

    これらが、現在のパーティション値です。パーティション 2 の値は、ディスクドライブ全体を表します。パーティション 2 の値を変更しないでください。実際には、変更しようとしても、modify ルーチンによって禁止されます。

  5. y と入力し、次に進みます。


    Do you wish to continue creating a new partition
    table based on above table[yes]? y
    

  6. 8 つのパーティションのうちの 1 つを、free hog パーティションとして選択します。


    Free Hog partition[6]? 6
    

    format ユーティリティーを使用して 1 つまたは複数のディスクパーティションの大きさを変更する場合は、サイズ変更に合わせて拡大したり縮小したりすることができる一時パーティション (free hog) を指定する必要があります。free hog パーティションは、パーティションの拡張では空間を解放し、パーティションの縮小では廃棄された空間を受け取ります。変更セッションの終了時に、指定された free hog パーティションには、空間が残されている必要があります。この free hog パーティションはディスク上の有効なパーティションになります。

    ただし、free hog 指定が存在するのは、そのパーティション分割セッションの間だけです。日常の運用で、恒久的な free hog パーティションが存在することはありません。

    この例では、パーティション 6 が使用されています。free hog として、パーティション 2を指定しないでください。

  7. 表示された大きさを変更することによって、各パーティションの大きさをメガバイト単位で指定します。

    各パーティションの大きさを指定するよう求められます。不要なパーティションには 0 と入力して、空間を割り当てないでください。使用するパーティションには、大きさに続けて mb を入力することによって、メガバイト単位で大きさを指定します。パーティション 2 または free hog パーティションの大きさ (この例ではパーティション 6) の指定を求められることはありません。


    Enter size of partition `0`  [0b, 0c, 0.00mb]: 0
    Enter size of partition `1`  [0b, 0c, 0.00mb]: 0
    Enter size of partition `3`  [0b, 0c, 0.00mb]: 0
    Enter size of partition `4`  [0b, 0c, 0.00mb]: 0
    Enter size of partition `5`  [0b, 0c, 0.00mb]: 0
    Enter size of partition `7`  [0b, 0c, 0.00mb]: 80mb
    

    この例では、大きさは以下の表示のように変更されました。


    Part      Tag    Flag      Cylinders      Size        Blocks
    0        -      -          0              0         (0/0/0)
    1        -      -          0              0         (00/0/0)
    2        -      -          0 - 1253       198.39MB  (1254/0/0)
    3        -      -          0              0         (0/0/0)
    4        -      -          0              0         (0/0/0)
    5        -      -          0              0         (0/0/0)
    6        -      -        0 - 747        118.34MB    (748/0/0)
    7        -      -        748 - 1253     80.05MB     (506/0/0)

    この例では、ディスクは 2 つのパーティション (67) で構成されています。パーティション 2 はディスク全体を表す特殊なパーティションであり、オーバーラップパーティションとも呼ばれます。


    注意 - 注意 -

    パーティション 2 は変更しないでください。パーティション 2 の大きさを小さくすると、利用できるディスク容量が減少します。


  8. 確認し、問題がなければ y と入力します。


    Okay to make this the current partition table [yes]? y
    

  9. 新しく作成したパーティションテーブルの名前を入力します。


    Enter table name (remember quotes): "table1"
    

    この名前は、パーティションテーブルの作成中にその記録を残しておくためにformat ユーティリティーが一時的に使用する名前です。

  10. 新しいパーティションテーブルをディスクラベルに書き込んでもよければ、y と入力します。


    Ready to label disk, continue? y
    

    ラベルは、パーティションテーブルが保管される場所です。n を入力すると、設定したパーティション値は失われ、前のパーティションテーブルが有効になります。

  11. q を入力して partition ルーチンを終了し、再度 q を入力してformat ユーティリティーを終了します。


    partition> q
       .
       .
       .
    format> q
    

ディスクにラベルを付ける

ディスクのラベル付けでは、format ユーティリティー使用して、ディスク上に予約されている特別な領域に情報を書き込みます。この情報を、ディスクラベルまたは VTOC (Volume Table of Contents) といいます。オペレーティングシステムがディスクを使用するには、ディスクにディスクラベルが存在している必要があります。

ディスクラベルには、2 つの重要な情報が含まれます。

ラベルはディスクドライブの製造元によって作成されていることが多いため、通常、パーティション情報の変更で行う必要があるのは、ディスクのラベル付けだけです。 上記のディスクをパーティション分割するの手順に従って modify ルーチンを使用した場合は、ディスクのラベル付けを促すメッセージが表示されるため、この後の手順に従ってラベル付けを行う必要はありません。

ディスク上に、c1t2d0などの有効なラベルを検出できない場合、Solaris オペレーティングシステムは以下のようなメッセージを表示します。


# format
Searching for disks...done

c1t2d0:  configured with capacity of 198 MB
AVAILABLE DISK SELECTIONS:
	0.		c0t3d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
			/sbus@1,f8000000/esp@0,8000000/sd@3,0
	1.		c0t0d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
			/sbus@1,f8000000/esp@0,8000000/sd@0,0
	2.		c1t1d0 <SUN0207 cyl  1214 alt 2 hd 9 sec 36>
			/sbus@1,f8000000/esp@0,8000000/sd@1,0
	3.		c1t2d0 <Unable to read disk label>
			/sbus@1,f8000000/esp@0,8000000/sd@2,0
Specify disk (enter its number):3
 
Selecting c1t2d0
[disk formatted]
Disk not labeled. Label it now? y

有効なラベルのないディスクやラベルのない新しいディスクについては、「configured with capacity」メッセージと「Label it now?」プロンプトが表示されます。

  1. y と入力して、ディスクにラベルを付けます。


    Disk not labeled. Label it now? y