diff --git a/ja_JP.eucJP/man/man8/disklabel.8 b/ja_JP.eucJP/man/man8/disklabel.8 index 155de699bb..ebc8a1eece 100644 --- a/ja_JP.eucJP/man/man8/disklabel.8 +++ b/ja_JP.eucJP/man/man8/disklabel.8 @@ -1,937 +1,937 @@ .\" 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.15.2.9 2001/03/05 19:33:39 ru Exp % .\" .\" jpman %Id: disklabel.8,v 1.2 1997/03/31 14:09:16 horikawa Stab % .\" .Dd July 30, 1999 .Dt DISKLABEL 8 .Os FreeBSD .Sh 名称 .Nm disklabel .Nd ディスクラベルの読み書きを行う .Sh 書式 .Nm .Op Fl r .Ar disk .Nm .Fl w .Op Fl r .Op Fl n .Ar disk Ar disktype .Oo Ar packid Oc .Nm .Fl e .Op Fl r .Op Fl n .Ar disk .Nm .Fl R .Op Fl r .Op Fl n .Ar disk Ar protofile .Nm .Op Fl NW .Ar disk .Pp .Nm .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk .Oo Ar disktype/auto Oc .Nm .Fl w .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar disktype/auto .Oo Ar packid Oc .Nm .Fl R .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar protofile .Oo Ar disktype/auto Oc .Sh 解説 .Nm はディスクドライブやディスクパックにラベルを書き込んだり、 確認したり、修正したりするために使われます。 ラベルを書き込む際には、ドライブの識別子を変更したり、 ディスクのパーティションを変更したり、 異常のあるラベルを置き換えたりすることができます。 コマンドには、ディスク上のラベルを読んだり (表示したり)、書き込んだり、 編集したりするいくつかの書式があります。 また .Nm は同時にブートストラップコードを インストールすることもできます。 .Ss メモリ内のラベルとディスク上のラベル .Pp ディスクラベルは各ディスクパーティションの先頭、 もしくは先頭付近に存在します。 より速くアクセスするために、カーネルは 常にメモリ内にコピーを保持します。 デフォルトでは、 .Nm による操作のほとんどは メモリ内にあるラベルのコピーに対してアクセスします。 (ディスク上に存在する) ラベルにアクセスするためには .Fl r オプションを使用します。 このオプションにより、 カーネルのサポート無しでラベルがディスクにインストール することが可能になります。 例えばラベルがはじめてシステムにインストールされる時など、 ディスクにはじめてラベルを書き込む際に指定されなければなりません。 .Fl r オプションによる固有の効果は以下の 各コマンドの説明で示します。 .Pp .Ss ディスクデバイス名 .Pp 全ての .Nm の書式で、ディスクのデバイス名が必要です。 ディスクのデバイス名は、 ディスクまたはスライスを示すローデバイス名でなければなりません。 例えば .Pa da0 は DOS パーティションに無関係でディスク全体を表し、 .Pa da0s1 はスライスを表します。 デバイスによっては、特に .Ar ccd では、 .Dq ディスク全体を示す (または .Dq c ) パーティションを必要とします。 例えば .Pa ccd0c です。 デバイス指定時には、 .Pa /dev/ のパスプレフィックスを付ける必要はありません。 .Nm は自動的にこれを前に付けます。 .Ss ディスクラベルの読み込み .Pp ラベルをディスクドライブに保存したり確認するためには オプションを指定せずに .Nm を使用します。 .Pp .Nm .Op Fl r .Ar disk .Pp .Ar disk は対象とするローディスクを示します。 また .Pa da0 や .Pa /dev/da0c のような書式でも指定することができます。 これによってドライブに関するすべてのパラメータとパーティションのレイアウトを 表示します。 .Fl r フラグを指定しない場合には、カーネルのメモリ内にあるラベルのコピーが 表示されます。 もしディスクにラベルが書き込まれていなかったり、ディスクのパーティション形式が 正しくない場合には、カーネルが作り直したり、修正するかもしれません。 .Fl r フラグが与えられると、 ディスク上の実際のラベルが表示されます。 通常は、どちらでも同じ結果となりますが、 ラベルが未初期化の場合とまたは壊れている場合には、違う結果となります。 .Ss 標準的なラベルの書き込み .Pp 標準的なラベルを書き込むには、 以下の書式を使います。 .Pp .Nm .Fl w .Op Fl r .Op Fl n .Ar disk Ar disktype/auto .Oo Ar packid Oc .Pp .Nm .Fl w .Op Fl r .Op Fl n .Ar disk auto .Pp コマンドには引数として、ラベルを書き込むドライブ名および .Xr disktab 5 に書かれているドライブタイプが必要です。 ドライブのパラメータとパーティション情報は、このファイルから得られたもの が使われます。 もし、同じ型のディスクに異なるパーティション情報を持たせたい場合には、 disktab にそれぞれ別々のエントリを書いておくか、ラベルを書き込んだあとで 後述する方法でそれを編集する必要があります。 オプションの引数として、16 文字までのパック識別用文字列を指定します。 パック名に空白を含める場合にはそれをクォートする必要があります。 .Pp .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp .Fl r フラグが与えられると、ディスクのラベルとブートストラップが 直接書き換えられます。 この副作用として、すでにあるブートストラップ用コードが上書きされてしまうため、 ディスクがブート不能にされてしまいます。 ラベルとブートストラップを同時に書き込む方法は 後述のブートオプションを参照してください。 .Fl r が指定されない場合には、ラベルはメモリ内のコピーを通して書き換えられる ため、ブートストラップコードは影響されません。 もしまだディスクがラベル付けされていなければ、 .Fl r フラグをつけなければなりません。 どちらの方法でも、カーネルのメモリ内コピーは変更されます。 .Pp .Xr disktab 5 に記載されていない未使用のディスクに対しては、 .Ar disktype として .Dq auto を指定できます。 この場合、ディスクの最初のラベルを生成するようにドライバに要求します。 これは成功するかも知れないし成功しないかも知れません。 これはディスクドライバがディスクを全く読む事無く 必要なデータを取得できるか否かに依存します。 全ての SCSI ディスクとほとんどの IDE ディスクと vnode デバイスにおいて 成功するでしょう。 ディスクに対するラベルの書き込みは唯一サポートされた操作であり、 .Ar disk 自身は標準の名前 (フルパス名であってはなりません) で提供される必要があります。 .Pp ほとんどのハードディスクでは、パーセントベースのラベル (および大きさに .Ql * を指定する単一のパーティション) で、もっともな設定を出力するでしょう。 .Pp PC ベースのシステムでは、 BIOS に正しく .Fx ディスクラベルを認識させるために、特別な要件があります。 古いシステムでは、 .Dq 危険な方法で専用化された ディスクラベルが必要かもしれません。 これは、偽の DOS パーティションを作成することにより、 最近のディスクのジオメトリに対して古い BIOS が引き起す問題を 回避するというものです。 新しいシステムでは、通常の DOS スライスを .Ar fdisk で作成して、このスライス中に .Fx ディスクラベルを作成すれば良いでしょう。 本件についてはこのマニュアルで後述します。 .Pp 新規ディスクラベルをインストールするだけでは、 このラベルでシステムをブートさせることは出来ません。 ブートブロックもまたインストールする必要があります。 本件についてはこのマニュアルで後述します。 .Ss 既存のディスクラベルの編集 .Pp 既存のディスクラベルを編集するには、 以下の書式を使います。 .Pp .Nm .Fl e .Op Fl r .Op Fl n .Ar disk .Pp このコマンドはラベルを カーネルのメモリ内コピーから、または .Fl r フラグが与えられた場合には直接ディスクから 読み込まれます。 ラベルは ASCII でファイルにかかれ、 編集するためのエディタへ渡されます。 .Ev EDITOR 環境変数によるエディタの指定がない場合には、このエディタには .Xr vi 1 が使用されます。 エディタを終了すると、ラベルファイルはディスクラベルを 再書き込みするために使われます。 .Fl r フラグの指定の有無にかかわらず、 すでにあるブートストラップコードは変更されません。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 特定のディスクに対して、 パーティション方式がどのように動作するかを見るのに有用です。 .Ss ファイルからのディスクラベルの復元 .Pp ファイルからディスクラベルを復元するには、 以下の書式を使います。 .Pp .Nm .Fl R .Op Fl r .Op Fl n .Ar disk Ar protofile .Pp .Nm は以前の操作により ASCII ファイルとして保存されているディスクラベル をディスクへ書き戻します。 ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり 編集したりするときのものと同じフォーマットである必要があります。 コメントは .Ar \&# と改行で区切られます。 新しいラベルを書き込む際に .Fl r が指定されているとブートストラップコードは使えなくなってしまいますが、 指定されていない場合には影響ありません。 ラベルの復元とブートストラップの書き込みを同時に行う方法は 後述のブートオプションを参照してください。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 特定のディスクに対して、 パーティション方式がどのように動作するかを見るのに有用です。 .Ss ディスクラベル領域への書き込みの有効化および無効化 .Pp デフォルトでは、 ディスクの先頭領域にあるディスクラベル領域への書き込みは不可能です。 ディスクドライバはいかなる操作も無視します。 もし (例えばラベルを消去するなど) この領域への書き込みを行う必要があるならば、 以下の書式を使います。 .Pp .Nm .Op Fl W .Ar disk .Pp ラベルの書き込みを可能にした後に不可能にするには 以下のコマンドを使います。 .Pp .Nm .Op Fl N .Ar disk .Ss ブートストラップのインストール .Pp .Nm の最後の 3 つの書式は、ブートストラップコードを インストールするために使われます: .Pp .Nm .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk .Oo Ar disktype Oc .Pp この書式ではブートストラップのみインストールします。 ディスクラベルは変更しません。 .Pp .Nm .Fl w .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar disktype .Oo Ar packid Oc .Pp この書式は前述の .Dq ラベルの書き込み コマンドと一致します。 新しいボリュームラベルを書き込むとともに ブートストラップのインストールもおこないます。 ベースディスクに対して本コマンドを実行すると、 .Dq 危険な方法で専用化された ラベルを作成します。 本コマンドは、通常、ベースディスクではなくスライスに対して実行します。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp .Nm .Fl R .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar protofile .Oo Ar disktype Oc .Pp この書式は前述の .Dq ラベルの復元 コマンドと一致します. ボリュームラベルを復元するとともに ブートストラップのインストールもおこないます。 .Pp ブートストラップコマンドは常にディスクに直接アクセスするため、 .Fl r フラグを指定する必要はありません。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp ブートストラップコードは 2 つのブートプログラムより構成されます。 インストールされるブートプログラムの名前は 以下の 3 つの方法の中の 1 つより指定します。 .Bl -enum .It .Fl b フラグと .Fl s フラグを用いて明示的に名前を指定します。 .Fl b フラグで指定するのが最初のブートプログラムで、 .Fl s フラグで指定するのが 2 段階目のブートプログラムになります。 ブートプログラムは、 .Pa /boot に置かれます。 .It .Fl b フラグと .Fl s フラグが指定されておらず .Ar disktype が指定された場合、 disktab のエントリが存在しこれらのパラメータが含まれるならば プログラムの名前は このディスクに対する .Xr disktab 5 エントリの .Dq b0 および .Dq b1 パラメータより得られます。 .It そうでない場合、デフォルトのブートイメージ名は 標準のステージ 1 およびステージ 2 のブートイメージとして .Pa /boot/boot1 と .Pa /boot/boot2 になります (詳細はアーキテクチャによって異なり、 Alpha においては単一ステージのブートが使用されます)。 .El .Ss スクラッチからの、ブート可能ディスクの初期化/フォーマット .Pp ディスクをスクラッチから初期化するには、次の手順をお勧めします。 この手順は、FreeBSD 以外のスライスを含む、 ディスク上のすべてを削除してしまうことに注意してください。 .Bl -enum .It .Ar fdisk を使用して、DOS パーティションテーブルを作成します。 これにより、 .Fx ディスクラベルを保持するディスク全体のスライスを作成し、 マスタブートレコードをインストールします。 .It .Ar disklabel を使用して、最初の .Fx ディスクラベルを初期化し、 .Fx ブートブロックをインストールします。 .It .Ar disklabel を使用して、新規に作成したラベルを編集し、適切なパーティションを追加します。 .It 最後に、ラベル中に作成したファイルシステムパーティションを newfs します。 典型的なディスクラベルのパーティショニング方式では、 .Dq a パーティションは約 128MB でルートファイルシステムを、 .Dq b パーティションはスワップを、 .Dq d パーティションは /var を (通常 128MB)、 .Dq e パーティションは /var/tmp を (通常 128MB)、 .Dq f パーティションは /usr を (通常 2G くらい)、 .Dq g パーティションは /home を (通常、残り)、 それぞれ割り当てます。 これは、システムによって異なります。 .El .Pp .Nm fdisk Fl BI Ar da0 .Pp .Nm .Fl w .Fl r .Fl B .Ar da0s1 auto .Pp .Pp .Nm .Fl e .Ar da0s1 .Pp .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /etc/disktab .It Pa /boot/ .It Pa /boot/boot .Sh 保存されたファイルの書式 .Nm は ディスクラベルを確認、編集、または復元する際に 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 # で始まる行はコメントです。 他の項目のほとんども既に使われていません。 正しく設定されてなければならない項目は以下のとおりです: .Pp .Bl -hang -width 20n .It Nm label オプションのラベルです。 ラベルを書き込む際に .Ar packid オプションにより設定されます。 .It Nm flags flags は .Ar removable 、 .Ar ecc もしくは .Ar badsect が指定可能です。 .Ar removable はリムーバブルメディアドライブに対して設定されますが、 現在の .Fx のドライバはこのフラグを 評価しません。 .Ar ecc はサポートされていません。 .Ar badsect はドライブが不良セクタの代替を行える場合に 指定します。 .It Nm sectors/unit ディスクの全体の大きさを示します。 この値は正しくなければなりません。 -.It Nm the partition table +.It Nm パーティションテーブル これは .Ux のパーティションテーブルであり、 .Xr fdisk 8 で述べられている Microsoft のパーティションテーブルではありません。 .El .Pp パーティションテーブルは 8 つまでエントリを持つことができ、 以下の情報を含みます: .Bl -hang -width 10n .It identifier パーティションの識別子は .Dq a から .Dq h の 1 文字です。 慣例的な理由により、 .Dq c パーティションは ディスク全体を表すために予約されています。 .It size セクタ単位でのパーティションの大きさです。 .Cm K (キロバイト - 1024), .Cm M (メガバイト - 1024*1024), .Cm G (ギガバイト - 1024*1024*1024), .Cm % ( .Dq c 以外の固定長のパーティションを取り除いた後の空間に対するパーセントか、 .Cm * (固定長のパーティションとパーセント指定のパーティションを取り除いた後 の空間すべて)。 .Dq c に対して .Cm * を指定すると、ディスク全体を意味します 小文字の .Cm K , M , .Cm G も許されます。 大きさと型の間には空白を入れてはなりません。 .Pp 例: 2097152, 1g, 1024m, 1048576k はすべて同じ大きさです (512 バイトセクタを仮定)。 .It offset ドライブの先頭からのオフセットによるパーティションの開始位置を、 セクタ単位で指定します。 .Cm * は、使用すべき正しいオフセット (直前のパーティションの終端にに 1 を加えたもの) を、 .Nm に計算させます。ただしパーティション .Dq c は無視します。 パーティション .Dq c に対しては、 .Cm * はオフセット 0 と解釈されます。 .It fstype パーティションの使用目的を表します。 例ではもっとも一般的な使用例を示しています。 UFS ファイルシステムは .Cm 4.2BSD が使われます。 他の一般的な型は .Cm unused と .Cm swap です。 完全なリストは .Pa /usr/include/sys/disklabel.h を参照してください。 .It fsize .Cm 4.2BSD と LFS のファイルシステムに対してのみ有効です。 フラグメントの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 8192 で、 1 GB 以上に対するデフォルトは 16384 です。 .It bsize .Cm 4.2BSD と LFS のファイルシステムに対してのみ有効です。 ブロックの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 1024 で、 1 GB 以上に対するデフォルトは 4096 です。 .It bps/cpg .Cm 4.2BSD ファイルシステムに対しては、 シリンダグループ中のリシンダ数を意味します。 LFS ファイルシステムに対しては、 セグメントシフト値を意味します。 1 GB 未満のパーティションに対するデフォルトは 16 で、 1 GB 以上に対するデフォルトは 64 です。 .El .Pp 行の残りの部分はコメントで、 ドライブの 一般的には使われていない (しかし多分正確な) ジオメトリ情報に 基づいたシリンダの割り当て情報を示しています。 アスタリスク (*) はパーティションがシリンダ境界で 厳密にはじまっていない、もしくは終っていないことを意味します。 .Sh 使用例 .Dl disklabel da0s1 .Pp .Pa da0s1 のラベルとしてカーネル内のコピーを .Pa /dev/da0s1 から得られたものとして表示します。 ラベルを読み込み時には、ラベルがスライス上に存在する場合でも、 FreeBSD はベースディスク名を指定することを許しています。 しかしながら、厳密には、 ベースディスク名を指定するのは .Dq 危険な方法で専用化された ラベルを使用する場合に限定してください。 通常は、スライスを指定してください。 .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 のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを (セクタ単位で) 表示します。 新規ラベルは、メモリにもディスクにもインストールしません。 .Pp .Dl disklabel -r -w da0s1 auto .Pp .Pa da0s1 から必要な情報を自動検出し、新しいラベルをディスクに書こうとします。 パーティションおよびファイルシステム情報を編集するために、 この後で disklabel -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/boot1 、およびもし必要ならば .Pa /boot/boot2 です。 ディスク上のラベルおよびカーネル内コピーは影響を受けません。 .Pp .Dl disklabel -w -B /dev/da0s1 -b newboot1 -s newboot da2212 .Pp 新たなラベルとブートストラップコードを書き込みます。 ラベルは disktab の .Dq da2212 の情報を使用し、 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 ブートストラップコードは .Pa /boot/newboot1 と .Pa /boot/newboot2 です。 .Pp .Dl dd if=/dev/zero of=/dev/da0 bs=512 count=32 .Dl fdisk -BI da0 .Dl dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 .Dl disklabel -w -r -B da0s1 auto .Dl disklabel -e da0s1 .Pp ディスク上の既存の情報を完全に削除し、 単一の .Dq ディスク全体 スライスを含む DOS パーティションテーブル付きの、 ブート可能ディスクを新規に作成します。 次にスライスを初期化し、編集します。 .Pa dd はオプションですが、 BIOS によっては正しくディスクを認識するために必要です。 .Pp これは、 .Cm % , M , G , .Cm * といった新規パーティションサイズ型を使用する、ディスクラベルの例です。 次のコマンドラインのソースファイルとして使用可能です: .Pp .Dl 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 disklabel 5 , .Xr disktab 5 , .Xr boot0cfg 8 , .Xr fdisk 8 .Sh 診断 デバイスドライバは、 オープンされているパーティションに関して、 サイズが小さくなることおよびオフセットが変化することを許しません。 デバイスドライバの中には、 ラベルを持たないディスクに対して 1 パーティションのみからなる ラベルを作成するものがあります。 そのため、 オープンされているディスクのラベルは .Dq a パーティションに書く必要があります。 このような理由で、 次の 2 ステップにより、 所望のラベルを作成する必要がある場合があります。 第 1 ステップは少なくとももう 1 つのパーティションを作成することであり、 第 2 ステップは .Dq a パーティションを小さくしながら 新たなパーティションのラベルを設定することです。 .Pp ファイルシステムによっては、 用意された領域にブートストラップコードが収まり切らないような マシンがあるかも知れません その結果として、 .Dq ブート可能な ディスクのパーティションに ファイルシステムを作成できない場合があります。 ブートストラップコードを書き込む時に、 .Nm はこのようなケースをチェックします。 FS_UNUSED タイプのパーティションに重なるように ブートストラップコードが書き込まれる場合には、 そのパーティションは FS_BOOT とマークされます。 .Xr newfs 8 ユーティリティは、 FS_BOOT パーティションにファイルシステムを作成することを禁止します。 また逆に、 パーティションのタイプが FS_UNUSED もしくは FS_BOOT では無い場合、 .Nm はそのパーティションに重なるようなブートストラップコードを書き込みません。 .Sh バグ ディスク名がフルパスで指定されない場合には、 デバイス名は .Dq c パーティションになります。 .Pp i386 アーキテクチャでは、プライマリブートストラップセクタに、 組み込みの .Em fdisk テーブルを持ちます。 .Nm は、 ブートストラップのみをインストールする時 .Pq Fl B もしくはラベルを編集する時 .Pq Fl e にこれを壊さないように気を付けます。 しかし、 .Fl w や .Fl R を指定した時には、 無条件でプライマリブートストラッププログラムをディスクに書き込みますので、 .Em fdisk テーブルをブートストラッププログラム内のダミーに置き換えます。 これはディスク全体を専用に使う場合、 すなわち BSD ディスクラベルがディスクの絶対ブロック 0 から始まる場合 のみ関係あります。 .Pp .Nm はすべての実施可能なエラーチェックは行いません。 次の場合、警告が表示されます: パーティションが重なる場合、 絶対的なオフセットが期待したオフセットと異る場合、 .Dq c パーティションが 0 から開始しないかディスク全体を覆わない場合、 if a パーティションがデバイスの終端を越える場合、 その他のエラー。 ただし、未使用空間があっても警告は表示されません。