fdisk(8) FreeBSD 一般コマンドマニュアル

fdisk

前のページ 上に戻る 次のページ

fdisk


     fdisk -f configfile [-itv] [disk]


前置き

     BIOS がカーネルをブートするために、一定の約束をちゃんと守らねばなりませ
     ん。ディスクのセクタ 0 はブートコード、パーティションテーブル、マジックナ
     ンバを含んでいなければならないのです。 BIOS パーティションはディスクをい
     くつかの部分に分けるのにも使われます。 BIOS はセクタ 0 を読み込み、マジッ
     クナンバを確認しますそして、セクタ 0 のブートコードはパーティションテーブ
     ルを探し、どのパーティションが アクティブと印されているか判定します。そし
     て、このブートコードはブートストラップを アクティブパーティションから読み
     込み、ブート可能の印が付いていればこれを実行します。 DOS では、1 個以上の
     パーティションと 1 個の アクティブを持てます。 DOS の fdisk プログラム
     は、ディスク空間を 1 個以上のパーティションに分割して、1 個の アクティブ
     を設定することができます。


解説

     FreeBSD のプログラム fdisk は、DOS のそれと似た目的に役立ちます。第 1 の
     形は、パーティション情報の表示や、パーティションテーブルの対話的な編集に
     使われます。第 2 の形は、 configfile を使ってパーティションテーブルを書き
     込むという使い方であり、他のスクリプト/プログラムから利用するよう設計され
     ています。

     オプション:

     -a    アクティブパーティションの変更のみを行ないます。 -f があるときには
           無視されます。

     -b bootcode
           ブートコードをファイル bootcode から取得します。デフォルトは
           /boot/mbr です。

     -B    ディスクのセクタ 0 に含まれるブートコードを再初期化します。もし -f
           があると、無視されます。

     -f configfile
           パーティションの値をファイル configfile を使って設定します。 -i も
           あるときには、 configfile が読み込まれるに先立って、存在するパー
           ティションは全部消され(つまり「未使用」の印をつけられる) ますが、こ
           の場合を除いて、 configfile はいつも存在するパーティションの変更を
           行ないます。 configfile は "-" であってもよく、この場合 標準入力が
           読まれます。ファイルの構文は、以降の 設定ファイルの節をご覧下さい。

           警告: -f が使われたときには、 (対話モードで尋ねられるように) 本当に
           パーティションテーブルを書き込むのかどうかを尋ねられません。用心し
           て使うこと!

     -i    ディスクのセクタ 0 を初期化します。もし -f がなければ、 -u の意味も
           含みます。

     -I    単一の FreeBSD スライスがディスク全体となるように、セクタ 0 の内容
           を初期化します。

           されます。

     最後のディスク名 disk は、 `裸の' ディスク名だけ、つまり `da0' か、あるい
     は /dev の下に完全に限定されたデバイスノードで与えることができます。もし
     省略された場合、ディスク `ad0', `da0' が、どれか 1 個が応答して見付かるま
     でこの順序で検索されます。

     引数なしで呼び出されたときには、セクタ 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 つ目のパーティションは最初のパーティションの最後に重なってい
     ます。 (デバッグ目的に使われます)

     sysid                パーティションのラベル付に使われます。 FreeBSD では
                          マジックナンバ 165 (10進) A5 (16進)を予約していま
                          す。

     startsize        パーティションのセクタ単位での開始アドレスとサイズで
                          す。

     flag 80              これがアクティブパーティションであることを指定しま
                          す。

     cyl, sectorhead  パーティションの開始アドレスと終了アドレスを指定する
     で正しいかどうかを尋ねます。そして fdisk は次のエントリに進みます。

     cyl, sector, head のフィールドを正しく得るにはちょっとした芸当が要りま
     す。そのためデフォルトでは、 fdisk が代わって計算しますが、選択してそれら
     の値を指定することもできます。

     全てのパーティションが進行した後、 アクティブパーティション変更をすること
     ができます。最後に、最初のセクタのデータが全部集めれらたときに、本当にセ
     クタ 0 を書換えても良いか尋ねられます。 yes と答えた場合だけ、データは
     ディスクに書き込まれます。

     -u フラグと -i の間の違いは、 -u フラグはディスク上にあるフィールドの値を
     編集するだけですが、一方 -i フラグはセクタ 0 を "初期化" するのに使われま
     す; ディスク全体を FreeBSD 用に使えるように、最後の BIOS パーティションを
     セットアップして、それをアクティブにします。


     開始シリンダ等の自動計算は、 BIOS がそのドライブのジオメトリであると思っ
     ている数字をもとに行なわれます。これらの数字はデフォルトでは、メモリ上の
     ディスクラベルから取りますが、プログラムの起動時にそれらを変更する機会が
     与えられます。このおかげでユーザは、 BIOS がジオメトリ変換を行なうドライ
     ブでも動作できるブートブロックを作ることができます。

     もしディスクのレイアウトを手作業で変更するのなら、どうか FreeBSD パーティ
     ションがシリンダ境界から開始することを確認してください。その後のたくさん
     の決定がこのことを仮定しています。 (これは必要ではなかったのかもしれませ
     んが)

     すでにあるパーティションを編集すると、たぶんそのパーティションのデータを
     失うことになるでしょう。

     このプログラムがどう働くかを調べるために、 1 度か 2 度は対話的に実行する
     べきです。これは、最後の質問に否定で答える限り完全に安全です。このマニュ
     アルでは完全に説明されていませんが、プログラムが検出する微妙な点がありま
     す。


