.\" Copyright (c) 1987, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Symmetric Computer Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 .\" %FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.54 2003/05/24 19:53:08 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 15, 2003 .Dt BSDLABEL 8 .Os .Sh 名称 .Nm bsdlabel .Nd ディスクラベルの読み書きを行う .Sh 書式 .Nm .Op Fl A .Ar disk .Nm .Fl w .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk .Op Ar type .Nm .Fl e .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk .Nm .Fl R .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk protofile .Sh 解説 .Nm ユーティリティは、ディスクパーティション上に .Bx ラベルを 書きこんだり、確認したり、修正したりするために使われます。 また .Nm は同時にブートストラップコードを インストールすることもできます。 .Ss ディスクデバイス名 デバイス指定時には、 .Pa /dev/ のパスプレフィックスは省略可能です。 .Nm ユーティリティは自動的にこれを前に付けます。 .Ss 一般的なオプション .Fl A オプションをつけると、 .Bx ラベルの中で歴史的な理由で残っている部分を 処理できるようになります。このオプションを与えない場合、これらの フィールドには適切な値が設定されます。 .Pp .Fl n オプションは、ディスクが変更される直前で .Nm の実行を止め、実行結果をディスクに書きこまずに表示します。 .Pp .Fl m Ar machine 引数は、指定されたマシンに合ったレイアウトを使うように .Nm に指示を行います。 .Ss ディスクラベルの読み込み ディスクドライブ上のラベルを確認するためには オプションを指定せずに .Nm を使用します。 .Pp .Nm .Op Fl A .Op Fl m Ar machine .Ar disk .Pp .Ar disk は対象とするディスクを示します。 また .Pa da0 や .Pa /dev/da0 のような書式でも指定することができます。 これによってパーティションのレイアウトを表示します。 .Ss 標準的なラベルの書き込み 標準的なラベルを書き込むには、 以下の書式を使います。 .Pp .Nm .Fl w .Op Fl \&An .Op Fl m Ar machine .Ar disk .Op Ar type .Pp ドライブの種類が指定されている場合、 .Xr disktab 5 ファイル内の同名のエントリが使用され、 指定されていない場合はデフォルトのレイアウトが使われます。 .Ss 既存のディスクラベルの編集 既存のディスクラベルを編集するには、 以下の書式を使います。 .Pp .Nm .Fl e .Op Fl \&An .Op Fl m Ar machine .Ar disk .Pp このコマンドは、デフォルトのエディタでディスクラベルをオープンし、 エディタ終了時にディスクラベルを検証し、正しければそれをディスクに 書きこみます。 .Ss ファイルからのディスクラベルの復元 .Pp ファイルからディスクラベルを復元するには、 以下の書式を使います。 .Pp .Nm .Fl R .Op Fl \&An .Op Fl m Ar machine .Ar disk protofile .Pp .Nm は以前の操作により .Tn ASCII フォーマットのファイルに保存されたディスクラベル を復元することができます。 ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり 編集したりするときのものと同じフォーマットである必要があります。 コメントは .Ql # と改行で区切られます。 .Ss ブートストラップのインストール .Fl B 引数が指定された場合、ブートストラップコードが .Pa /boot/boot から読みこまれ、それがディスクに書きこまれます。 .Fl b Ar boot 引数を用いると、別のファイルが使用できます。 .Sh 関連ファイル .Bl -tag -width ".Pa /etc/disktab" -compact .It Pa /boot/boot デフォルトのブートイメージ .It Pa /etc/disktab ディスクを説明したファイル .El .Sh 保存されたファイルの書式 .Nm ユーティリティは、 ディスクラベルを確認、編集、または復元する際に .Tn ASCII 形式のラベルを使用します。 フォーマットは以下のとおりです。 .Bd -literal -offset 4n 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 b: 160000 81920 swap c: 1173930 0 unused 0 0 # "raw" part, don't edit .Ed .Pp .Fl A オプションが指定されている場合、フォーマットは次のようになります: .Bd -literal -offset 4n # /dev/da1c: type: SCSI disk: da0s1 label: flags: bytes/sector: 512 sectors/track: 51 tracks/cylinder: 19 sectors/cylinder: 969 cylinders: 1211 sectors/unit: 1173930 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 b: 160000 81920 swap c: 1173930 0 unused 0 0 # "raw" part, don't edit .Ed .Pp .Ql # で始まる行はコメントです。 .Pp パーティションテーブルは 8 つまでエントリを持つことができ、 以下の情報を含みます: .Bl -tag -width indent .It Ar # パーティションの識別子は .Ql a から .Ql h の 1 文字です。 慣例的な理由により、 .Ql c パーティションは ディスク全体を表すために予約されています。 .It Ar size セクタ単位でのパーティションの大きさです。 .Cm K (キロバイト - 1024), .Cm M (メガバイト - 1024*1024), .Cm G (ギガバイト - 1024*1024*1024), .Cm % ( .Ql c 以外の固定長のパーティションを取り除いた .Em 後の 空間に対するパーセント)か、 .Cm * (固定長のパーティションとパーセント指定のパーティションを取り除いた .Em 後の 空間すべて)。 パーティション .Ql c に対して .Cm * を指定すると、ディスク全体を意味します 小文字の .Cm K , M , .Cm G も許されます。 大きさと型の間には空白を入れてはなりません。 .Pp 例: 2097152, 1G, 1024M, 1048576K はすべて同じ大きさです (512 バイトセクタを仮定)。 .It Ar offset ドライブの先頭からパーティションの開始位置までのオフセット値 (セクタ単位)です。 .Cm * は、使用すべき正しいオフセット (直前のパーティションの終端に 1 を加えたもの) を、 .Nm に計算させます。ただしパーティション .Ql c は無視します。 パーティション .Ql c に対しては、 .Cm * はオフセット 0 と解釈されます。 .It Ar fstype パーティションの使用目的を表します。 例では現在使用されているパーティション型を示します。 .Tn UFS ファイルシステムおよび .Xr ccd 4 では .Cm 4.2BSD が使われます。 Vinum ドライブでは .Cm vinum が使われます。 他の一般的な型は .Cm swap と .Cm unused です。 取り決めでは、パーティション .Ql c はスライス全体を表し、型 .Cm unused であるべきですが、 .Nm はこの取り決めを強制しません。 .Nm ユーティリティは多くの他のパーティション型を知っていますが、 それらは現在使用されていません。 (詳細は、 .Aq Pa sys/disklabel.h ファイルで .Dv FS_UNUSED で始まっている定義を参照してください。 .It Ar fsize .Cm 4.2BSD と .Tn LFS のファイルシステムに対してのみ有効です。 フラグメントの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 1024 で、 1 GB 以上に対するデフォルトは 4096 です。 .It Ar bsize .Cm 4.2BSD と .Tn LFS のファイルシステムに対してのみ有効です。 ブロックの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 8192 で、 1 GB 以上に対するデフォルトは 16384 です。 .It Ar bps/cpg .Cm 4.2BSD ファイルシステムに対しては、 シリンダグループ中のシリンダ数を意味します。 .Tn LFS ファイルシステムに対しては、 セグメントシフト値を意味します。 1 GB 未満のパーティションに対するデフォルトは 16 で、 1 GB 以上に対するデフォルトは 64 です。 .El .Sh 使用例 .Dl "bsdlabel da0s1" .Pp .Pa da0 の最初のスライス用に、 .Pa /dev/da0s1 から得たものとしてラベルを表示します .Pp .Dl "bsdlabel da0s1 > savedlabel" .Pp .Pa da0s1 に対する カーネル内のコピーをファイルに .Pa savedlabel に保存します。 このファイルは後で .Fl R オプションを用いてラベルを復元する際に使用できます。 .Pp .Dl "bsdlabel -w /dev/da0s1" .Pp .Pa da0s1 のラベルを作成します。 .Pp .Dl "bsdlabel -e da0s1" .Pp .Pa da0s1 のラベルを読み込み、編集し、その結果を書き込みます。 .Pp .Dl "bsdlabel -e -n da0s1" .Pp .Pa da0s1 のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを (セクタ単位で) 表示します。 新規ラベルは、メモリにもディスクにもインストール .Em しません 。 .Pp .Dl "bsdlabel -w da0s1" .Pp .Pa da0s1 にデフォルトのラベルを書きこみます。 パーティション情報やファイルシステム情報を編集するには、 この後で .Nm Fl e コマンドを使って下さい。 .Pp .Dl "bsdlabel -R da0s1 savedlabel" .Pp .Pa savedlabel に書かれている情報を .Pa da0s1 のラベルとして書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 .Pp .Dl "bsdlabel -R -n da0s1 label_layout" .Pp パーティションレイアウト .Pa label_layout を使用すると、 .Pa da0s1 のラベルがどのようになるかを表示します。 .Cm % と .Cm * に基くパーティションの大きさ指定を使用するラベル方式を使用した場合に、 各パーティションにどれだけ割り当てられるかを判定するのに有用です。 .Pp .Dl "bsdlabel -B da0s1" .Pp .Pa da0s1 に新たにブートストラップコードを書き込みます. ブートストラップコードは .Pa /boot/boot です。 .Pp .Dl "bsdlabel -w -B -b newboot /dev/da0s1" .Pp 新たなラベルとブートストラップコードを書き込みます。 ブートストラップコードは カレントディレクトリにある .Pa newboot です。 .Bd -literal -offset indent dd if=/dev/zero of=/dev/da0 bs=512 count=32 fdisk -BI da0 dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 bsdlabel -w -B da0s1 bsdlabel -e da0s1 .Ed .Pp ディスク上の既存の情報を完全に削除し、 ディスク全体を覆う 1 つのスライスを含んだ .Tn DOS パーティションテーブル付きの ブート可能ディスクを新規に作成します。 次にスライスを初期化し、編集します。 .Pa dd はオプションですが、 .Tn BIOS によっては正しくディスクを認識するために必要です。 .Pp これは、 .Cm % , M , G , .Cm * といった新規パーティションサイズ型を使用する、ディスクラベルの例です。 次のコマンドラインのソースファイルとして使用可能です: .Dq Li "bsdlabel -R ad0s1c new_label_file" .Bd -literal -offset 4n # /dev/ad0s1c: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 400M 0 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*) b: 1G * swap c: * * unused e: 204800 * 4.2BSD f: 5g * 4.2BSD g: * * 4.2BSD .Ed .Sh 関連項目 .Xr ccd 4 , .Xr geom 4 , .Xr md 4 , .\" Xr bsdlabel 5 , .Xr disktab 5 , .Xr boot0cfg 8 , .Xr fdisk 8 .Sh 診断 デバイスドライバは、 オープンされているパーティションに関して、 サイズが小さくなることおよびオフセットが変化することを許しません。