dumpe2fsが報告した「最初のinode」とは何ですか?

dumpe2fsが報告した「最初のinode」とは何ですか?

一部のext4パーティションでは、dumpe2fsを使用して初期データを取得しました。最初のinodeは#11です。ただしls -i、このディスクのルートパーティションにある場合、対応する inode 番号は予想通り #2 です。それでは... dumpe2fsが報告した「最初のパーティション」とは何ですか?

答え1

#11は、最初に定期的に生成されたファイルまたはディレクトリに使用できる最初の「非特殊」inodeです(通常は使用されますlost+found)。 inodeの番号はファイルシステムのスーパーブロック(s_first_ino)に格納されるため、技術的に#11である必要はありませんが、mke2fs常にそのように設定されます。

#0 から #10 までのほとんどの inode は特別な目的で使用されますが (例: #2 はルートディレクトリ)、一部は ext ファイルシステムファミリの非アップストリームバージョンで予約または使用されます。使用法は次に文書化されています。kernel.org

アイノード番号 目的
0 該当なし
1 欠陥のあるブロックリスト
2 ルートディレクトリ
サム ユーザークォータ
4 グループクォータ
5 ブートローダ用に予約済み
6 ディレクトリの削除をキャンセル(保存)
7 「アノードのサイズ変更」
8 雑誌
9 「除外」 inode (予約済み)
10 inodeのコピー(予約済み)

答え2

Inode #1 -> #10は「予約」されています。予約済みブロック#2は、ファイルシステムの「ルート」ディレクトリです。

したがって、#11は通常割り当てられた最初の実際のinodeです。lost+found

だから:

% ls -ali / | awk '$1<=11'
 2 dr-xr-xr-x. 18 root root  4096 Jul 24  2019 ./
 2 dr-xr-xr-x. 18 root root  4096 Jul 24  2019 ../
 2 dr-xr-xr-x.  6 root root  4096 May  1 22:21 boot/
 3 drwxr-xr-x  17 root root  2980 Jun 30 20:49 dev/
11 drwx------.  2 root root 16384 Jul 24  2019 lost+found/
 1 dr-xr-xr-x  90 root root     0 Jun 30 20:49 proc/
 1 dr-xr-xr-x  13 root root     0 Jun 30 20:49 sys/

ディレクトリboot dev procsys両方がマウントポイントであるため、ls出力にはこれらのファイルシステム内のinode番号が表示されます。.それから..#2とlost+found#11が出ます。

ext2の以前のバージョンでは、この保持数が修正されました。以降のバージョンでは、スーパーブロックで構成でき、これがdump2fs報告される値です。

関連情報