mkfs パーティションやディスクにファイルシステムを作る
mkfs [-t 種類] [オプション] デバイス試してみる
/sbin/mkfs.ext4 -q fs.imgfs.img(ディスクに見立てたファイル)に ext4 のファイルシステムを作ります。-q はメッセージを出さない指定です。
file fs.imgファイルシステムができたことを確認します。
/sbin/blkid fs.imgファイルシステムの種類と UUID を表示します。
/sbin/mkfs.ext4 -q -L data fs2.imgラベル(-L)をつけて作ります。
/sbin/e2label fs2.imgext4 のラベルを表示します。
/sbin/mkfs.vfat -n BOOT fat.imgFAT のファイルシステムを作ります。-n でラベルをつけます。
主なオプション
-t 種類 | mkfs でファイルシステムの種類を指定する(mkfs -t ext4 は mkfs.ext4 と同じ) |
|---|---|
-L ラベル | ext4 や XFS でラベルをつける(vfat は -n) |
-q | メッセージを出さずに作る(ext 系) |
-c | 作る前に、不良ブロックを調べる(ext 系) |
-F | ファイルやマウント中のデバイスでも、確認なしで作る(ext 系) |
解説
mkfs は入れ物を作るコマンド
パーティションを作っただけでは、ファイルを置けません。mkfs(make filesystem)でファイルシステムを作ると、ファイルを置けるようになります。作った時点で、中身はすべて消えます。デバイスを間違えると、そのデータが失われるので、/dev/sdb1 などのデバイス名をよく確認してから実行します。
種類ごとのコマンド
mkfs -t ext4 デバイス は、mkfs.ext4 デバイス を呼び出します。どちらも同じ結果になります。種類ごとにコマンドがあります。
| コマンド | ファイルシステム |
|---|---|
| mkfs.ext4(mke2fs -t ext4) | ext4(Linux の標準) |
| mkfs.xfs | XFS(RHEL系の標準) |
| mkfs.vfat | FAT(USBメモリなど) |
| mkswap | スワップ領域(mkfs ではなく別のコマンド) |
ラベルと UUID
ファイルシステムには、ラベル(名前)と UUID(重複しない ID)をつけられます。blkid で一覧表示でき、/etc/fstab では UUID=... や LABEL=... の書き方で、デバイス名の代わりに指定できます。デバイス名は変わることがあるので、UUID を使うほうが確実です。
このページの環境
/sbin にあるので、一般ユーザーはフルパスで書くか、sudo を付けます。ここでは、ディスクの代わりにファイルを使っています。作ったファイルシステムは、mount -o loop でマウントできます。