オプション:
警告 -f が使われたときには、 (対話モードで尋ねられるように) 本当にスライステーブルを書き込むのかどうかを尋ねられません。 用心して使うこと!
最後のディスク名 disk は、 ``裸の'' ディスク名だけ、 つまり da0 か、あるいは完全なパス名です。 もし省略された場合、 は、マウントされたルートディスクからデフォルトディスクデバイスを 算出しようとします。
オプションなしで呼び出されたときには、 セクタ 0 スライステーブルを表示します。 例えば:
******* Working on device /dev/ad0 ******* parameters extracted from in-core disklabel are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) parameters to be used for BIOS calculations are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 495, size 380160 (185 Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 2 is: sysid 164,(unknown) start 378180, size 2475 (1 Meg), flag 0 beg: cyl 764/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 3 is: <UNUSED> The data for partition 4 is: sysid 99,(ISC UNIX, other System V/386, GNU HURD or Mach) start 380656, size 224234 (109 Meg), flag 80 beg: cyl 769/ sector 2/ head 0; end: cyl 197/ sector 33/ head 14
このディスクは、たまたまディスク全体を満たす 3 つのスライスに分割されています。 2 つ目のスライスは最初のスライスの最後に重なっています。 (デバッグ目的に使われます)
注 これらの数字は、
-i と -u のオプションは、 スライスデータを更新すべきであることを指示します。 もし -f がなければ、 は対話モードに入ります。 このモードでは、 に明示的に指示しない限り、どんな変更もディスクに書き込みません。
ユーティリティは各々のスライスを表示し、 それを編集したいかどうかを尋ねます。 yes と答えたら、 は古い値を表示し、新しい値を尋ねて 各々のフィールドを進みます。 1 個のスライスが終了したら、 はそれを表示して、それで正しいかどうかを尋ねます。 そして 次のエントリに進みます。
cyl , sector head のフィールドを正しく得るにはちょっとした芸当が要ります。 そのためデフォルトでは、 が代わって計算しますが、選択してそれらの値を指定することもできます。
全てのスライスが進行した後、 ``アクティブ'' スライス変更をすることができます。 最後に、 セクタ 0 の新規データが全部集められたときに、 本当に書換えても良いか尋ねられます。 yes と答えた場合だけ、データはディスクに書き込まれます。
-u フラグと -i フラグの間の違いは、 -u フラグはディスク上にあるフィールドの値を編集 (更新) するだけですが、 一方 -i フラグはセクタ 0 を ``初期化'' するのに使われます; ディスク全体を Fx 用に使えるように、 最後の BIOS スライスをセットアップして、それをアクティブにします。
もしディスクのレイアウトを手作業で変更するのなら、 どうか Fx スライスがシリンダ境界から開始することを確認してください。 その後のたくさんの決定がこのことを仮定しています。 (これは必要ではなかったのかもしれませんが)
すでにあるスライスを編集すると、 たぶんそのスライスのデータを失うことになるでしょう。
がどう働くかを調べるために、 1 度か 2 度は対話的に実行するべきです。 これは、最後の質問に否定で答える限り完全に安全です。 このマニュアルでは完全に説明されていませんが、 が検出する微妙な点があります。
これらの指定はどんな順序でもよく、先頭の文字がどの値かを決定します; しかし、3 つ全てを指定することが必要です。
この行はスライス情報を指定するどんな行よりも前に現れなくてはなりません。
次の条件が真でなければ、エラーです:
1 <= シリンダの数 1 <= ヘッドの数 <= 256 1 <= トラックあたりのセクタの数 < 64
シリンダの数は 1024 以下でなければなりませんが、 しかしこれは強制されるものではなく、警告が表示されるでしょう。 ブート可能な Fx スライス ``( / '' ファイルシステム) は 最初の 1024 シリンダ以内に収まっていなといけません; もしそうでなければ、ブートに失敗するかもしれません。 ブートしないスライスには、この制限はありません。
1019 シリンダ、39 ヘッド、63 セクタのディスクの例 (これらの全てはみな等価):
g c1019 h39 s63 g h39 c1019 s63 g s63 h39 c1019
これらの行で明示的に言及されたスライスだけが変更されます; p 行で参照されていないスライスは変更されません。 しかし、無効なスライステーブルがあるか、 -i オプションが指定されているなら、 存在するスライスエントリは全て取り除かれ (未使用の印がつけられ)、 スライス情報を明示的に設定するのに、 p 行が使われなければなりません。 もし複数のスライスを設定する必要があるなら、 複数の p 行が指定されなければなりません; 1 行で 1 個のスライスを設定します。
これらのスライス行は、もしあればジオメトリ指定行の後に現れなければ なりません。
Fx スライスの type は 165 です。0 のスライスタイプを指定すると、 スライスを取り除き未使用の印をつけたのと同じことになります; しかし、 ``( 0'' とかの) ダミーの値が start と length に指定されなければなりません。
注: スライスの開始オフセットはヘッド境界まで必要なら繰り上げられ、 終了オフセットはシリンダ境界まで必要なら繰り下げられます。
例: スライス 4 を取り除いて、未使用の印をつける:
"p 4 0 0 0"
例: スライス 1 を Fx スライスであって、 セクタ 1 から始まって 2503871 セクタの長さに設定する (注: これらの値は、 対応するヘッドとシリンダ境界に繰り上げ/繰り下げられます):
"p 1 165 1 2503871"
例: スライス 1 をアクティブスライスにします:
"a 1"
ユーティリティ全体をよりユーザフレンドリにするべきです。
Fx の新規ユーザは、 ``スライス'' と ``パーティション'' の違いが分からず、慣れるまで大変でしょう。
ディスク全体を Fx に捧げるためには、このコマンドは使えません。 これには bsdlabel(8) コマンドを使わなければなりません。