일부 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
보고되는 값입니다.