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/