Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名前
sfdisk - ディスクパーティションテーブルの表示や操作を行う
書式
sfdisk [options] device [-N partition-number] sfdisk [options] command
説明
sfdisk は、ブロックデバイスのパーティション操作を行うスクリプト指向のツールである。 端末上で実行されたと きは (標準入力が端末を指しているときは)、対話モードになる。 sfdisk は、バージョン 2.26 以来、MBR (DOS), GPT, SUN, SGI のディスクラベルをサポートしているが、CHS (シリ ンダ/ヘッド/セクタ) によるアドレシングの機能はもはや提供していない。CHS が Linux にとって重要だったことは 一度もなかったし、 このアドレシング方法は、最近のデバイスでは全く無意味なのである。 [訳注] util-linux の fdisk グループのマニュアルでは、「パーティションテーブル」と「ディスクラベル」の両 方を、 ほぼ同じ意味で、混ぜて使っている。強いて言えば、Linux や DOS (GPT や MBR) については「パー ティションテーブル」を使い、他の OS の場合も含めて、より一般的に言うときは「ディスクラベル」を使 うようにしているらしいが、 必ずしもそうとは言えないところもある。 sfdisk は、(バージョン 2.26 以来) デフォルトの値が使用された場合や、 パーティションの開始点に相対的なサイ ズが指定された場合、 あるいは、サイズに (MiB などの) 乗数を表す接尾辞が使用された場合に、 パーティション の開始点と終了点をブロックデバイスの I/O リミットに合わせて整えるようになっている。 開始オフセットがセク タで厳密に指定された場合でも、 パーティションのサイズが相対的な形で、すなわち乗数接尾辞を付けて指定されて いるならば、 I/O リミットに揃えるために、パーティションサイズの最適化が行われるかもしれない (すなわち、サ イズが増減されるかもしれない)。 [訳注] util-linux 所収の blkid(8) の man によれば、blkid -i device で「I/O Limits (aka I/O topology) の 情報を表示する」ことになっている。そこで、それを実行すると、MINIMUM_IO_SIZE, PHYSICAL_SECTOR_SIZE, LOGICAL_SECTOR_SIZE が表示された。I/O リミットとは、そうしたもののことなの だろう。特に、PHYSICAL_SECTOR_SIZE が重要なようだ。「I/O 境界」「I/O 制約」と訳せるかもしれない。 なお、上のパラグラフでは、「パーティションの開始点に相対的なサイズを指定する」ということが、 わか りにくいかもしれない。 たとえば、開始点を +100M といった形で指定することで、現在の開始点より 100MiB 後方という指示が可能なのである。--move-data オプションの用例の最初のコマンドがその一例であ る。 我々が推奨するのは、開始オフセットを全く指定せず、パーティションサイズを MiB, GiB などの単位で指定する方 法だ。その場合、sfdisk は、すべてのパーティションをブロックデバイスの I/O リミットに合わせて整える (I/O リミットでは細かすぎる場合には、ディスクレイアウトに可搬性があるように、 メガバイトレベルの境界に揃え る)。 デフォルトのこの動作が望ましくない場合は (よくあるのは、非常に小さなパーティションを作りたい場合 だ)、 オフセットとサイズをセクタで指定すればよい。 その場合、sfdisk は、指定された数値に全面的に従い、最 適化を一切行わない。 sfdisk は、fdisk と違って、SGI や SUN のディスクラベルのために標準的なシステムパーティションを作成しな い。 ディスク全体を表すシステムパーティションを含めて、 すべてのパーティションを明示的に作成する必要があ る。 sfdisk は (パーティションテーブルの再読み込みを行う) BLKRRPART ioctl を使用して、対象にするデバイスがシス テムや他のツールによって使用されていないことを確認する (--no-reread オプションを参照)。この機能や sfdisk の他の動作が、udevd と競合することがあるかもしれない。衝突 (collisions) が起きないようにするための推奨方 法は、ディスク全体を表すデバイスに対して flock を排他的に使って、デバイスへのアクセスをシリアライズするこ とである。 排他的ロックがなされていると、udevd はそのデバイスに対するイベントハンドリングをスキップするの である。 flock /dev/sdc sfdisk /dev/sdc 現在のところ、この方法の持つ効果は、MD や DM デバイスに対しては udevd によってサポートされていない (訳注: MD や DM デバイスというのは、ソフトウエア RAID, LVM, 暗号化デバイスなどのことらしい)。
コマンド
以下のコマンドはどれか一つしか使えない (訳注: ただし、-l と -V の組み合わせは例外である)。 [-N partition-number] device sfdisk のデフォルトのコマンドは (訳注: 要するに以下にあるような特定のコマンドが指定されていないと きのデフォルトの動作は)、 device にどんなパーティションを作成するかの具体的な指示を標準入力から読 み込んで、 その指示に従ってパーティションテーブルを作成することである。 入力の書式がどんなものにな るかについては、後述の説明をお読みになっていただきたい。 標準入力が端末の場合は、 sfdisk は対話 セッションを開始する。 オプションの -N が指定されている場合は、partition-number で指示されたパーティションに変更が適用さ れる。 そのパーティションのフィールドでも、具体的な指定のないフィールドは、変更されない。 なお、-N を用いて、未使用のパーティションを指定することもできる。 たとえば、MBR には、いつでも 4 個のパーティションを登録できるが、 現在使用しているパーティションは、それより少ないかもしれない。 その場合、sfdisk は、-N で指定された未使用のパーティションについては、 パーティションテーブルから 取得されるデフォルトの値に従い、 プログラムに埋め込まれたデフォルトは使用しない。 --append も参照 していただきたい。 [訳注] 対話セッションを行わず、いわゆる sfdisk 互換スクリプトの読み込みも行わない場合の、sfdisk の典型的、かつ単純な使用法は、次のように指示を標準入力から読み込ませることである。 # sfdisk /dev/sda <<END > 2048,300GiB,L > ,20GiB,S > , > END 上記の指示は、/dev/sda に 3 個のパーティションを作っている。まず、2048 セクタを開始オフ セットとして 300 GiB の Linux filesystem (L)、/dev/sda1 を作り、続いて開始オフセットの決定 を sfdisk にまかせて、20 GiB の Linux swap (S)、/dev/sda2 を作る。 そして最後に残りのすべ てを /dev/sda3 にしている (タイプは、自動的にデフォルトの Linux filesystem になる)。 指示 の書式についての詳しいことは、「入力の書式」セクションをご覧いただきたい。 -A, --activate device [partition-number...] 指定されたパーティション (複数指定可) のブート可能フラグを ON に切り替え、指定されなかったすべての パーティションのブート可能フラグを OFF にする。すべてのパーティションのブート可能フラグを OFF にし てしまうには、パーティションナンバーの代わりに、特別な引き数の '-' を使えばよい。 このアクティベーションコマンドは、MBR と PMBR (Protective MBR) に対してのみサポートされている。GPT のディスクラベルが検出された場合、sfdisk は警告メッセージを表示し、自動的に PMBR にブートフラグを 記入する。 partition-number が指定されていない場合は、 ブート可能フラグの付いたパーティションをリストする。 --delete device [partition-number...] すべての、または指定されたパーティションを削除する。 -d, --dump device sfdisk の入力に使用できるフォーマットでデバイスのパーティションをダンプする。 「パーティションテー ブルのバックアップ」セクションを参照。 -g, --show-geometry [device...] すべての、または指定されたデバイスのジオメトリをリストする。 後方互換のために、非推奨のオプション --show-pt-geometry も、このコマンドと同じ意味を持っている。 -J, --json device JSON フォーマットでデバイスのパーティションをダンプする。sfdisk は、JSON フォーマットを入力には使 えないことに注意していただきたい。 -l, --list [device...] すべての、または指定されたデバイスのパーティションをリストする。 このコマンドは、--verify と一緒に 使うことができる。 -F, --list-free [device...] すべての、または指定されたデバイスの、パーティションが切られていない未使用領域をリストする。 --part-attrs device partition-number [attributes] GPT パーティションの属性ビット (attribute bits) を変更する。attributes の指定がない場合は、現在の パーティション設定を表示する。引き数 attributes は、コンマまたはスペースで区切ったビットのリスト だ。 現在サポートされている属性ビットは、 RequiredPartition, NoBlockIOProtocol, LegacyBIOSBootable、それに 48 から 63 までの範囲の GUID-specific bits である。たとえ ば、"RequiredPartition,50,51" という文字列は、3 個のビットを設定する。 --part-label device partition-number [label] GPT パーティションの名前 (ラベル) を変更する。label の指定がない場合は、現在のパーティションラベル を表示する。 (訳注: この label は、下記「フィールド名のある書式」で name に対して指定している値と 同じものであり、パーティションの簡単な説明である。) --part-type device partition-number [type] パーティションのタイプを変更する。type の指定がない場合は、現在のパーティションタイプを表示す る。引き数 type は、MBR では 16 進数であり、GPT では GUID である。後方互換のために、オプション -c と --id も、このコマンドと同じ意味を持っている。 --part-uuid device partition-number [uuid] GPT パーティションの UUID を変更する。uuid の指定がない場合は、現在のパーティション UUID を表示す る。 -r, --reorder device パーティションの番号を付け直す。すなわち、パーティションの番号を開始オフセットの順番にする。 -s, --show-size [device...] すべての、または指定されたデバイスのサイズを、1024 バイト単位で一覧表示する。このコマンドは「非推 奨」である。blockdev(8) の使用をお勧めする。 -T, --list-types 現在のディスクラベル、または --label オプションで指定されたディスクラベル (訳注: dos とか gpt と か) でサポートされているパーティションのタイプ (type) のすべてを表示する。 (訳注: 訳者の手元で は、--label gpt と指定しないかぎり、gpt のディスクでも、dos のパーティションタイプ一覧が表示され る。) -V, --verify [device...] パーティションテーブルとパーティションが、正しく見えるかどうかを検査する。
オプション
-a, --append 新しいパーティションテーブルを作成しない。 既存のパーティションテーブルに対する指定されたパーティ ションの追加のみを行う。 -b, --backup パーティショニングを始める前に、 現在のパーティションテーブルが格納されているセクタをバックアップ する。 デフォルトのバックアップファイル名は、~/sfdisk-<device>-<offset>.bak である。別の名前を使い たいなら、オプション -O, --backup-file の説明をご覧になるとよい。 --color[=when] 出力をカラー表示にする。指定が任意の引き数 when には、auto, never, always が使える。引き数 when を 省略すると、デフォルトの auto になる。カラー表示は無効にすることもできる。 プログラムに埋め込まれ た現在のデフォルトが有効か無効かを知りたければ、--help の出力を見ればよい。「カラー表示」セクショ ンも参照していただきたい。 -f, --force 整合性チェックを一切行わないようにする。 --Linux 非推奨なオプションであり、無視される。Linux (などの現代のオペレーティングシステム) で問題なく使え るパーティションの作成は、デフォルトである。 -n, --no-act デバイスに書き込むこと以外のすべてを行う。 --no-reread デバイスが使用中かどうかを、パーティションテーブルの再読み込みを行う ioctl によってチェックしな い。 --no-tell-kernel パーティションの変更についてカーネルに通知しない。 使用中のディスクのパーティションを変更する場 合、このオプションを --no-reread と併せて使用することをお勧めする。もちろん、変更したパーティショ ンは、使用 (たとえば、マウントなどを) するべきではない。 -O, --backup-file path バックアップファイルの名前をデフォルトから変更する。 ファイル名の末尾に、デバイス名とオフセットが 必ず追加されることに注意していただきたい。 --move-data[=path] たとえば、パーティションの先頭をディスクの別の位置に移動するといった場合に、 パーティションの再配 置をした後で、データを移動する。 パーティションのサイズは、操作の前後で同じでなければならない。 新 旧の位置は、オーバーラップしていても構わない。このオプションは、-N オプションを必須とする。特定の 1 パーティションに対してのみ、処理を行うためである。 指定が任意の引き数 path はログファイルの名前である。 このログファイルには、パーティションのデータ に関するすべての read/wite 操作の情報が入っている。path に "@default" という単語を指定する と、sfdisk はログファイルとして ~/sfdisk-<devname>.move を使うことになる。このログは、v2.35 以 来、作成がユーザの任意になった。 この操作は危険であり、アトミックでもないことに注意していただきたい。 だから、データのバックアップ を取ることを忘れてはいけない! --move-use-fsync もご覧いただきたい。 次の例では、最初のコマンドは、第 1 パーティションの前に 100MiB の空き領域を作成し、第 1 パーティ ションのデータ (ファイルシステムなど) を後方に移動している。2 番目のコマンドは、今作った空き領域に (オフセット 2048 から) 新パーティションを作っている。 最後のコマンドは、ディスク上の順番と一致する ように、 パーティションの番号を付け直している (元の sdc1 が sdc2 になる)。 echo '+100M,' | sfdisk --move-data /dev/sdc -N 1 echo '2048,' | sfdisk /dev/sdc --append sfdisk /dev/sdc --reorder --move-use-fsync --move-data でデータを新しい場所に移動する際、書き込みをするたびにシステムコール fsync を使用す る。 -o, --output list 出力にどの項目 (columns) を表示するかを指定する。 使用できる全項目のリストを知るには、--help を使 用すればよい。 デフォルトの項目リストを拡張することもできる。list を +list の形で指定すればよいのだ (たとえば、-o +UUID のように)。 -q, --quiet 追加情報のメッセージを出さないようにする。 -u, --unit S 非推奨オプションである。使用できる単位がセクタのみになる。 このオプションは、--show-size コマンド を使用しているときは、サポートされない。 -X, --label type ディスクラベルの型を指定する (たとえば、dos, gpt, ...)。 このオプションが指定されていない場 合、sfdisk は、デバイスにすでに存在しているディスクラベルをデフォルトとして使用するが、 デバイスに まだディスクラベルが存在しないときは、デフォルトのラベル型を dos にする。こうしたデフォルトや現在 のラベルは、スクリプトのヘッダ行 "label: <name>" で上書きすることができる。この --label オプション は、空のディスクラベルを (訳注: 別の言い方をすると、パーティションテーブルの型だけが指定され て、パーティションは 1 個も存在しないパーティションテーブルを) sfdisk に無理矢理作らせるようなこと はしない (以下の「空のディスクラベル」セクションを参照)。 -Y, --label-nested type ネストしたディスクラベルを強引に編集する。 プライマリーなディスクラベルはすでに存在していなければ ならない。 このオプションを使えば、たとえば、GPT のデバイス上で hybrid/protective MBR を編集するこ とができるようになる。 -w, --wipe when デバイスからファイルシステムや RAID やパーティションテーブルのシグナチャーを消去する (訳注: 前から 存在する古いシグナチャーを消去するということだろう)。衝突 (collision) が起きないようにするためであ る。引き数の when には、auto, never, always が使える。このオプションが指定されない場合のデフォルト は、auto であり、その場合シグナチャーが消去されるのは、原則として対話モードのときだけだが、 古い パーティションテーブル・シグナチャーだけは例外で、引き数の when が never でないかぎり、新しいパー ティションテーブルが作成される前に、必ず消去される。 いずれの場合でも、新しいパーティションテーブ ルが作成される前に、検出されたシグナチャーが、 警告メッセージとして通知される。wipefs(8) コマンド の説明もご覧いただきたい。 -W, --wipe-partitions when 新たに作成するパーティションからファイルシステムや RAID やパーティションテーブルのシグナチャーを消 去する (訳注: 前から存在する古いシグナチャーを消去するということだろう)。衝突 (collision) が起きな いようにするためである。引き数の when には、auto, never, always が使える。このオプションが指定され ない場合のデフォルトは、auto であり、その場合シグナチャーが消去されるのは、対話モードのときだけ で、 それもユーザが承認した後である。 いずれの場合でも、新しいパーティションが作成された後で、検出 されたシグナチャーが、 警告メッセージとして通知される。wipefs(8) コマンドの説明もご覧いただきた い。 -v, --version バージョン情報を表示して終了する。 -h, --help ヘルプテキストを表示して終了する。
入力の書式
sfdisk は、2 種類の入力書式と、両方に共通するヘッダ行をサポートしている。 ヘッダ行 指定が任意のヘッダ行では、パーティションテーブル全体に適用される情報を指定する。 ヘッダ行の書式 は、次のようになる。 <name>: <value> 現在のところ、認識されるヘッダは以下のものである。 unit パーティション分割で使う単位を指定する。サポートされている単位は、 sectors (セクタ 数) だけである。 label パーティションテーブルの型 (partition table type) を指定する。たとえば、dos とか gpt とかである。(訳注: このマニュアルの中で partition table type は、disk label type と も呼ばれている。) label-id パーティションテーブルの識別名を指定する。識別名は、MBR では (前に 0x の付いた) 16 進数であり、GPT では UUID である。(訳注: sfdisk -l の出力では、Disk identifier と表 示される。) first-lba GPT パーティションで使用できる最初のセクタを指定する。 last-lba GPT パーティションで使用できる最後のセクタを指定する。 table-length GPT パーティションの最大数を指定する。 grain パーティションの開始・終了位置を整えるとき、計算に使用する最小のサイズをバイト単位で 指定する。 デフォルトは 1MiB であり、このデフォルトの使用を強くお勧めする。 よくわ かっていないなら、この変数を変更してはいけない。 sector-size セクタのサイズを指定する。このヘッダはもっぱら参考用であり、sfdisk が新しいパーティ ションテーブルを作成するときに、使われるわけではない。そのときは、 実際のデバイスに 固有な値が常に使用され、ダンプによって取得したセクタサイズは無視される (訳注: sector-size が --dump によって取得されるのは、v2.35 以降である)。 気を付けてほしいが、ヘッダ行が使用できるのは、入力中で最初のパーティションを指定する前だけである。 フィールド名なしの書式 start size type bootable こうした各行は、1 つのパーティションについての記述になっている。 フィールドは、空白 (whitespace)、コンマ、またはセミコロンによって区切られる。 コンマなどの後ろに は、空白があってもよく、先頭と末尾の空白は無視される。 数値には 8 進、10 進、16 進数が使え、10 進 数がデフォルトである。 あるフィールドが存在しない場合や、空っぽの場合、'-' という値が指定されてい る場合は、デフォルトの値が使用される。ただし、-N オプション (ある 1 つのパーティションを変更せよ) が指定されているときは、 各フィールドのデフォルトは、前回と同じ値になる。 start のデフォルト値は、位置やサイズをデバイスの I/O リミットに合わせて整えたセクタの、まだ割り当 てられていない最初のものである。 ただし、最初のパーティションのデフォルトの開始オフセットは、1 MiB だ。 指定するオフセットには、乗数を表す接尾辞を続けることができ (KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB)、その場合、数値はバイト単位のオフセットと解釈される。 (訳注: start の値は、本来は論理セ クタを単位とするオフセット位置だが、オフセット位置は KiB, MiB などのサイズで指定することもできると いうこと)。 size のデフォルト値は、「できるだけ大きく」である。 すなわち、次のパーティションまで、またはデバイ スの終わりまでということだ。 数値の指定は、デフォルトではセクタ数と解釈されるが、数値に乗数を表す 接尾辞の 1 つ (KiB, MiB, GiB, TiB, PiB, EiB, ZiB and YiB) が続く場合は、バイト単位のパーティション サイズと解釈され、その上でデバイスの I/O リミットに合わせてサイズが整えられる。数値に代えて、1 個 の '+' を使用することもでき、その場合は、パーティションをできるだけ大きく広げることになる。 '+' は、新規パーティションでは、 デフォルトの動作と同じであることに注意していただきたい。 すでに存在し ているパーティションの場合は、必要に応じてサイズを変更することになる。 パーティションの type は、MBR (DOS) では 0x を前に付けない 16 進数で指定し、GPT では GUID 文字列で 指定する。以下のような短縮表記による指定も可能だ。 L Linux; MBR では 83 を意味し、GPT では 0FC63DAF-8483-4772-8E79-3D69D8477DE4 を意味す る。 S swap 領域; MBR では 82 を意味し、GPT では 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F を意 味する。 E 拡張パーティション; MBR では 5 を意味する。 H ホームパーティション; GPT では 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 を意味する。 X linux 拡張パーティション; MBR では 85 を意味する。 U EFI システムパーティション; MBR では EF を意味し、GPT では C12A7328-F81F-11D2-BA4B-00A0C93EC93B を意味する。 R Linux RAID; MBR では FD を意味し、GPT では A19D880F-05FC-4D3B-A006-743F0F84911E を意 味する。 V LVM; MBR では 8E を意味し、GPT では E6D6D379-F507-44C2-A23C-238F2A3DF928 を意味す る。 type のデフォルトの値は、L である。 bootable は [*|-] という形で指定する。デフォルトは not-bootable である。このフィールドの値 は、Linux には関係がない (Linux が動いているなら、すでに問題なくブートしているわけだ)。 だが、ブー トローダやオペレーティングシステムによっては、何らかの役割を果たしていることもあり得る。 フィールド名のある書式 この書式は、フィールド名なしの書式とくらべて、より読みやすく、堅牢であり、 拡張性もあって、追加の 情報 (たとえば、UUID) を指定することも可能になる。 こちらの書式を使用して、作成するスクリプトをよ り読みやすくしておくことをお勧めする。 [device :] name[=value], ... device フィールドの指定は任意である。sfdisk は、パーティション番号をこのデバイス名から取り出す。 そこで、これを使用すれば、パーティションを任意の順番で指定することが可能になる。この機能は、 主に --dump で使用されている。パーティション番号に確信がない場合は、device フィールドを使用してはいけな い。 value は、引用符で囲むことができる (たとえば、name="This is partition name" のように)。現在のとこ ろ、次のフィールドがサポートされている。 start=number デフォルトは、位置やサイズをデバイスの I/O リミットに合わせて整えたセクタの、まだ割 り当てられていない最初のもの。 ただし、最初のパーティションのデフォルトの開始オフ セットは 1 MiB である。指定するオフセットには、乗数を表す接尾辞を続けることができ (KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB)、その場合、数値はバイト単位のオフセットと解 釈される。 size=number パーティションのサイズをセクタ数で指定する。数値には乗数を表す接尾辞を続けることがで きる (KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB)。 その場合、数値はバイト単位のサイズと 解釈され、サイズがデバイスの I/O リミットに合わせて整えられる。 bootable パーティションにブート可能の印を付ける。 attrs=string パーティションの属性。普通は、GPT パーティションの属性ビットである。 GPT-bits ストリ ングのフォーマットについては、--part-attrs の説明が詳しい。 uuid=string GPT パーティションの UUID。 name=string GPT パーティションの名前 (訳注: "EFI system partition", "Basic data partition" のよ うなパーティションの簡単な説明)。 type=code MBR パーティションでは (0x を前に付けない) 16 進数。GPT パーティションでは GUID。 フィールド名なしの書式と同様、短縮表記も使える (訳注: フィールド名のある書式で短縮表 記が使えるのは、v2.35 以降のようだ)。後方互換のために、Id= フィールドも同じ意味を 持っている。
空のディスクラベル
sfdisk は、デフォルトではパーティションの存在しないパーティションテーブルを作成しない。 デフォルトで は、パーティションを記述する行が、スクリプト中に存在しなければならないのだ。 そこで、空のパーティション テーブルを作りたかったら、それを明示的に要求しなければならない。 すなわち、スクリプトヘッダ行の "label: <name>" を使用し、パーティションを記述する行を一切指定しないようにするのである。例を挙げよう。 echo 'label: gpt' | sfdisk /dev/sdb 上記のコマンドは、空の GPT パーティションテーブルを作成する。なお、 --append オプションは、この動作を無効 にすることに注意していただきたい。
パーティションテーブルのバックアップ
使用しているデバイスのレイアウトを保存しておくのは、よいことである。 sfdisk は、2 種類の方法をサポートし ている。 --dump オプションを使えば、デバイスレイアウトの明細をテキストファイルに保存できる。 このダンプのフォー マットは、後日 sfdisk の入力に使えるものである。 たとえば、次のようにする。 sfdisk --dump /dev/sda > sda.dump 保存した状態は、次のようにして後日復元することができる。 sfdisk /dev/sda < sda.dump パーティションテーブルが格納されているセクタすべての完全な (バイナリの) バックアップがしたかった ら、--backup オプションを使用すればよい。 そうすると、該当するセクタが ~/sfdisk-<device>-<offset>.bak と いったファイルに書き出される。バックアップファイルのこのデフォルト名は、 --backup-file オプションで変更す ることができる。こうしたバックアップファイルには、 device にあった raw data しか含まれていない。ちなみ に、同じ発想のバックアップファイルが、 wipefs(8) でも使われている。一例を挙げよう。 sfdisk --backup /dev/sda 次のようにすれば、GPT ヘッダを後日復元することができる。 dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda \ seek=$((0x00000200)) bs=1 conv=notrunc 注意していただきたいが、sfdisk は、バージョン 2.26 以来、もうセクタを復元するための -I オプションを提供し ていない。必要な機能は、すべて dd コマンドに存在している。
カラー表示
自動的なカラー表示は、/etc/terminal-colors.d/sfdisk.disable という空ファイルを作ることで無効にできる。 カラー表示の設定についてもっと詳しいことを知りたかったら、termianl-colors.d(5) をご覧になるとよい。sfdisk は、以下の論理カラー名をサポートしている。 header 出力するテーブルのヘッダ warn 警告メッセージ welcome ウェルカムメッセージ
注意
バージョン 2.26 以来、sfdisk は、カーネルにパーティションテーブルを再読込させる -R や --re-read オプショ ンを提供していない。代わりに blockdev --rereadpt を使用していただきたい。 バージョン 2.26 以来、sfdisk は、以下のオプションも提供していない。 --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer, --not-inside-outer。
環境変数
SFDISK_DEBUG=all sfdisk デバッグ出力を有効にする。 LIBFDISK_DEBUG=all libfdisk デバッグ出力を有効にする。 LIBBLKID_DEBUG=all libblkid デバッグ出力を有効にする。 LIBSMARTCOLS_DEBUG=all libsmartcols デバッグ出力を有効にする。
関連項目
fdisk(8), cfdisk(8), parted(8), partprobe(8), partx(8)
作者
Karel Zak <kzak@redhat.com> 現在の sfdisk の実装は、Andries E. Brouwer による最初の sfdisk を元にしている。
入手方法
この sfdisk コマンドは、util-linux パッケージの一部であり、以下の URL から入手でき る。https://www.kernel.org/pub/linux/utils/util-linux/ util-linux June 2015 SFDISK(8)