doc/ja_JP.eucJP/man/man8/bsdlabel.8
SUZUKI Koichi eddc7bb959 Catch up with 5.4-Release.
apm.8, apmd.8, and wlconfig.8 will be deleted after repocopy is finished.

Submitted by: koizumistr at minos ocn ne jp
Coordinated by: Nobuyuki Koganemaru <n-kogane at syd odn ne jp>
2005-07-11 13:32:04 +00:00

501 lines
12 KiB
Groff

.\" 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.
.\" 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.58.2.2 2005/02/12 15:18:10 brueffer Exp %
.\"
.\" $FreeBSD$
.\"
.Dd March 15, 2003
.Dt BSDLABEL 8
.Os
.Sh 名称
.Nm bsdlabel
.Nd ディスクラベルの読み書きを行う
.Sh 書式
.Nm
.Op Fl A
.Ar disk | Fl f Ar file
.Nm
.Fl w
.Op Fl \&An
.Op Fl B Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk | Fl f Ar file
.Op Ar type
.Nm
.Fl e
.Op Fl \&An
.Op Fl B Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk | Fl f Ar file
.Nm
.Fl R
.Op Fl \&An
.Op Fl B Op Fl b Ar boot
.Op Fl m Ar machine
.Op Fl f
.Ar disk | Fl f Ar file
.Ar protofile
.Sh 解説
.Nm
ユーティリティは、ディスクパーティションや
パーティションイメージを含むファイル上に
.Bx
ラベルを
書きこんだり、確認したり、修正したりするために使われます。
また
.Nm
は同時にブートストラップコードを
インストールすることもできます。
.Ss ディスクデバイス名
デバイス指定時 (すなわち
.Fl f
オプションが使われていない場合) には、
.Pa /dev/
のパスプレフィックスは省略可能です。
.Nm
ユーティリティは自動的にこれを前に付けます。
.Ss 一般的なオプション
.Fl A
オプションをつけると、
.Bx
ラベルの中で歴史的な理由で残っている部分を
処理できるようになります。このオプションを与えない場合、これらの
フィールドには適切な値が設定されます。
.Pp
.Fl f
オプションは、ディスクパーティションの代わりにファイルに対して操作を行なうよう
.Nm
に指示します。
.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
.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
ユーティリティは多くの他のパーティション型を知っていますが、
それらは現在使用されていません
(詳細は、
.In 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
パーティションテーブル付きの
ブート可能ディスクを新規に作成します。
次にスライスを初期化し、編集します。
.Xr dd 1
はオプションですが、
.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 診断
デバイスドライバは、
オープンされているパーティションに関して、
サイズが小さくなることおよびオフセットが変化することを許しません。
.Sh 互換性
.Vt u_int32_t
を用いてセクタ数を格納しているため、
.Bx
ラベルは最大 2^32-1 セクタに制限されます。
これは通常 2TB のディスク容量を意味します。
これより大きなディスクをパーティションを分けるには、例えば
.Xr gpt 8
などの別の方法を使う必要があります。
各々の
.Bx
は、少しずつ異なったバージョンの
.Bx
ラベルを使用しており、
一般的に互換性はありません。
.Sh 関連項目
.Xr ccd 4 ,
.Xr geom 4 ,
.Xr md 4 ,
.\" Xr bsdlabel 5 ,
.Xr disktab 5 ,
.Xr boot0cfg 8 ,
.Xr fdisk 8 ,
.Xr gpt 8