kledgeb UbuntuやLinuxの最新情報を紹介

起動時のファイルシステムのチェックは必要か?

起動時にデフォルトでファイルシステムのチェックを有効にしたほうが良いのか、以下でフィードバックが募集されています。



話の背景

「Ubuntu」を「subiquity」など「curtin」でインストールした場合、デフォルトで起動時に「fsck」によるファイルシステムのチェックは行われません。
これはファイルシステムのマウント情報を記述する「fstab」の「fs_passno」に「0」を設定するためです。


この振る舞いが不具合として以下で報告されています。


開発者がこの不具合を修正するにあたり、そもそもジャーナリングに対応したファイルシステムで本当に「fsck」によるファイルシステムのチェックが必要なのか疑問を持ち、チェックの必要性に関する意見を求めています。

ジャーナリングに対応したファイルシステム

ジャーナリングは突然の電源切断など問題発生時にデータの不整合を可能な限り解消するための仕組みです。


fsckを実行しても意義がないファイルシステム

「xfs」や「zfs」、「btrfs」など一部のファイルシステムは「fsck」を実行しても意義あるチェックを行いません。
これらのファイルシステム向けに「fsck.$fstype(実際にファイルシステムのチェックを行うバイナリー)」が提供されていますが、これらのバイナリーは意味のあるチェックを行いません。

ext2/ext3/ext4では

「ext4」は「Ubuntu Desktop」でよく利用されるファイルシステムですね。
特にファイルシステムを意識しなければ「ext4」で「Ubuntu Desktop」をインストールするケースがほとんどでしょう。


「ext」にとって「fsck」によるファイルシステムのチェックは重要です。
「ext3/4」はジャーナリングに対応したファイルシステムですが、カーネルドライバーがファイルシステムをマウントする時と同じようにジャーナルを再実行します。
また状況によってはそれ以上の修正を行うこともあります。

/boot/efi

「UEFI」環境で利用される「/boot/efi」も「fsck」が必要との見解です。

というわけで

「ext」系のファイルシステム及び「/boot/efi」では「passno=1」を設定してファイルシステムのチェックを有効にし、「xfs」など「fsck」を実行しても意義がないファイルシステムでは「passno=0」を設定しファイルシステムのチェックを行わないようにしたほうが良いのではないか、とのことです。

関連コンテンツ
同一カテゴリーの記事
コメント
オプション