一部の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
proc
とsys
両方がマウントポイントであるため、ls
出力にはこれらのファイルシステム内のinode番号が表示されます。.
それから..
#2とlost+found
#11が出ます。
ext2の以前のバージョンでは、この保持数が修正されました。以降のバージョンでは、スーパーブロックで構成でき、これがdump2fs
報告される値です。