New Japanese translation based on disklabel.8

Submitted by:	Yoshiteru Kageyama <yt-kage@cb3.so-net.ne.jp>
This commit is contained in:
Kazuo Horikawa 2003-05-25 14:56:04 +00:00
parent 4c973018e7
commit 7f19247363
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17106
3 changed files with 481 additions and 988 deletions

View file

@ -25,6 +25,7 @@ MAN8 = IPXrouted.8\
bootptest.8\
btxld.8\
burncd.8\
bsdlabel.8\
camcontrol.8\
ccdconfig.8\
chat.8\
@ -43,7 +44,6 @@ MAN8 = IPXrouted.8\
dev_mkdb.8\
dhclient-script.8\
dhclient.8\
disklabel.8\
diskless.8\
dmesg.8\
dump.8\

View file

@ -0,0 +1,480 @@
.\" 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 診断
デバイスドライバは、
オープンされているパーティションに関して、
サイズが小さくなることおよびオフセットが変化することを許しません。

View file

@ -1,987 +0,0 @@
.\" 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/disklabel/disklabel.8,v 1.49 2003/03/16 00:11:49 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd March 15, 2003
.Dt DISKLABEL 8
.Os
.Sh 名称
.Nm disklabel
.Nd ディスクラベルの読み書きを行う
.Sh 書式
.Nm
.Op Fl r
.Ar disk
.Nm
.Fl w
.Op Fl nr
.Op Fl m Ar machine
.Ar disk type
.Op Ar packid
.Nm
.Fl e
.Op Fl nr
.Op Fl m Ar machine
.Ar disk
.Nm
.Fl R
.Op Fl nr
.Op Fl m Ar machine
.Ar disk protofile
.Pp
.Nm
.Fl B
.Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk
.Nm
.Fl w B
.Op Fl n
.Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk type
.Op Ar packid
.Nm
.Fl R B
.Op Fl n
.Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk protofile
.Sh 解説
.Nm
ユーティリティは、ディスクドライブやディスクパックにラベルを書き込んだり、
確認したり、修正したりするために使われます。
ラベルを書き込む際には、ドライブの識別子を変更したり、
ディスクのパーティションを変更したり、
異常のあるラベルを置き換えたりすることができます。
コマンドには、ディスク上のラベルを読んだり (表示したり)、書き込んだり、
編集したりするいくつかの書式があります。
また
.Nm
は同時にブートストラップコードを
インストールすることもできます。
.Ss メモリ内のラベルとディスク上のラベル
ディスクラベルは各ディスクパーティションの先頭、
もしくは先頭付近に存在します。
より速くアクセスするために、カーネルは
常にメモリ内にコピーを保持します。
デフォルトでは、
.Nm
による操作のほとんどは
メモリ内にあるラベルのコピーに対してアクセスします。
(ディスク上に存在する) ラベルにアクセスするためには
.Fl r
オプションを使用します。
このオプションにより、
カーネルのサポート無しでラベルをディスクにインストール
することが可能になります。
例えばラベルがはじめてシステムにインストールされる時など、
ディスクにはじめてラベルを書き込む際に指定されなければなりません。
.Fl r
オプションによる固有の効果は以下の
各コマンドの説明で示します。
.Ss ディスクデバイス名
全ての
.Nm
の書式で、ディスクのデバイス名が必要です。
ディスクのデバイス名は、
ディスクまたはスライスを示すローデバイス名でなければなりません。
例えば
.Pa da0
.Tn DOS
パーティションに無関係でディスク全体を表し、
.Pa da0s1
はスライスを表します。
デバイスによっては、特に
.Xr ccd 4
では、
.Dq ディスク全体を示す
(または
.Ql c )
パーティションを必要とします。
例えば
.Pa ccd0c
です。
デバイス指定時には、
.Pa /dev/
のパスプレフィックスは省略可能です。
.Nm
ユーティリティは自動的にこれを前に付けます。
.Ss ディスクラベルの読み込み
ディスクドライブ上のラベルを確認するためには
オプションを指定せずに
.Nm
を使用します。
.Pp
.Nm
.Op Fl r
.Ar disk
.Pp
.Ar disk
は対象とするローディスクを示します。
また
.Pa da0
.Pa /dev/da0c
のような書式でも指定することができます。
これによってドライブに関するすべてのパラメータとパーティションのレイアウトを
表示します。
.Fl r
オプションを指定しない場合には、カーネルのメモリ内にあるラベルのコピーが
表示されます。
もしディスクにラベルが書き込まれていなかったり、ディスクのパーティション形式が
正しくない場合には、カーネルが作り直したり、修正するかもしれません。
.Fl r
オプションが与えられると、
ディスク上の実際のラベルが表示されます。
通常は、どちらでも同じ結果となりますが、
ラベルが未初期化の場合とまたは壊れている場合には、違う結果となります。
.Ss 標準的なラベルの書き込み
標準的なラベルを書き込むには、
以下の書式を使います。
.Pp
.Nm
.Fl w
.Op Fl nr
.Op Fl m Ar machine
.Ar disk type
.Op Ar packid
.Pp
コマンドには引数として、ラベルを書き込むドライブ名および
.Xr disktab 5
に書かれているドライブタイプが必要です。
ドライブのパラメータとパーティション情報は、このファイルから得られたもの
が使われます。
もし、同じ型のディスクに異なるパーティション情報を持たせたい場合には、
.Xr disktab 5
ファイルにそれぞれ別々のエントリを書いておくか、ラベルを書き込んだあとで
後述する方法でそれを編集する必要があります。
オプションの引数として、16 文字までのパック識別用文字列を指定します。
パック名に空白を含める場合には
.Ar packid
をクォートする必要があります。
.Pp
.Fl m
オプションが与えられると、ターゲットとなる
.Ar machine
が理解できるラベルが書き込まれます。
デフォルトでは、現在使用しているハードウェアアーキテクチャの
ものとなります。
.Fl n
が使用された場合、データはデバイスに書き込まれません。
代わりに、書き込まれるはずだったディスクラベルが標準出力に表示されます。
.Pp
.Fl r
オプションが与えられると、ディスクのラベルとブートストラップが
直接書き換えられます。
この副作用として、すでにあるブートストラップ用コードが上書きされてしまうため、
ディスクがブート不能にされてしまいます。
ラベルとブートストラップを同時に書き込む方法は
後述のブートオプションを参照してください。
.Fl r
が指定されない場合には、ラベルはメモリ内のコピーを通して書き換えられる
ため、ブートストラップコードは影響されません。
もしまだディスクがラベル付けされていなければ、
.Fl r
オプションをつけなければなりません。
どちらの方法でも、カーネルのメモリ内コピーは変更されます。
.Pp
.Xr disktab 5
に記載されていない未使用のディスクに対しては、
.Ar type
として
.Cm auto
を指定できます。
この場合、ディスクの最初のラベルを生成するようにドライバに要求します。
これは成功するかも知れないし成功しないかも知れません。
これはディスクドライバがディスクを全く読む事無く
必要なデータを取得できるか否かに依存します。
全ての
.Tn SCSI
ディスクとほとんどの
.Tn IDE
ディスク、そして
.Cm vnode
タイプのメモリディスク
.Pq Xr md 4
において
成功するでしょう。
ディスクに対するラベルの書き込みは唯一サポートされた操作であり、
.Ar disk
自身は標準の名前 (フルパス名であってはなりません) で提供される必要があります。
.Pp
ほとんどのハードディスクでは、パーセントベースのラベル (および大きさに
.Ql *
を指定する単一のパーティション) で、妥当な設定を出力するでしょう。
.Pp
PC ベースのシステムでは、
BIOS に正しく
.Fx
ディスクラベルを認識させるために、特別な要件があります。
古いシステムでは、
.Dq 危険な方法で専用化された
ディスクラベルが必要かもしれません。
これは、偽の
.Tn DOS
パーティションを作成することにより、
最近のディスクのジオメトリに対して古い
.Tn BIOS
が引き起す問題を回避するというものです。
新しいシステムでは、通常の DOS パーティションを
.Ar fdisk
で作成して、このスライス中に
.Fx
ディスクラベルを作成すれば良いでしょう。
本件についてはこのマニュアルで後述します。
.Pp
新規ディスクラベルをインストールするだけでは、
このラベルでシステムをブートさせることは出来ません。
ブートブロックもまたインストールする必要があります。
本件についてはこのマニュアルで後述します。
.Ss 既存のディスクラベルの編集
既存のディスクラベルを編集するには、
以下の書式を使います。
.Pp
.Nm
.Fl e
.Op Fl nr
.Op Fl m Ar machine
.Ar disk
.Pp
このコマンドはラベルを
カーネルのメモリ内コピーから、または
.Fl r
オプションが与えられた場合には直接ディスクから
読み込みます。
ラベルは
.Tn ASCII
フォーマットでファイルに書き出され、
変更の際にはエディタへ渡されます。
.Ev EDITOR
環境変数によるエディタの指定がない場合には、このエディタには
.Xr vi 1
が使用されます。
エディタを終了すると、ラベルファイルはディスクラベルを
再書き込みするために使われます。
.Fl r
オプションの指定の有無にかかわらず、
すでにあるブートストラップコードは変更されません。
.Pp
.Fl m
オプションが与えられると、ターゲットとなる
.Ar machine
が理解できるようにラベルが書き出されます。
デフォルトでは現在使用しているハードウェアアーキテクチャの
ものとなります。
.Pp
.Fl n
オプションが与えられると、データはデバイスに書き込まれません。
代わりに、書き込まれるはずだったディスクラベルが標準出力に表示されます。
特定のディスクに対して、
パーティション方式がどのように動作するかを見るのに有用です。
.Ss ファイルからのディスクラベルの復元
.Pp
ファイルからディスクラベルを復元するには、
以下の書式を使います。
.Pp
.Nm
.Fl R
.Op Fl nr
.Op Fl m Ar machine
.Ar disk protofile
.Pp
.Nm
は以前の操作により
.Tn ASCII
フォーマットのファイルに保存されたディスクラベル
を復元することができます。
ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり
編集したりするときのものと同じフォーマットである必要があります。
コメントは
.Ql #
と改行で区切られます。
新しいラベルを書き込む際に
.Fl r
が指定されているとブートストラップコードは使えなくなってしまいますが、
指定されていない場合には影響ありません。
ラベルの復元とブートストラップの書き込みを同時に行う方法は
後述のブートオプションを参照してください。
.Pp
.Fl m
オプションが与えられると、ターゲットとなる
.Ar machine
が理解できるようにラベルが書き出されます。
デフォルトでは現在使用中のハードウェアアーキテクチャの
ものとなります。
.Pp
.Fl n
オプションが与えられると、データはデバイスに書き込まれません。
代わりに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。
特定のディスクに対して、
パーティション方式がどのように動作するかを見るのに有用です。
.Ss ブートストラップのインストール
.Nm
の最後の 3 つの書式は、ブートストラップコードを
インストールするために使われます。
古い PC システムとの互換性を保つために
.Dq 危険な方法で専用化された
ディスクを作成している場合、通常、
.Pa da0
のような raw ディスク名を指定する必要があります。
既存のスライスをラベル付けする必要がある場合、
.Pa da0s1
のようなスライス名を指定する必要があります。
スライスをブート可能にするには
ベースディスク上の
.Tn MBR
を更新する必要があるでしょう。
.Xr fdisk 8
を参照してください。
.Pp
.Nm
.Fl B
.Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk
.Pp
この書式ではブートストラップのみインストールします。
ディスクラベルは変更しません。
.Dq 危険な方法で専用化された
ディスクを作成しようとしているのではない限り、
.Pa da0
のようなベースディスクにこのコマンドは絶対に使用しないでください。
このコマンドは典型的には
.Pa da0s1
のようなスライスに対して実行します。
.Pp
現在使用中のマシン以外のハードウェアアーキテクチャ
.Ar machine
用にラベルを作成する場合、
.Fl m
オプションを指定する必要があります。
.Pp
.Nm
.Fl w B
.Op Fl n
.Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk type
.Op Ar packid
.Pp
この書式は前述の
.Dq ラベルの書き込み
コマンドと一致します。
新しいボリュームラベルを書き込むとともに
ブートストラップのインストールもおこないます。
ベースディスクに対して本コマンドを実行すると、
.Dq 危険な方法で専用化された
ラベルを作成します。
本コマンドは、通常、ベースディスクではなくスライスに対して実行します。
.Pp
.Fl m
オプションが与えられると、ターゲットとなる
.Ar machine
が理解できるようなラベルおよびブートストラップが書き出されます。
デフォルトでは現在使用中のハードウェアアーキテクチャの
ものとなります。
.Fl n
オプションが与えられると、データはデバイスに書き込まれません。
代わりに、書き込まれるはずだったディスクラベルが標準出力に表示されます。
.Pp
.Nm
.Fl R B
.Op Fl n
.Op Fl b Ar boot
.Op Fl m Ar machine
.Ar disk protofile
.Pp
この書式は前述の
.Dq ラベルの復元
コマンドと一致します。
ボリュームラベルを復元するとともに
ブートストラップのインストールもおこないます。
ベースディスクに対して本コマンドを実行すると、
.Dq 危険な方法で専用化された
ラベルを作成します。
本コマンドは、通常、ベースディスクではなくスライスに対して実行します。
.Pp
ブートストラップコマンドは常にディスクに直接アクセスするため、
.Fl r
オプションを指定する必要はありません。
.Pp
.Fl m
オプションが与えられると、ターゲットとなる
.Ar machine
が理解できるようなラベルおよびブートストラップが書き出されます。
デフォルトでは現在使用中のハードウェアアーキテクチャの
ものとなります。
.Pp
.Fl n
フラグが与えられると、データはデバイスに書き込まれません。
代わりに、書き込まれるはずだったディスクラベルが標準出力に表示されます。
.Pp
ブートストラップコードは 2 つのブートプログラムより構成されており、
1 つの
.Pa /boot/boot
イメージにコンパイルされます。
代替のブートイメージを
.Fl b
オプションを用いて指定することが可能です。
.Ss スクラッチからの、ブート可能ディスクの初期化/フォーマット
.Pp
ディスクをスクラッチから初期化するには、次の手順をお勧めします。
この手順は、
.Fx
以外のスライスを含む、
ディスク上のすべてを削除してしまうことに注意してください。
.Bl -enum
.It
.Xr fdisk 8
を使用してハードディスクを初期化し、
.Tn DOS
からは
.Dq パーティションテーブル
として参照されるスライステーブルを作成します。
.It
.Nm
を使用して、直前のステップで作成した
.Fx
スライス上のパーティションを定義します。
.It
最後に、
.Xr newfs 8
を使用して、新パーティション上にファイルシステムを作成します。
.El
.Pp
典型的なディスクラベルのパーティショニング方式では、
.Ql a
パーティションは約 128MB でルートファイルシステムを、
.Ql b
パーティションはスワップを、
.Ql d
パーティションは
.Pa /var
を (通常 128MB)、
.Ql e
パーティションは
.Pa /var/tmp
を (通常 128MB)、
.Ql f
パーティションは
.Pa /usr
を (通常 2G くらい)、
.Ql g
パーティションは
.Pa /home
を (通常、残りすべて)
それぞれ割り当てます。
これは、システムによって異なります。
.Pp
.Nm fdisk Fl BI Pa da0
.Pp
.Nm
.Fl w B
.Pa da0s1
.Cm auto
.Pp
.Nm
.Fl e
.Pa da0s1
.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
# /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 # (Cyl. 0 - 84*)
b: 160000 81920 swap # (Cyl. 84* - 218*)
c: 1173930 0 unused 0 0 # (Cyl. 0 - 1211*)
h: 962010 211920 vinum # (Cyl. 218*- 1211*)
.Ed
.Pp
.Ql #
で始まる行はコメントです。
他の項目のほとんどは既に使われていません。
正しく設定されてなければならない項目は以下のとおりです:
.Pp
.Bl -inset
.It Ar label
オプションのラベルです。
ラベルを書き込む際に
.Ar packid
オプションにより設定されます。
.It Ar flags
.Cm removable , ecc
もしくは
.Cm badsect
が指定可能です。
.Cm removable
はリムーバブルメディアドライブに対して設定されますが、
現在の
.Fx
のドライバはこのフラグを
評価しません。
.Cm ecc
はサポートされていません。
.Cm badsect
はドライブが不良セクタの代替を行える場合に
指定します。
.It Ar sectors/unit
ディスクの全体の大きさを示します。
この値は正しくなければなりません。
.It Ar パーティションテーブル
.Ux
のパーティションテーブルであり、
.Xr fdisk 8
で述べられている
.Tn DOS
パーティションテーブルではありません。
.El
.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
.Pp
行の残りの部分はコメントで、
ドライブの
一般的には使われていない (しかし多分正確な) ジオメトリ情報に
基づいたシリンダの割り当て情報を示しています。
アスタリスク
.Pq Ql *
はパーティションがシリンダ境界で
厳密に始まっていない、もしくは終わっていないことを意味します。
.Sh 使用例
.Dl "disklabel da0s1"
.Pp
.Pa da0
の最初のスライス用に、
.Pa /dev/da0s1
から得たものとしてメモリ上のラベルを表示します
(ディスクが
.Dq 危険な方法で専用化された
場合、
.Pa da0
のようにベースディスク名を指定する必要があります)。
.Pp
.Dl "disklabel da0s1 > savedlabel"
.Pp
.Pa da0s1
に対する
カーネル内のコピーをファイルに
.Pa savedlabel
に保存します。
このファイルは後で
.Fl R
オプションを用いてラベルを復元する際に使用できます。
.Pp
.Dl "disklabel -w -r /dev/da0s1 da2212 foo"
.Pp
.Pa /etc/disktab
に書かれている
.Dq da2212
の情報を
.Pa da0s1
のラベルとして書き込みます。
存在したブートストラップコードは使えなくなり、
ディスクはブート不可能になります。
.Pp
.Dl "disklabel -e -r da0s1"
.Pp
.Pa da0s1
のディスク上のラベルを読み込み、編集し、再び書き込みます。
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
存在したブートストラップコードは影響を受けません。
.Pp
.Dl "disklabel -e -r -n da0s1"
.Pp
.Pa da0s1
のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを
(セクタ単位で) 表示します。
新規ラベルは、メモリにもディスクにもインストール
.Em しません
.Pp
.Dl "disklabel -r -w da0s1 auto"
.Pp
.Pa da0s1
から必要な情報を自動検出し、新しいラベルをディスクに書こうとします。
パーティションおよびファイルシステム情報を編集するために、
この後で
.Nm Fl e
コマンドを使って下さい。
.Pp
.Dl "disklabel -R da0s1 savedlabel"
.Pp
.Pa savedlabel
に書かれている情報を
.Pa da0s1
のラベルとして書き込みます。
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
存在したブートストラップコードは影響を受けません。
.Pp
.Dl "disklabel -R -n da0s1 label_layout"
.Pp
パーティションレイアウト
.Pa label_layout
を使用すると、
.Pa da0s1
のラベルがどのようになるかを表示します。
.Cm %
.Cm *
に基くパーティションの大きさ指定を使用するラベル方式を使用した場合に、
各パーティションにどれだけ割り当てられるかを判定するのに有用です。
.Pp
.Dl "disklabel -B da0s1"
.Pp
.Pa da0s1
に新たにブートストラップコードを書き込みます.
ブートストラップコードは
.Pa /boot/boot
です。
ディスク上のラベルおよびカーネル内コピーは影響を受けません。
.Pp
.Dl "disklabel -w -B /dev/da0s1 -b newboot da2212"
.Pp
新たなラベルとブートストラップコードを書き込みます。
ラベルは
.Xr disktab 5
.Dq da2212
の情報を使用し、
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
ブートストラップコードは
カレントディレクトリにある
.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
disklabel -w -B da0s1 auto
disklabel -e da0s1
.Ed
.Pp
ディスク上の既存の情報を完全に削除し、
ディスク全体を覆う 1 つのスライスを含んだ
.Tn DOS
パーティションテーブル付きの
ブート可能ディスクを新規に作成します。
次にスライスを初期化し、編集します。
.Pa dd
はオプションですが、
.Tn BIOS
によっては正しくディスクを認識するために必要です。
.Pp
これは、
.Cm % , M , G ,
.Cm *
といった新規パーティションサイズ型を使用する、ディスクラベルの例です。
次のコマンドラインのソースファイルとして使用可能です:
.Dq Li "disklabel -R ad0s1c new_label_file"
.Bd -literal -offset 4n
# /dev/ad0s1c:
type: ESDI
disk: ad0s1
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 40633
sectors/unit: 40959009
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: 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 md 4 ,
.Xr disklabel 5 ,
.Xr disktab 5 ,
.Xr boot0cfg 8 ,
.Xr fdisk 8 ,
.Xr vinum 8
.Sh 診断
デバイスドライバは、
オープンされているパーティションに関して、
サイズが小さくなることおよびオフセットが変化することを許しません。
デバイスドライバの中には、
ラベルを持たないディスクに対して 1 パーティションのみからなる
ラベルを作成するものがあります。
そのため、
オープンされているディスクのラベルは
.Ql a
パーティションに書く必要があります。
このような理由で、
次の 2 ステップにより、
所望のラベルを作成する必要がある場合があります。
第 1 ステップは少なくとももう 1 つのパーティションを作成することであり、
第 2 ステップは
.Ql a
パーティションを小さくしながら
新たなパーティションのラベルを設定することです。
.Pp
ファイルシステムによっては、
用意された領域にブートストラップコードが収まり切らないような
マシンがあるかも知れません。
その結果として、
.Dq ブート可能な
ディスクのパーティションに
ファイルシステムを作成できない場合があります。
ブートストラップコードを書き込む時に、
.Nm
はこのようなケースをチェックします。
.Dv FS_UNUSED
型のパーティションに重なるように
ブートストラップコードが書き込まれる場合には、
そのパーティションは
.Dv FS_BOOT
型とマークされます。
.Xr newfs 8
ユーティリティは、
.Dv FS_BOOT
パーティションにファイルシステムを作成することを禁止します。
また逆に、
パーティションのタイプが
.Dv FS_UNUSED
もしくは
.Dv FS_BOOT
では無い場合、
.Nm
はそのパーティションに重なるようなブートストラップコードを書き込みません。
.Sh バグ
ディスク名がフルパスで指定されない場合には、
デバイス名は
.Ql c
パーティションになります。
.Pp
i386 アーキテクチャでは、プライマリブートストラップセクタに、
組み込みの
.Em fdisk
テーブルを持ちます。
.Nm
ユーティリティは、
ブートストラップのみをインストールする時
.Pq Fl B
もしくはラベルを編集する時
.Pq Fl e
にこれを壊さないように気を付けます。
しかし、
.Fl w
.Fl R
を指定した時には、
無条件でプライマリブートストラッププログラムをディスクに書き込みますので、
.Em fdisk
テーブルをブートストラッププログラム内のダミーに置き換えます。
これはディスク全体を専用に使う場合、
すなわち
.Fx
ディスクラベルがディスクの絶対ブロック 0 から始まる場合
のみ関係あります。
.Pp
.Nm
ユーティリティはすべての実施可能なエラーチェックは行いません。
パーティションが重なる場合、
絶対的なオフセットが期待したオフセットと異る場合、
.Ql c
パーティションが 0 から開始しないかディスク全体を覆わない場合、
パーティションがデバイスの終端を越える場合、
またその他のエラーが生じた場合、警告が表示されます。
ただし、未使用空間があっても警告は表示されません。