cfdisk - ディスクパーティションテーブルの表示や操作を行う
cfdisk [options] [device]
cfdisk は、 ブロックデバイスのパーティション操作を行う、 curses ベースのプログラムである。 デフォルトのデバイスは /dev/sda である。
ここで cfdisk は、 パーティション操作の基本的な機能をわかりやすいインターフェースで提供するものである。 より高度な機能が必要な場合は、 代わりに fdisk(8) を使用すること。
ディスクラベルの変更は、 メモリ内においてのみ行われるので、 変更内容を書き込むまでは、ディスクは変更されないままである。 write コマンドの利用時には注意すること。
cfdisk は、 バージョン 2.25 以来、 MBR (DOS), GPT, SUN, SGI のディスクラベルをサポートしているが、 CHS (シリンダー/ヘッド/セクター) によるアドレシングの機能はもはや提供していない。 CHS が Linux にとって重要だったことは一度もなかったし、 このアドレシング方法は、 最近のデバイスでは全く無意味なのである。
cfdisk は、 バージョン 2.25 以来、 'print' コマンドももう提供していない。 その機能は、 partx(8) や lsblk(8) といったユーティリティによって、 ごく使いやすく、 機能的にも豊富な形で提供されている。
デバイスから古いパーティションテーブルを消去したい場合は、 wipefs(8) を使用するとよい。
-h, --help
ヘルプテキストを表示して終了する。
-V, --version
バージョンを表示して、 終了する。
-L, --color[=when]
出力をカラー表示にする。 指定が任意の引数 when には auto, never, always が使える。 引数 when を省略すると、 デフォルトの auto になる。 カラー表示は無効にすることもできる。 プログラムに埋め込まれた現在のデフォルトが有効か無効かを知りたければ、 --help の出力を見ればよい。 カラー表示 セクションも参照のこと。
--lock[=mode]
操作するデバイスやファイルに対して、 排他 BSD ロックを用いる。 mode は任意の引数であり、 yes, no (あるいは 1 か 0) または nonblock の指定が可能である。 mode 引数が省略された場合、 そのデフォルトは yes である。 このオプションは、 環境変数 $LOCK_BLOCK_DEVICE を上書きする。 デフォルトは、 ロックを一切利用しない。 ただし systemd-udevd(8) や他のツールを用いる際の衝突は避けることが推奨される。
-r, --read-only
読み込み専用モードで開く。
-z, --zero
メモリ中の 0 で初期化されたパーティションテーブルに対して作業を開始する。 このオプションは、 ディスク上のパーティションテーブルを 0 で初期化するわけではない。 そうではなくて、 既存のパーティションテーブルを読み込まずに、 プログラムを起動するだけである。 このオプションを使用すれば、 白紙の状態から新しいパーティションテーブルを作成できるし、 sfdisk(8) 互換のスクリプトを使って新しいパーティションテーブルを作ることもできる。
cfdisk のコマンドは、 対応するキーを押すことで入力することができる (コマンドのキーに続けて、 Enter を押す必要はない)。 使用できるコマンドのリストを挙げておく。
b
選択しているパーティションのブート可能フラグの有効/無効を切り換える。 このコマンドを使えば、 ディスクドライブ上のどの基本パーティション (primary partition) をブート可能にするかを選択できる。 このコマンドは、 パーティションのラベルのタイプによっては、 使えないかもしれない。
d
選択しているパーティションを削除する。 このコマンドは、 選択しているパーティションを空き領域に変更し、 そのパーティションのすぐ前後に空き領域があれば、 それとひとつに結合する。 パーティションにすでに空き領域、 あるいは使用不可の指標がついている場合は、 削除できない。
h
ヘルプ画面を表示する。
n
空き領域から新しいパーティションを作成する。 cfdisk はその際、 作成したいパーティションのサイズを問い合わせてくる。 デフォルトのサイズは、 現在位置から利用できる空き領域のすべてである。
サイズの後ろには、 KiB (=1024), MiB (=1024*1024) のような乗数を表すサフィックスをつけることができる。 GiB, TiB, PiB, EiB, ZiB, YiB も同様に使える ("iB" を続けるのは任意であり、 たとえば、 "K" は "KiB" と同じ意味である)。
q
プログラムを中止する。 このコマンドは、 ディスクにデータを全く書き込むことなく、 プログラムを終了させる。
r
現在のパーティションを縮小または拡張する。 cfdiskは、 新たなパーティションサイズの入力を求めてくる。 デフォルトサイズは、 現在のサイズである。 フリースペース (free space) または利用不可 (unusable) として印がつけられているパーティションは、 サイズ変更することはできない。
なお、 パーティションサイズを縮小すると、 そのパーティション内のデータを破壊することがあるため注意すること。
s
パーティションをその開始セクターが昇順になるようにソートする。 パーティションの削除と追加を行っていると、 パーティションの番号が、 ディスク上の順番と一致しなくなるということが起きがちである。 このコマンドは、 その一致を修復する。
t
パーティションのタイプを変更する。 デフォルトでは、 新規パーティションは Linux パーティション (Linux filesystem) として作成される。
u
現在メモリ中にあるパーティションテーブルを sfdisk(8) 互換のスクリプトファイルにダンプする。
このスクリプトファイルは、 cfdisk, fdisk, sfdisk などの libfdisk アプリケーション間で互換である。 詳細については、 sfdisk(8) を参照していただきたい。
デバイス上にパーティションテーブルが存在しない場合や、 cfdisk にコマンドラインオプション --zero をつけて起動した場合には、 sfdisk のスクリプトを cfdisk にロードすることも可能である。
W
パーティションテーブルをディスクに書き込む (大文字の W を入力しなければならない)。 このコマンドは、 ディスク上のデータを破壊することになるかもしれないので、 書き込みを承認するか、 否認するかを、 'yes' または 'no' と打ち込んで明らかにしなければならない。 'yes' と打ち込んだ場合は、 cfdisk はパーティションテーブルをディスクに書き込んでから、 カーネルに対してディスクからパーティションテーブルを再読み込みするように指示を出す。
パーティションテーブルの再読み込みは常に成功するとはかぎらない。 うまく行かなかった場合には、 partprobe(8) や partx(8) を使うなり、 システムをリブートするなりして、 新しいパーティション情報をカーネルに教えてやる必要がある。
x
パーティションについて追加情報の表示/不表示を切り換える。
上矢印キー, 下矢印キー
カーソルを前の、 または次のパーティションに移動する。 ひとつの画面に表示し切れないほどのパーティションがあるときは、 画面に表示されている最後の (最初の) パーティションの位置で、 カーソルを下に (上に) 動かせば、 パーティションの次の (前の) 一団を表示することができる。
左矢印キー, 右矢印キー
前の、 または次のメニュー項目を選択する。 Enter を押すと、 現在選択している項目が実行されることになる。
すべてのコマンドの入力は、 (ディスクに書き込む W を除いて) 大文字でも、 小文字でももよい。 サブメニューにいるときや、 プロンプトが出ているときは、 Esc キーを押せば、 メインメニューに戻ることができる。
カラー出力は terminal-colors.d(5) の機能により実現されている。 自動的なカラー表示は、 以下の空ファイルを用意することで無効にできる。
/etc/terminal-colors.d/cfdisk.disable
これは cfdisk コマンドに対してのみであり、 ツール全体に対しては以下のファイルを用いる。
/etc/terminal-colors.d/disable
ユーザー固有の指定 $XDG_CONFIG_HOME/terminal-colors.d または $HOME/.config/terminal-colors.d は、 グローバル設定を上書きする。
Note that the output colorization may be enabled by default, and in this case terminal-colors.d directories do not have to exist yet.
cfdisk は、 カラースキームファイルによるカラー表示のカスタマイズに対応していない。
CFDISK_DEBUG=all
cfdisk のデバッグ出力を有効にする。
LIBFDISK_DEBUG=all
libfdisk デバッグ出力を有効にする。
LIBBLKID_DEBUG=all
libblkid デバッグ出力を有効にする。
LIBSMARTCOLS_DEBUG=all
libsmartcols デバッグ出力を有効にする。
LIBSMARTCOLS_DEBUG_PADDING=on
目に見える埋め文字 (padding characters) を使用する。 LIBSMARTCOLS_DEBUG を有効にしておく必要がある。
LOCK_BLOCK_DEVICE=<mode>
排他 BSD ロックを用いる。 モードには "1" または "0" がある。 詳しくは --lock を参照のこと。
現在の sfdisk の実装は、 最初の sfdisk を元にしている。 作者は以下である。
fdisk(8), parted(8), partprobe(8), partx(8), sfdisk(8)
バグ報告は、 以下に示す issue トラッカーを利用すること。 <https://github.com/util-linux/util-linux/issues>.
cfdisk コマンドは util-linux パッケージの一部であり、 以下からダウンロードできる。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.