OSDN Git Service

util-linux: some modifications to sfdisk.8, et al.
[linuxjm/jm.git] / manual / util-linux / release / man8 / sfdisk.8
1 .\" sfdisk.8 -- man page for sfdisk
2 .\" Copyright (C) 2014 Karel Zak <kzak@redhat.com>
3 .\"
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of this
9 .\" manual under the conditions for verbatim copying, provided that the
10 .\" entire resulting derived work is distributed under the terms of a
11 .\" permission notice identical to this one.
12 .\"
13 .\"*******************************************************************
14 .\"
15 .\" This file was generated with po4a. Translate the source file.
16 .\"
17 .\"*******************************************************************
18 .\"
19 .\" Japanese Version Copyright (c) 2001-2005 Yuichi SATO
20 .\"   and 2020 Yoichi Chonan,
21 .\"         all rights reserved.
22 .\" Translated Sun Mar  4 15:57:26 JST 2001
23 .\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
24 .\" Updated & Modified Fri Jan 25 05:42:49 JST 2002 by Yuichi SATO
25 .\" Updated & Modified Mon Mar 10 04:26:24 JST 2003
26 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
27 .\" Updated & Modified Sun May  2 12:41:19 JST 2004 by Yuichi SATO
28 .\" Updated & Modified Mon May  9 03:21:52 JST 2005 by Yuichi SATO
29 .\" Updated & Modified (util-linux 2.35.2) Sat Jul 18 08:31:34 JST 2020
30 .\"         by Yoichi Chonan <cyoichi@maple.con.ne.jp>
31 .\"
32 .TH SFDISK 8 "June 2015" util\-linux "System Administration"
33 .SH 名前
34 sfdisk \- ディスクパーティションテーブルの表示や操作を行う
35 .SH 書式
36 \fBsfdisk\fP [options] \fIdevice\fP [\fB\-N\fP \fIpartition\-number\fP]
37 .sp
38 \fBsfdisk\fP [options] \fIcommand\fP
39 .SH 説明
40 \fBsfdisk\fP は、ブロックデバイスのパーティション操作を行うスクリプト指向のツールである。
41 端末上で実行されたときは (標準入力が端末を指しているときは)、対話モードになる。
42
43 \fBsfdisk\fP は、バージョン 2.26 以来、MBR (DOS), GPT, SUN, SGI
44 のディスクラベルをサポートしているが、CHS (シリンダ/ヘッド/セクタ)
45 によるアドレシングの機能はもはや提供していない。CHS が Linux
46 にとって重要だったことは一度もなかったし、
47 このアドレシング方法は、最近のデバイスでは全く無意味なのである。
48 .IP "[\fB訳注\fP]" 8
49 util-linux の fdisk
50 グループのマニュアルでは、「パーティションテーブル」と「ディスクラベル」の両方を、
51 ほぼ同じ意味で、混ぜて使っている。強いて言えば、Linux や DOS
52 (GPT や MBR) については「パーティションテーブル」を使い、他の OS
53 の場合も含めて、より一般的に言うときは「ディスクラベル」を使うようにしているらしいが、
54 必ずしもそうとは言えないところもある。
55 .PP
56 \fBsfdisk\fP は、(バージョン 2.26 以来) デフォルトの値が使用された場合や、
57 パーティションの開始点に相対的なサイズが指定された場合、
58 あるいは、サイズに (MiB などの) 乗数を表す接尾辞が使用された場合に、
59 \fBパーティションの開始点と終了点を\fPブロックデバイスの
60 \fBI/O リミットに合わせて整える\fPようになっている。
61 開始オフセットがセクタで厳密に指定された場合でも、
62 パーティションのサイズが相対的な形で、すなわち乗数接尾辞を付けて指定されているならば、
63 I/O リミットに揃えるために、パーティションサイズの最適化が行われるかもしれない
64 (すなわち、サイズが増減されるかもしれない)。
65 .IP "[\fB訳注\fP]" 8
66 util-linux 所収の \fBblkid\fP(8) の man によれば、\fBblkid \-i\fP \fIdevice\fP
67 で「I/O Limits (aka I/O topology)
68 の情報を表示する」ことになっている。そこで、それを実行すると、MINIMUM_IO_SIZE,
69 PHYSICAL_SECTOR_SIZE, LOGICAL_SECTOR_SIZE が表示された。I/O
70 リミットとは、そうしたもののことなのだろう。特に、PHYSICAL_SECTOR_SIZE
71 が重要なようだ。「I/O 境界」「I/O 制約」と訳せるかもしれない。
72 .sp
73 なお、上のパラグラフでは、「パーティションの開始点に相対的なサイズを指定する」ということが、
74 わかりにくいかもしれない。 たとえば、開始点を \fB+100M\fP
75 といった形で指定することで、現在の開始点より
76 100MiB 後方という指示が可能なのである。\fB\-\-move\-data\fP
77 オプションの用例の最初のコマンドがその一例である。
78 .PP
79 我々が推奨するのは、開始オフセットを全く指定せず、パーティションサイズを
80 MiB, GiB などの単位で指定する方法だ。その場合、sfdisk
81 は、すべてのパーティションをブロックデバイスの I/O リミットに合わせて整える
82 (I/O リミットでは細かすぎる場合には、ディスクレイアウトに可搬性があるように、
83 メガバイトレベルの境界に揃える)。
84 デフォルトのこの動作が望ましくない場合は
85 (よくあるのは、非常に小さなパーティションを作りたい場合だ)、
86 オフセットとサイズをセクタで指定すればよい。
87 その場合、sfdisk は、指定された数値に全面的に従い、最適化を一切行わない。
88 .sp
89 \fBsfdisk\fP は、\fBfdisk\fP と違って、SGI や SUN
90 のディスクラベルのために標準的なシステムパーティションを作成しない。
91 ディスク全体を表すシステムパーティションを含めて、
92 すべてのパーティションを明示的に作成する必要がある。
93
94 \fBsfdisk\fP は (パーティションテーブルの再読み込みを行う) BLKRRPART ioctl
95 を使用して、対象にするデバイスがシステムや他のツールによって使用されていないことを確認する
96 (\-\-no\-reread オプションを参照)。この機能や sfdisk の他の動作が、\fBudevd\fP
97 と競合することがあるかもしれない。衝突 (collisions)
98 が起きないようにするための推奨方法は、ディスク全体を表すデバイスに対して
99 flock を排他的に使って、デバイスへのアクセスをシリアライズすることである。
100 排他的ロックがなされていると、udevd
101 はそのデバイスに対するイベントハンドリングをスキップするのである。
102 .RS
103 .sp
104 .nf
105 \fBflock /dev/sdc sfdisk /dev/sdc\fP
106 .fi
107 .sp
108 .RE
109 現在のところ、この方法の持つ効果は、MD や DM デバイスに対しては
110 udevd によってサポートされていない (訳注: MD や DM
111 デバイスというのは、ソフトウエア RAID, LVM, 暗号化デバイスなどのことらしい)。
112
113 .SH コマンド
114 以下のコマンドはどれか一つしか使えない
115 (訳注: ただし、\fB\-l\fP と \fB\-V\fP の組み合わせは例外である)。
116 .TP 
117 [\fB\-N\fP \fIpartition\-number\fP] \fIdevice\fP
118 \fBsfdisk\fP のデフォルトのコマンドは
119 (訳注: 要するに以下にあるような特定のコマンドが指定されていないときのデフォルトの動作は)、
120 \fIdevice\fP にどんなパーティションを作成するかの具体的な指示を標準入力から読み込んで、
121 その指示に従ってパーティションテーブルを作成することである。
122 入力の書式がどんなものになるかについては、後述の説明をお読みになっていただきたい。
123 標準入力が端末の場合は、
124 \fBsfdisk\fP は対話セッションを開始する。
125 .sp
126 オプションの \fB\-N\fP が指定されている場合は、\fIpartition\-number\fP
127 で指示されたパーティションに変更が適用される。
128 そのパーティションのフィールドでも、具体的な指定のないフィールドは、変更されない。
129 .sp
130 なお、\fB\-N\fP を用いて、未使用のパーティションを指定することもできる。
131 たとえば、MBR には、いつでも 4 個のパーティションを登録できるが、
132 現在使用しているパーティションは、それより少ないかもしれない。
133 その場合、\fBsfdisk\fP は、\fB\-N\fP で指定された未使用のパーティションについては、
134 パーティションテーブルから取得されるデフォルトの値に従い、
135 プログラムに埋め込まれたデフォルトは使用しない。
136 \fB\-\-append\fP も参照していただきたい。
137 .RS
138 .IP "[\fB訳注\fP]" 8
139 対話セッションを行わず、いわゆる sfdisk
140 互換スクリプトの読み込みも行わない場合の、sfdisk
141 の典型的、かつ単純な使用法は、次のように指示を標準入力から読み込ませることである。
142 .sp
143 .nf
144     # sfdisk /dev/sda <<END
145     > 2048,300GiB,L
146     > ,20GiB,S
147     > ,
148     > END
149 .fi
150 .sp
151 上記の指示は、/dev/sda に 3 個のパーティションを作っている。まず、2048
152 セクタを開始オフセットとして 300 GiB の Linux filesystem (L)、/dev/sda1
153 を作り、続いて開始オフセットの決定を sfdisk にまかせて、20 GiB の
154 Linux swap (S)、/dev/sda2 を作る。
155 そして最後に残りのすべてを /dev/sda3 にしている 
156 (タイプは、自動的にデフォルトの Linux filesystem になる)。
157 指示の書式についての詳しいことは、「\fB入力の書式\fP」セクションをご覧いただきたい。
158 .RE
159 .TP 
160 \fB\-A\fP,\fB \-\-activate \fP\fIdevice \fP[\fIpartition\-number...]\fP
161 指定されたパーティション (複数指定可) のブート可能フラグを ON
162 に切り替え、指定されなかったすべてのパーティションのブート可能フラグを
163 OFF にする。すべてのパーティションのブート可能フラグを OFF
164 にしてしまうには、パーティションナンバーの代わりに、特別な引き数の '\-' を使えばよい。
165
166 このアクティベーションコマンドは、MBR と PMBR (Protective MBR)
167 に対してのみサポートされている。GPT のディスクラベルが検出された場合、sfdisk
168 は警告メッセージを表示し、自動的に PMBR にブートフラグを記入する。
169
170 \fIpartition\-number\fP が指定されていない場合は、
171 ブート可能フラグの付いたパーティションをリストする。
172 .TP 
173 \fB\-\-delete \fP\fIdevice \fP[\fIpartition\-number\fP...]
174 すべての、または指定されたパーティションを削除する。
175 .TP 
176 \fB\-d\fP,\fB \-\-dump \fP\fIdevice\fP
177 \fBsfdisk\fP の入力に使用できるフォーマットでデバイスのパーティションをダンプする。
178 「\fBパーティションテーブルのバックアップ\fP」セクションを参照。
179 .TP 
180 \fB\-g\fP,\fB \-\-show\-geometry \fP[\fIdevice\fP...]
181 すべての、または指定されたデバイスのジオメトリをリストする。
182 後方互換のために、非推奨のオプション \fB\-\-show\-pt\-geometry\fP
183 も、このコマンドと同じ意味を持っている。
184 .TP 
185 \fB\-J\fP,\fB \-\-json \fP\fIdevice\fP
186 JSON フォーマットでデバイスのパーティションをダンプする。\fBsfdisk\fP
187 は、JSON フォーマットを入力には使えないことに注意していただきたい。
188 .TP 
189 \fB\-l\fP,\fB \-\-list \fP[\fIdevice\fP...]
190 すべての、または指定されたデバイスのパーティションをリストする。
191 このコマンドは、\fB\-\-verify\fP と一緒に使うことができる。
192 .TP 
193 \fB\-F\fP,\fB \-\-list\-free \fP[\fIdevice\fP...]
194 すべての、または指定されたデバイスの、パーティションが切られていない未使用領域をリストする。
195 .TP 
196 \fB\-\-part\-attrs \fP\fIdevice partition\-number \fP[\fIattributes\fP]
197 GPT パーティションの属性ビット (attribute bits) を変更する。\fIattributes\fP
198 の指定がない場合は、現在のパーティション設定を表示する。引き数 \fIattributes\fP
199 は、コンマまたはスペースで区切ったビットのリストだ。
200 現在サポートされている属性ビットは、 RequiredPartition, NoBlockIOProtocol,
201 LegacyBIOSBootable、それに 48 から 63 までの範囲の GUID\-specific bits
202 である。たとえば、"RequiredPartition,50,51"
203 という文字列は、3 個のビットを設定する。
204 .TP 
205 \fB\-\-part\-label \fP\fIdevice partition\-number \fP[\fIlabel\fP]
206 GPT パーティションの名前 (ラベル) を変更する。\fIlabel\fP
207 の指定がない場合は、現在のパーティションラベルを表示する。
208 (訳注: この \fIlabel\fP は、下記「\fBフィールド名のある書式\fP」で \fBname\fP
209 に対して指定している値と同じものであり、パーティションの簡単な説明である。)
210 .TP 
211 \fB\-\-part\-type \fP\fIdevice partition\-number \fP[\fItype\fP]
212 パーティションのタイプを変更する。\fItype\fP
213 の指定がない場合は、現在のパーティションタイプを表示する。引き数 \fItype\fP
214 は、MBR では 16 進数であり、GPT では GUID
215 である。後方互換のために、オプション \fB\-c\fP と \fB\-\-id\fP
216 も、このコマンドと同じ意味を持っている。
217 .TP 
218 \fB\-\-part\-uuid \fP\fIdevice partition\-number \fP[\fIuuid\fP]
219 GPT パーティションの UUID を変更する。\fIuuid\fP
220 の指定がない場合は、現在のパーティション UUID を表示する。
221 .TP 
222 \fB\-r\fP,\fB \-\-reorder \fP\fIdevice\fP
223 パーティションの番号を付け直す。すなわち、パーティションの番号を開始オフセットの順番にする。
224 .TP 
225 \fB\-s\fP,\fB \-\-show\-size \fP[\fIdevice\fP...]
226 すべての、または指定されたデバイスのサイズを、1024
227 バイト単位で一覧表示する。このコマンドは「非推奨」である。\fBblockdev\fP(8)
228 の使用をお勧めする。
229 .TP 
230 \fB\-T\fP,\fB \-\-list\-types\fP
231 現在のディスクラベル、または \fB\-\-label\fP
232 オプションで指定されたディスクラベル (訳注: dos とか gpt とか)
233 でサポートされているパーティションのタイプ (type) のすべてを表示する。
234 (訳注: 訳者の手元では、\fB\-\-label gpt\fP と指定しないかぎり、gpt
235 のディスクでも、dos のパーティションタイプ一覧が表示される。)
236 .TP 
237 \fB\-V\fP,\fB \-\-verify \fP[\fIdevice\fP...]
238 パーティションテーブルとパーティションが、正しく見えるかどうかを検査する。
239
240 .SH オプション
241 .TP 
242 \fB\-a\fP,\fB \-\-append\fP
243 新しいパーティションテーブルを作成しない。
244 既存のパーティションテーブルに対する指定されたパーティションの追加のみを行う。
245 .TP 
246 \fB\-b\fP,\fB \-\-backup\fP
247 パーティショニングを始める前に、
248 現在のパーティションテーブルが格納されているセクタをバックアップする。
249 デフォルトのバックアップファイル名は、~/sfdisk\-<device>\-<offset>.bak
250 である。別の名前を使いたいなら、オプション \fB\-O\fP, \fB\-\-backup\-file\fP
251 の説明をご覧になるとよい。
252 .TP 
253 \fB\-\-color\fP[\fB=\fP\fIwhen\fP]
254 出力をカラー表示にする。指定が任意の引き数 \fIwhen\fP には、\fBauto\fP, \fBnever\fP,
255 \fBalways\fP が使える。引き数 \fIwhen\fP を省略すると、デフォルトの
256 \fBauto\fP になる。カラー表示は無効にすることもできる。
257 プログラムに埋め込まれた現在のデフォルトが有効か無効かを知りたければ、\fB\-\-help\fP
258 の出力を見ればよい。「\fBカラー表示\fP」セクションも参照していただきたい。
259 .TP 
260 \fB\-f\fP,\fB \-\-force\fP
261 整合性チェックを一切行わないようにする。
262 .TP 
263 \fB\-\-Linux\fP
264 非推奨なオプションであり、無視される。Linux (などの現代のオペレーティングシステム)
265 で問題なく使えるパーティションの作成は、デフォルトである。
266 .TP 
267 \fB\-n\fP,\fB \-\-no\-act\fP
268 デバイスに書き込むこと以外のすべてを行う。
269 .TP 
270 \fB\-\-no\-reread\fP
271 デバイスが使用中かどうかを、パーティションテーブルの再読み込みを行う ioctl
272 によってチェックしない。
273 .TP 
274 \fB\-\-no\-tell\-kernel\fP
275 パーティションの変更についてカーネルに通知しない。
276 使用中のディスクのパーティションを変更する場合、このオプションを \fB\-\-no\-reread\fP
277 と併せて使用することをお勧めする。もちろん、変更したパーティションは、使用
278 (たとえば、マウントなどを) するべきではない。
279 .TP 
280 \fB\-O\fP,\fB \-\-backup\-file \fP\fIpath\fP
281 バックアップファイルの名前をデフォルトから変更する。
282 ファイル名の末尾に、デバイス名とオフセットが必ず追加されることに注意していただきたい。
283 .TP 
284 \fB\-\-move\-data\fP[\fB=\fP\fIpath\fP]
285 たとえば、パーティションの先頭をディスクの別の位置に移動するといった場合に、
286 パーティションの再配置をした後で、データを移動する。
287 パーティションのサイズは、操作の前後で同じでなければならない。
288 新旧の位置は、オーバーラップしていても構わない。このオプションは、\fB\-N\fP
289 オプションを必須とする。特定の 1 パーティションに対してのみ、処理を行うためである。
290
291 指定が任意の引き数 \fIpath\fP はログファイルの名前である。
292 このログファイルには、パーティションのデータに関するすべての
293 read/wite 操作の情報が入っている。\fIpath\fP に "@default"
294 という単語を指定すると、\fBsfdisk\fP はログファイルとして
295 ~/sfdisk\-<devname>.move を使うことになる。このログは、v2.35
296 以来、作成がユーザの任意になった。
297
298 この操作は危険であり、アトミックでもないことに注意していただきたい。
299 だから、\fBデータのバックアップを取ることを忘れてはいけない!\fP
300
301  \fB\-\-move\-use\-fsync\fP もご覧いただきたい。
302
303 次の例では、最初のコマンドは、第 1 パーティションの前に 100MiB
304 の空き領域を作成し、第 1 パーティションのデータ (ファイルシステムなど)
305 を後方に移動している。2 番目のコマンドは、今作った空き領域に
306 (オフセット 2048 から) 新パーティションを作っている。
307 最後のコマンドは、ディスク上の順番と一致するように、
308 パーティションの番号を付け直している (元の sdc1 が sdc2 になる)。
309 .RS
310 .sp
311 \fBecho '+100M,' | sfdisk \-\-move\-data /dev/sdc \-N 1\fP
312 .br
313 \fBecho '2048,' | sfdisk /dev/sdc \-\-append\fP
314 .br
315 \fBsfdisk /dev/sdc \-\-reorder\fP
316 .sp
317 .RE
318
319 .TP 
320 \fB\-\-move\-use\-fsync\fP
321 \fB\-\-move\-data\fP でデータを新しい場所に移動する際、書き込みをするたびにシステムコール
322 \fBfsync\fP を使用する。
323 .TP 
324 \fB\-o\fP,\fB \-\-output \fP\fIlist\fP
325 出力にどの項目 (columns) を表示するかを指定する。
326 使用できる全項目のリストを知るには、\fB\-\-help\fP を使用すればよい。
327 .sp
328 デフォルトの項目リストを拡張することもできる。\fIlist\fP を
329 \fI+list\fP の形で指定すればよいのだ (たとえば、\fB\-o +UUID\fP のように)。
330 .TP 
331 \fB\-q\fP,\fB \-\-quiet\fP
332 追加情報のメッセージを出さないようにする。
333 .TP 
334 \fB\-u\fP,\fB \-\-unit S\fP
335 非推奨オプションである。使用できる単位がセクタのみになる。
336 このオプションは、\fB\-\-show\-size\fP コマンドを使用しているときは、サポートされない。
337 .TP 
338 \fB\-X\fP,\fB \-\-label \fP\fItype\fP
339 ディスクラベルの型を指定する (たとえば、\fBdos\fP, \fBgpt\fP, ...)。
340 このオプションが指定されていない場合、\fBsfdisk\fP
341 は、デバイスにすでに存在しているディスクラベルをデフォルトとして使用するが、
342 デバイスにまだディスクラベルが存在しないときは、デフォルトのラベル型を
343 \fBdos\fP にする。こうしたデフォルトや現在のラベルは、スクリプトのヘッダ行
344 "label: <name>" で上書きすることができる。この \fB\-\-label\fP
345 オプションは、空のディスクラベルを
346 (訳注: 別の言い方をすると、パーティションテーブルの型だけが指定されて、パーティションは
347 1 個も存在しないパーティションテーブルを) \fBsfdisk\fP
348 に無理矢理作らせるようなことはしない (以下の「\fB空のディスクラベル\fP」セクションを参照)。
349 .TP 
350 \fB\-Y\fP,\fB \-\-label\-nested \fP\fItype\fP
351 ネストしたディスクラベルを強引に編集する。
352 プライマリーなディスクラベルはすでに存在していなければならない。
353 このオプションを使えば、たとえば、GPT のデバイス上で
354 hybrid/protective MBR を編集することができるようになる。
355
356 .TP 
357 \fB\-w\fP,\fB \-\-wipe \fP\fIwhen\fP
358 デバイスからファイルシステムや RAID
359 やパーティションテーブルのシグナチャーを消去する
360 (訳注: 前から存在する古いシグナチャーを消去するということだろう)。衝突 (collision)
361 が起きないようにするためである。引き数の \fIwhen\fP には、\fBauto\fP, \fBnever\fP,
362 \fBalways\fP が使える。このオプションが指定されない場合のデフォルトは、\fBauto\fP
363 であり、その場合シグナチャーが消去されるのは、原則として対話モードのときだけだが、
364 古いパーティションテーブル・シグナチャーだけは例外で、引き数の \fIwhen\fP が
365 \fBnever\fP でないかぎり、新しいパーティションテーブルが作成される前に、必ず消去される。
366 いずれの場合でも、新しいパーティションテーブルが作成される前に、検出されたシグナチャーが、
367 警告メッセージとして通知される。\fBwipefs\fP(8) コマンドの説明もご覧いただきたい。
368
369 .TP 
370 \fB\-W\fP,\fB \-\-wipe\-partitions \fP\fIwhen\fP
371 新たに作成するパーティションからファイルシステムや RAID
372 やパーティションテーブルのシグナチャーを消去する
373 (訳注: 前から存在する古いシグナチャーを消去するということだろう)。衝突 (collision)
374 が起きないようにするためである。引き数の \fIwhen\fP には、\fBauto\fP, \fBnever\fP,
375 \fBalways\fP が使える。このオプションが指定されない場合のデフォルトは、\fBauto\fP
376 であり、その場合シグナチャーが消去されるのは、対話モードのときだけで、
377 それもユーザが承認した後である。
378 いずれの場合でも、新しいパーティションが作成された後で、検出されたシグナチャーが、
379 警告メッセージとして通知される。\fBwipefs\fP(8) コマンドの説明もご覧いただきたい。
380
381 .TP 
382 \fB\-v\fP,\fB \-\-version\fP
383 バージョン情報を表示して終了する。
384 .TP 
385 \fB\-h\fP,\fB \-\-help\fP
386 ヘルプテキストを表示して終了する。
387
388 .SH 入力の書式
389 \fBsfdisk\fP は、2 種類の入力書式と、両方に共通するヘッダ行をサポートしている。
390
391 \fBヘッダ行\fP
392 .RS
393 指定が任意のヘッダ行では、パーティションテーブル全体に適用される情報を指定する。
394 ヘッダ行の書式は、次のようになる。
395 .RS
396 .sp
397 \fB<name>: <value>\fP
398 .sp
399 .RE
400 現在のところ、認識されるヘッダは以下のものである。
401 .RS
402 .TP 
403 \fBunit\fP
404 パーティション分割で使う単位を指定する。サポートされている単位は、
405 \fBsectors\fP (セクタ数) だけである。
406 .TP 
407 \fBlabel\fP
408 パーティションテーブルの型 (partition table type)
409 を指定する。たとえば、\fBdos\fP とか \fBgpt\fP とかである。(訳注: このマニュアルの中で
410 partition table type は、disk label type とも呼ばれている。)
411 .TP 
412 \fBlabel\-id\fP
413 パーティションテーブルの識別名を指定する。識別名は、MBR では (前に 0x の付いた)
414 16 進数であり、GPT では UUID である。(訳注: \fBsfdisk \-l\fP
415 の出力では、Disk identifier と表示される。)
416 .TP 
417 \fBfirst\-lba\fP
418 GPT パーティションで使用できる最初のセクタを指定する。
419 .TP 
420 \fBlast\-lba\fP
421 GPT パーティションで使用できる最後のセクタを指定する。
422 .TP 
423 \fBtable\-length\fP
424 GPT パーティションの最大数を指定する。
425 .TP 
426 \fBgrain\fP
427 パーティションの開始・終了位置を整えるとき、計算に使用する最小のサイズをバイト単位で指定する。
428 デフォルトは 1MiB であり、このデフォルトの使用を強くお勧めする。
429 よくわかっていないなら、この変数を変更してはいけない。
430 .TP 
431 \fBsector\-size\fP
432 セクタのサイズを指定する。このヘッダはもっぱら参考用であり、\fBsfdisk\fP
433 が新しいパーティションテーブルを作成するときに、使われるわけではない。そのときは、
434 実際のデバイスに固有な値が常に使用され、ダンプによって取得したセクタサイズは無視される
435 (訳注: \fBsector\-size\fP が \fB\-\-dump\fP によって取得されるのは、v2.35
436 以降である)。
437 .RE
438 .sp
439 気を付けてほしいが、ヘッダ行が使用できるのは、入力中で最初のパーティションを指定する前だけである。
440 .RE
441
442 \fBフィールド名なしの書式\fP
443 .RS
444 .RS
445 .sp
446 \fIstart size type bootable\fP
447 .sp
448 .RE
449 こうした各行は、1 つのパーティションについての記述になっている。
450 .sp
451 フィールドは、空白 (whitespace)、コンマ、またはセミコロンによって区切られる。
452 コンマなどの後ろには、空白があってもよく、先頭と末尾の空白は無視される。
453 数値には 8 進、10 進、16 進数が使え、10 進数がデフォルトである。
454 あるフィールドが存在しない場合や、空っぽの場合、'\-'
455 という値が指定されている場合は、デフォルトの値が使用される。ただし、\fB\-N\fP
456 オプション (ある 1 つのパーティションを変更せよ) が指定されているときは、
457 各フィールドのデフォルトは、前回と同じ値になる。
458 .sp
459 \fIstart\fP のデフォルト値は、位置やサイズをデバイスの I/O
460 リミットに合わせて整えたセクタの、まだ割り当てられていない最初のものである。
461 ただし、最初のパーティションのデフォルトの開始オフセットは、1 MiB だ。
462 指定するオフセットには、乗数を表す接尾辞を続けることができ (KiB, MiB, GiB, TiB,
463 PiB, EiB, ZiB, YiB)、その場合、数値はバイト単位のオフセットと解釈される。
464 (訳注: \fIstart\fP の値は、本来は論理セクタを単位とするオフセット位置だが、オフセット位置は
465 KiB, MiB などのサイズで指定することもできるということ)。
466 .sp
467 \fIsize\fP のデフォルト値は、「できるだけ大きく」である。
468 すなわち、次のパーティションまで、またはデバイスの終わりまでということだ。
469 数値の指定は、デフォルトではセクタ数と解釈されるが、数値に乗数を表す接尾辞の 1 つ
470 (KiB, MiB, GiB, TiB, PiB, EiB, ZiB and YiB)
471 が続く場合は、バイト単位のパーティションサイズと解釈され、その上でデバイスの
472 I/O リミットに合わせてサイズが整えられる。数値に代えて、1 個の '+'
473 を使用することもでき、その場合は、パーティションをできるだけ大きく広げることになる。
474 \&'+' は、新規パーティションでは、
475 デフォルトの動作と同じであることに注意していただきたい。
476 すでに存在しているパーティションの場合は、必要に応じてサイズを変更することになる。
477 .sp
478 パーティションの \fItype\fP は、MBR (DOS) では 0x を前に付けない
479 16 進数で指定し、GPT では GUID 文字列で指定する。以下のような短縮表記による指定も可能だ。
480 .RS
481 .TP 
482 \fBL\fP
483 Linux; MBR では 83 を意味し、GPT では
484 0FC63DAF\-8483\-4772\-8E79\-3D69D8477DE4 を意味する。
485 .TP 
486 \fBS\fP
487 swap 領域; MBR では 82 を意味し、GPT では
488 0657FD6D\-A4AB\-43C4\-84E5\-0933C84B4F4F を意味する。
489 .TP 
490 \fBE\fP
491 拡張パーティション; MBR では 5 を意味する。
492 .TP 
493 \fBH\fP
494 ホームパーティション; GPT では
495 933AC7E1\-2EB4\-4F13\-B844\-0E14E2AEF915 を意味する。
496 .TP 
497 \fBX\fP
498 linux 拡張パーティション; MBR では 85 を意味する。
499 .TP 
500 \fBU\fP
501 EFI システムパーティション; MBR では EF を意味し、GPT では
502 C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B を意味する。
503 .TP 
504 \fBR\fP
505 Linux RAID; MBR では FD を意味し、GPT では
506 A19D880F\-05FC\-4D3B\-A006\-743F0F84911E を意味する。
507 .TP 
508 \fBV\fP
509 LVM; MBR では 8E を意味し、GPT では
510 E6D6D379\-F507\-44C2\-A23C\-238F2A3DF928 を意味する。
511 .RE
512 .PP
513 \fItype\fP のデフォルトの値は、\fIL\fP である。
514
515 \fIbootable\fP は [\fB*\fP|\fB\-\fP] という形で指定する。デフォルトは
516 not\-bootable である。このフィールドの値は、Linux には関係がない (Linux
517 が動いているなら、すでに問題なくブートしているわけだ)。
518 だが、ブートローダやオペレーティングシステムによっては、何らかの役割を果たしていることもあり得る。
519 .RE
520
521 \fBフィールド名のある書式\fP
522 .RS
523 この書式は、フィールド名なしの書式とくらべて、より読みやすく、堅牢であり、
524 拡張性もあって、追加の情報 (たとえば、UUID) を指定することも可能になる。
525 こちらの書式を使用して、作成するスクリプトをより読みやすくしておくことをお勧めする。
526 .RS
527 .sp
528 [\fIdevice \fP\fB:\fP]\fI name\fP[\fB=\fP\fIvalue\fP], ...
529 .sp
530 .RE
531 \fIdevice\fP フィールドの指定は任意である。\fBsfdisk\fP
532 は、パーティション番号をこのデバイス名から取り出す。
533 そこで、これを使用すれば、パーティションを任意の順番で指定することが可能になる。この機能は、
534 主に \fB\-\-dump\fP で使用されている。パーティション番号に確信がない場合は、\fIdevice\fP
535 フィールドを使用してはいけない。
536
537 \fIvalue\fP は、引用符で囲むことができる (たとえば、name="This is partition name"
538 のように)。現在のところ、次のフィールドがサポートされている。
539 .RS
540 .TP 
541 \fBstart=\fP\fInumber\fP
542 デフォルトは、位置やサイズをデバイスの I/O
543 リミットに合わせて整えたセクタの、まだ割り当てられていない最初のもの。
544 ただし、最初のパーティションのデフォルトの開始オフセットは
545 1 MiB である。指定するオフセットには、乗数を表す接尾辞を続けることができ
546 (KiB, MiB, GiB, TiB, PiB, EiB, ZiB,
547 YiB)、その場合、数値はバイト単位のオフセットと解釈される。
548 .TP 
549 \fBsize=\fP\fInumber\fP
550 パーティションのサイズをセクタ数で指定する。数値には乗数を表す接尾辞を続けることができる
551 (KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB)。
552 その場合、数値はバイト単位のサイズと解釈され、サイズがデバイスの
553 I/O リミットに合わせて整えられる。
554 .TP 
555 \fBbootable\fP
556 パーティションにブート可能の印を付ける。
557 .TP 
558 \fBattrs=\fP\fIstring\fP
559 パーティションの属性。普通は、GPT パーティションの属性ビットである。
560 GPT\-bits ストリングのフォーマットについては、\fB\-\-part\-attrs\fP の説明が詳しい。
561 .TP 
562 \fBuuid=\fP\fIstring\fP
563 GPT パーティションの UUID。
564 .TP 
565 \fBname=\fP\fIstring\fP
566 GPT パーティションの名前 (訳注: "EFI system partition",
567 "Basic data partition" のようなパーティションの簡単な説明)。
568 .TP 
569 \fBtype=\fP\fIcode\fP
570 MBR パーティションでは (0x を前に付けない) 16 進数。GPT パーティションでは GUID。
571 \fBフィールド名なしの書式\fPと同様、短縮表記も使える
572 (訳注: \fBフィールド名のある書式\fPで短縮表記が使えるのは、v2.35
573 以降のようだ)。後方互換のために、\fBId=\fP フィールドも同じ意味を持っている。
574 .RE
575 .RE
576
577 .SH 空のディスクラベル
578 \fBsfdisk\fP は、デフォルトではパーティションの存在しないパーティションテーブルを作成しない。
579 デフォルトでは、パーティションを記述する行が、スクリプト中に存在しなければならないのだ。
580 そこで、空のパーティションテーブルを作りたかったら、それを明示的に要求しなければならない。
581 すなわち、スクリプトヘッダ行の "label: <name>"
582 を使用し、パーティションを記述する行を一切指定しないようにするのである。例を挙げよう。
583 .RS
584 .sp
585 \fBecho 'label: gpt' | sfdisk /dev/sdb\fP
586 .sp
587 .RE
588 上記のコマンドは、空の GPT パーティションテーブルを作成する。なお、
589 \fB\-\-append\fP オプションは、この動作を無効にすることに注意していただきたい。
590
591 .SH パーティションテーブルのバックアップ
592 使用しているデバイスのレイアウトを保存しておくのは、よいことである。
593 \fBsfdisk\fP は、2 種類の方法をサポートしている。
594 .sp
595 \fB\-\-dump\fP オプションを使えば、デバイスレイアウトの明細をテキストファイルに保存できる。
596 このダンプのフォーマットは、後日 \fBsfdisk\fP の入力に使えるものである。
597 たとえば、次のようにする。
598 .RS
599 .sp
600 \fBsfdisk \-\-dump /dev/sda > sda.dump\fP
601 .sp
602 .RE
603 保存した状態は、次のようにして後日復元することができる。
604 .RS
605 .sp
606 \fBsfdisk /dev/sda < sda.dump\fP
607 .RE
608
609 パーティションテーブルが格納されているセクタすべての完全な (バイナリの)
610 バックアップがしたかったら、\fB\-\-backup\fP オプションを使用すればよい。
611 そうすると、該当するセクタが ~/sfdisk\-<device>\-<offset>.bak
612 といったファイルに書き出される。バックアップファイルのこのデフォルト名は、
613 \fB\-\-backup\-file\fP オプションで変更することができる。こうしたバックアップファイルには、
614 \fIdevice\fP にあった raw data
615 しか含まれていない。ちなみに、同じ発想のバックアップファイルが、
616 \fBwipefs\fP(8) でも使われている。一例を挙げよう。
617 .RS
618 .sp
619 \fBsfdisk \-\-backup /dev/sda\fP
620 .sp
621 .RE
622 次のようにすれば、GPT ヘッダを後日復元することができる。
623 .RS
624 .sp
625 .nf
626 \fBdd  if=~/sfdisk\-sda\-0x00000200.bak  of=/dev/sda  \e\fP
627 \fBseek=$((0x00000200))  bs=1  conv=notrunc\fP
628 .fi
629 .sp
630 .RE
631 注意していただきたいが、\fBsfdisk\fP は、バージョン 2.26
632 以来、もうセクタを復元するための \fB\-I\fP
633 オプションを提供していない。必要な機能は、すべて
634 \fBdd\fP コマンドに存在している。
635
636 .SH カラー表示
637 自動的なカラー表示は、\fI/etc/terminal\-colors.d/sfdisk.disable\fP
638 という空ファイルを作ることで無効にできる。
639
640 カラー表示の設定についてもっと詳しいことを知りたかったら、\fBtermianl\-colors.d\fP(5)
641 をご覧になるとよい。\fBsfdisk\fP は、以下の論理カラー名をサポートしている。
642 .TP 
643 \fBheader\fP
644 出力するテーブルのヘッダ
645 .TP 
646 \fBwarn\fP
647 警告メッセージ
648 .TP 
649 \fBwelcome\fP
650 ウェルカムメッセージ
651
652 .SH 注意
653 バージョン 2.26 以来、\fBsfdisk\fP は、カーネルにパーティションテーブルを再読込させる
654 \fB\-R\fP や \fB\-\-re\-read\fP オプションを提供していない。代わりに
655 \fBblockdev \-\-rereadpt\fP を使用していただきたい。
656 .PP
657 バージョン 2.26 以来、\fBsfdisk\fP は、以下のオプションも提供していない。
658 \fB\-\-DOS\fP, \fB\-\-IBM\fP, \fB\-\-DOS\-extended\fP, \fB\-\-unhide\fP,
659 \fB\-\-show\-extended\fP, \fB\-\-cylinders\fP, \fB\-\-heads\fP, \fB\-\-sectors\fP,
660 \fB\-\-inside\-outer\fP, \fB\-\-not\-inside\-outer\fP。
661
662 .SH 環境変数
663 .IP SFDISK_DEBUG=all
664 sfdisk デバッグ出力を有効にする。
665 .IP LIBFDISK_DEBUG=all
666 libfdisk デバッグ出力を有効にする。
667 .IP LIBBLKID_DEBUG=all
668 libblkid デバッグ出力を有効にする。
669 .IP LIBSMARTCOLS_DEBUG=all
670 libsmartcols デバッグ出力を有効にする。
671
672 .SH 関連項目
673 \fBfdisk\fP(8), \fBcfdisk\fP(8), \fBparted\fP(8), \fBpartprobe\fP(8), \fBpartx\fP(8)
674
675 .SH 作者
676 Karel Zak <kzak@redhat.com>
677 .PP
678 現在の sfdisk の実装は、Andries E. Brouwer による最初の
679 sfdisk を元にしている。
680
681 .SH 入手方法
682 この sfdisk コマンドは、util\-linux パッケージの一部であり、以下の URL
683 から入手できる。https://www.kernel.org/pub/linux/utils/util\-linux/