連載
» 2018年03月09日 05時00分 公開

Linux基本コマンドTips(190):【 mkfs 】コマンド――HDDなどをフォーマットする

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、HDDなどをフォーマットする「mkfs」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、HDDなどをフォーマットする「mkfs」コマンドです。

mkfsコマンドとは?

 「mkfs」は、フォーマットを行うためのコマンドです。mkfsを使うことでファイルシステムを構築できます ※1。

 購入したHDDをLinuxから使えるようにするには、パーティションの作成、フォーマット、マウントという手順を踏む必要があります ※2。

 パーティションの作成では、fdiskコマンド(連載第187回)やgdiskコマンド(第188回)などを使います。その後、mkfsコマンドでフォーマットし、mountコマンド(第183回)でマウントします。

※1 ファイルの管理方式自体や管理方式にのっとってフォーマットした記憶領域のことを「ファイルシステム」と言う。
※2 LinuxではHDDなどの記憶装置を論理的に分割して利用する。分割後の領域をパーティションと呼び、パーティションの位置や長さなどの管理情報(パーティションテーブル)を、パーティションとは別の領域に記録している。フォーマット済みの領域(ファイルシステム)を指定したディレクトリ(マウントポイント)と一時的に結び付けてアクセスできるようにする操作をマウントという。





mkfsコマンドの書式

mkfs [オプション] [-t ファイルシステムの種類 ファイルシステムのオプション] デバイス名 [サイズ]

※[ ]は省略可能な引数を示しています。ファイルシステムのオプション部分は、-tオプションで指定したファイルシステムの種類ごとに異なります。




mkfsの主なオプション

短いオプション 長いオプション 意味
-t 種類 [ファイルシステム用オプション] --type 種類 [ファイルシステム用オプション] ファイルシステムの種類を指定する(指定しない場合はext2を選択したことになる)
-V --verbose 動作中の表示を詳しくする


パーティションをフォーマットする

 HDDなどをフォーマットする際には、「mkfs -t xfs /dev/sdb1」のように、ファイルシステムの種類とデバイス名を指定します。実行にはroot権限が必要です(連載第68回)。mkfsコマンドを実行した際、本当にフォーマットしてもよいかどうかという確認メッセージはありません。デバイス名の指定には注意が必要です。

 「-t」オプションでファイルシステムの種類を指定しなかった場合は、ext2を選択したものとしてフォーマットを続行します(画面1)。

コマンド実行例

mkfs -t ファイルシステムの種類 デバイス名

(指定したデバイスを指定したファイルシステムでフォーマットする)

mkfs -t xfs /dev/sdb2

(/dev/sdb2をxfsでフォーマットする)(画面1


画面1 画面1 指定したデバイスをフォーマットしたところ


各ファイルシステム用のオプションを確認する

 mkfsコマンドは自らフォーマットを実行するのではなく、他のコマンドを呼び出して、実際の処理を進めています。

 「-t」オプションの指定に応じて「mkfs.xfsコマンド」(-t xfsと指定した場合)や「mkfs.ext4コマンド」(-t ext4と指定した場合)を呼び出しています。

 このため「man mkfs.xfs」や「mkfs.xfs --help」のように指定することで、各ファイルシステムに使用できるオプションを確認できます ※3。

※3 実行時に呼び出されたコマンドが「--help」や「-h」オプションに対応していない場合は「無効なオプションを指定した」という扱いとなり、多くの場合は簡単な使い方や使用できるオプションを一覧表示します。



 フォーマット可能なファイルシステムの種類を調べるには、「ls /sbin/mkfs.*」として、どのコマンドを利用できるかを確認することが早道です。

 画面2では、まず「ls /sbin/mkfs.*」で現在利用できるファイルシステムの種類を確認しています。実行結果から「mkfs.vfat」が存在することが分かったので「mkfs.vfat -h」でオプションを確認しました ※4。

※4 Windows NT3.5、Windows 95以降に実装された長いファイル名(long file name)を、従来のFAT(File Allocation Table)で扱えるようにした拡張をVFAT(Virtual FAT)と呼ぶ。



 mkfs.vfatコマンドは「-h」オプションには対応していませんでしたが、使い方が表示され、ボリュームラベルを付けるためのオプションは「-n」だと分かりました。

 そこで、「mkfs -t vfat -n USBDATA /dev/sdc1」とフォーマットを実行しました。これは「mkfs.vfat -n USBDATA /dev/sdc1」と同じ意味です。root権限が必要なためsudoコマンドを使用しています。

 最後に、blkidコマンド(第182回)で/dev/sdc1の情報を確認しています。フォーマット後の情報を再取得するため、ここでもsudoコマンドを使い、root権限で実行している点に留意してください。

画面2 画面2 vfat用のオプションを確認し、ボリュームラベルを付けたところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。