概要
デバイスやイメージへ新しいファイルシステムを作成します。ext4やxfsなどの種類を選べますが、既存データは基本的に失われます。
基本構文
mkfs [オプション]... [-t 種類] デバイス [ブロック数]詳細解説
mkfsは、対象デバイスへファイルシステムを作成するコマンドです。一般にはフォーマットと呼ばれる操作に相当し、空の領域へ管理構造を作ることで、OSがファイルを配置できる状態にします。
mkfs自体は入口であり、実際の処理はmkfs.ext4やmkfs.xfsなどの個別実装へ委ねられることが多い点が重要です。-tで種類を指定し、必要に応じて実装固有のオプションを渡します。
実務では、新規ディスクの初期化、LVM論理ボリュームの利用開始、検証用イメージ作成で使います。lsblkやblkidで対象確認を済ませてから実行するのが原則です。
このコマンドを使う場面
新しいストレージへファイルシステムを作る時、検証用のディスクイメージを準備する時、区画やLVMを使い始める最終段階で使います。
まず安全に試す方法
1. truncate -s 128M disk.img
2. mkfs -t ext4 -F disk.img
3. file disk.img
4. blkid disk.img
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
実ディスクではなくdisk.imgへext4を作り、手順を確認します。
-
blkidでUUIDと種類を確認し、結果を読めるようにします。
資格試験との関連
-
LinuC レベル1
範囲: ストレージとファイルシステムの基本根拠: editorialmkfsはLinuCレベル1相当の理解を深めるのに役立つコマンドです。
-
LinuC レベル2
範囲: 実務的なストレージ構成根拠: editorialmkfsはLinuCレベル2相当の実務的な理解を深めるのに役立ちます。
-
LPIC-1
範囲: ストレージとファイルシステムの基本根拠: editorialmkfsはLPIC-1相当の基本事項を整理するのに有効です。
-
LPIC-2
範囲: 実務的なストレージ構成根拠: editorialmkfsはLPIC-2相当の構築、運用、障害対応の理解に役立ちます。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、mkfsはLinux運用の基礎体力を支える重要コマンドです。
実行結果サンプル
-
truncate -s 128M disk.img mkfs -t ext4 -F disk.img blkid disk.imgdisk.img: UUID="..." TYPE="ext4"
戻り値コード
- 0 正常終了。ファイルシステム作成に成功しました。
- >0 対象不存在、権限不足、使用中デバイス、実装未対応などで作成できませんでした。
使用例
mkfs -t ext4 /dev/sdb1mkfs -t xfs /dev/vdb1truncate -s 128M disk.img && mkfs -t ext4 -F disk.img
よくあるエラー
-
別のディスクを初期化してしまいそう 原因: デバイス名の確認が不足しています。対処: lsblk、blkid、findmntで対象とマウント状況を事前確認します。
-
Device or resource busyと表示された 原因: 対象がマウント中、または他の処理に使用されています。対処: umountやswapon --showで使用中でないことを確認します。
導入・互換性情報
利用可能な種類や細かなオプションは実装差があります。ext4向けとxfs向けでは受け取るオプションが大きく異なります。
注意点 / セキュリティリスク
危険度は非常に高いです。誤ったデバイスへ実行すると、既存のファイルシステムとデータを失います。対象名、容量、マウント状態を必ず確認してください。
FAQ
-
Q. mkfsとpartedは何が違いますか。 A. partedは区画を切る道具で、mkfsはその区画へファイルシステムを作る道具です。
-
Q. 既存データを残したまま使えますか。 A. 通常はできません。mkfsは新しい管理構造を作るため、既存データは失われる前提で考えます。
関連用語
参照リンク
- カテゴリー: Storage And Filesystems
- レベル: Practical
- 対応試験: LinuC, LinuC レベル1, LinuC レベル2, LPIC, LPIC-1, LPIC-2, 共通基礎