設定ファイル

     -f オプションが与えられたとき、 configfile の値を使ってディスクのパーティ
     ションテーブルを書換えることができます。このファイルの構文はたいへん単純
     です。各行はコメントか仕様のどちらかで、空白 (改行を除く) は無視されま
     す。

     # comment ...
             "#" で開始している行はコメントで無視されます。

     g spec1 spec2 spec3
             パーティション計算で使う BIOS ジオメトリを設定します。前に文字を
             伴った数字で、3 つの値を指定することが必要です。

             cnum    シリンダの数を num に設定します。

             hnum    ヘッドの数を num に指定します。

             シリンダの数は 1024 以下でなければなりませんが、しかしこれは強制
             されるものではなく、警告が出力されるでしょう。ブート可能な
             FreeBSD パーティション ("/" ファイルシステム) は最初の 1024 シリ
             ンダ以内に収まっていなといけません; もしそうでなければ、ブートに
             失敗するかもしれません。ブートしないパーティションには、この制限
             はありません。

             1019 シリンダ、39 ヘッド、63 セクタのディスクの例 (これらの全ては
             みな等価):

                   g       c1019   h39     s63
                   g       h39     c1019   s63
                   g       s63     h39     c1019

     p partition type start length
             partition (1-4) で与えられたパーティションに、タイプ type 、開始
             セクタ start 、長さ (セクタ数) length を設定します。

             これらの行で明示的に言及されたパーティションだけが変更されます;
             "p" 行で参照されていないパーティションは変更されません。しかし、
             無効なパーティションテーブルがあるか、 -i オプションが指定されて
             いるなら、存在するパーティションエントリは全て取り除かれ (未使用
             の印がつけられ)、パーティション情報を明示的に設定するのに、 "p"
             行が使われなければなりません。もし複数のパーティションを設定する
             必要があるなら、複数の "p" 行が指定されなければなりません; 1 行で
             1 個のパーティションを設定します。

             これらのパーティション行は、もしあればジオメトリ指定行の後に現れ
             なければなりません。

             FreeBSD パーティションの type は 165 です。0 のパーティションタイ
             プを指定すると、パーティションを取り除き未使用の印をつけたのと同
             じことになります; しかし、("0" とかの) ダミーの値が startlength に指定されなければなりません。

             注: パーティションの開始オフセットはヘッド境界まで必要なら繰り上
             げられ、終了オフセットはシリンダ境界まで必要なら繰り下げられま
             す。

             例: パーティション 4 を取り除いて、未使用の印をつける:

                   p       4       0       0       0

             例: パーティション 1 を FreeBSD パーティションであって、セクタ 1
             から始まって 2503871 セクタの長さに設定する (注: これらの値は、対
             応するヘッドとシリンダ境界に繰り上げ/繰り下げられます):

                   p       1       165     1       2503871

     a partition
             partition パーティションをアクティブにします。設定ファイルのどこ

     扱いません。特に MS-DOS 6.x 以降に導入されたものについてはそうです。

     プログラム全体をよりユーザフレンドリにするべきです。

     このマニュアルを通して使われている術語 `パーティション' は、他で使われる
     術語に一致させるため、本当は `スライス' であるべきです。

     ディスク全体を FreeBSD に捧げるためには、このコマンドは使えません。これに
     は disklabel(8) コマンドを使わなればなりません。

FreeBSD 4.4                     October 4, 1996                    FreeBSD 4.4

ABELNET VPSサービス