【 fdisk 】コマンド――パーティションを作成、削除する:Linux基本コマンドTips(187)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、パーティションの作成や削除などに使う「fdisk」コマンドです。cfdiskコマンドについても触れます。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、パーティションの作成や削除などに使う「fdisk」コマンドです。cfdiskコマンドについても触れます。
fdiskコマンドとは?
「fdisk」は、パーティションの作成や削除などに使うコマンドです。
LinuxではHDDなどの記憶装置を論理的に分割して利用します。分割された領域をパーティションと呼び、パーティションの位置や長さなどの管理情報(パーティションテーブル)を、パーティションとは別の領域に記録しています。
パーティションを管理する方式は大きく2つあります。MBR(Master Boot Record)とGPT(GUID Partition Table)です。いずれも内部にパーティションテーブルを含みます。fdiskはMBRのみに対応しています。
MBRは古くから使われており、旧式のハードウェアやOSにも対応していますが、管理可能なパーティションのサイズが最大2TBまでという制約があります。これに対し、新しい方式であるGPTにはほぼ制約がありません ※1。
※1 MBRで管理できるパーティションのサイズは約2TBまで(2^32×512バイト)。これに対しGPTではセクタを64ビットで管理するため、計算上は最大8ZB(ゼタはテラ、ペタ、エクサの次の単位)まで扱うことが可能。GPTに対応しているコマンドには、fdiskと同等の機能を備えるgdiskコマンド(連載第188回)やpartedコマンドなどがある。
fdiskコマンドの書式
fdisk [オプション] デバイス名
※[ ]は省略可能な引数を示しています。-lオプション使用時はデバイス名の指定を省略できます。
fdiskの主なオプション
短いオプション | 意味 |
---|---|
-l | 指定したデバイスのパーティションテーブルを一覧表示する(デバイス名を指定しなかった場合、/proc/partitionsの情報を使用する) |
-u=単位 | パーティションテーブルを一覧表示する際の始点と終点の位置を「cylinders(シリンダ数)」か「sectors(セクタ数)」で指定する(デフォルト設定はsectors) |
-s | 指定したパーティションのサイズをブロック単位で表示する |
fdiskの主なオプション(操作関係)※2
短いオプション | 意味 |
---|---|
-b セクタサイズ | ディスクのセクタサイズを指定する(512、1024、2048のいずれか) |
-C シリンダ数 | ディスクのシリンダ数を指定する |
-H ヘッド数 | ディスクのヘッド数(パーティションテーブル用)を指定する。物理的な磁気ヘッドの数とは必ずしも関係がない |
-S セクタ数 | ディスクの1トラック当たりのセクタ数を指定する |
※2 通常は自動で設定されるため、これらのオプションを使用する必要はない。
パーティション情報を表示する
「fdisk -l デバイス名」で、指定したデバイスのパーティション情報を表示します。デバイス名を省略した場合、「/proc/partitions」に書かれているパーティション情報(カーネルが認識しているパーティションのリスト)を表示します。
指定したデバイスのブロック数を表示するには「fdisk -s デバイス名」とします。「-s」オプションでは、デバイス名を省略できません。
fdiskコマンドの実行には、root権限が必要です(連載第68回)。
コマンド実行例
fdisk -l デバイス名
(指定したデバイスのパーティション情報を表示する)
fdisk -l /dev/sda
(/dev/sdaの情報を表示する)(画面1)
fdisk -s デバイス名
(指定したデバイスのブロック数を表示する)
対話モードでパーティション情報を表示する
fdiskを対話モードで起動するには、「-l」や「-s」オプションを使用せず、デバイス名だけを付けます。
コマンド実行例
fdisk デバイス名
(fdiskを対話モードで起動する)
対話モードの操作では、アルファベット1文字のコマンドを使います。例えばパーティションテーブルを一覧表示するには「p」と入力します。
対話モードで使用する主なコマンド
コマンド | 意味 |
---|---|
m | 対話モード用コマンドを一覧表示する |
p | パーティションテーブルを表示する |
v | パーティションテーブルを検査する |
n | 新しいパーティションを作成する |
a | ブート可能フラグを切り替える |
d | パーティションを削除する |
w | パーティションテーブルの変更を保存して終了する |
q | パーティションテーブルの変更を「保存せずに」終了する |
画面2では、「fdisk /dev/sda」で対話モードを開始しています。その後「p」コマンドでパーティションテーブルの情報を表示し、「q」コマンドで終了しました。表示内容は「fdisk -l /dev/sda」と同じです。
fdiskコマンドの対話モードと同じ操作を、メニューとカーソルキーを使って進めるコマンドもあります。「cfdisk」コマンドです。画面3には「cfdisk /dev/sda」を起動した結果を示しています。
パーティションを作成する、削除する
対話モードのコマンドのうち、「w」コマンドだけがディスクの状態を実際に変更し、確定します。「n」コマンドを用いて新しいパーティションを作成したり、「d」コマンドで削除したりしても、「w」コマンドでパーティションの情報をMBRに保存しなければ、ディスクのパーティションには何も変更が加わりません。
なお、「w」以外のコマンドを実行した後、パーティションの状態を変えたくない場合は「q」コマンドでfdiskコマンドを終了してください。
以下ではパーティションの確認、削除、新しいパーティションの作成、確定といった内容を複数の画面に分けて紹介していきます。
画面4では、「fdisk /dev/sdb」としてfdiskコマンドを対話モードで起動しました。起動後「p」でパーティションの情報を表示し、「d」でパーティションを削除、もう一度「p」で削除後のパーティションを確認しています(画面5に続く)。
続いて、「n」で新しいパーティションを作成しました(画面5)。ここではブートが可能なプライマリパーティションを選びました。
パーティションの先頭位置はデフォルト設定のまま、終点は「+32G」とサイズを指定しました。サイズを1000の倍数で指定したい場合はKB、MB、GBで指定します。1024の倍数で指定したい場合はK(KibiByte)、M(MebiByte)、G(GibiByte)を使います。
画面6ではプライマリパーティションとして確保した部分以外を、まとめて1つのパーティションにしました。「n」で新しいパーティションを作成後、[Enter]でデフォルト設定のまま処理を進めています。
最後にもう一度「p」で現在のテーブルを確認し、「w」でMBRに保存して終了しました。ここで「q」を選ぶと、パーティション情報はfdiskコマンドを起動した時点のまま変わりません。
fdiskコマンドでパーティションを設定後は、mkfsコマンドなどを用いてフォーマットします。フォーマット後、マウントして使用できるようになります(第183回)。
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.