Директории /proc и /sys имеют значение inode 1, хотя это означает "плохой блок". Оба они функционируют, и у меня есть еще одна машина Linux, на которой, в дополнение к этим двум, /boot также имеет inode 1.
adam@AdamMobile:/$ ls -i
1179649 bin 2 dev 25034753 home 22675457 lib 12058625 media 1 proc 10092545 sbin 12 swapfile 8912897 usr 14 vmlinuz.old
12713985 boot 15 device-clean 13 initrd.img 9961473 lib64 25165825 mnt 13500417 root 7733249 snap 1 sys 2621441 var
20578305 cdrom 23330817 etc 17 initrd.img.old 11 lost+found 1441793 opt 2 run 23592961 srv 18743297 tmp 18 vmlinuz
Почему у них inode 1?
решение1
Структура инодов является частью дизайна файловой системы. Предположение, что иноды 1–10 зарезервированы, характерно для UFS и производных (включая Linux ext2/ext3/ext4), ине обязательно применяетсяк файловым системам, которые были разработаны независимо.
Все три упомянутых вами местоположения являются точками монтирования для разных файловых систем (используйте, findmnt
чтобы узнать).
Например, /boot часто является местом, где монтируется файловая система FAT32 (системный раздел EFI). Файловые системы FAT не имеют номеров инодов как таковых (ядро должно показывать поддельные номера инодов); они отмечают плохие сектора в «карте кластера».
/proc и /sys — это полностью виртуальные (создаваемые ядром) файловые системы, procfs и sysfs, и в них даже нет понятий «плохие блоки» и «зарезервированные иноды», поскольку они на самом деле не являются дисковыми файловыми системами.
Другие файловые системы все еще работают по-другому. Например, NTFS использует inode 8 (реальный скрытый файл с именем
$BadClus
) для резервирования плохих секторов. Btrfs не отслеживает плохие сектора полностью.
решение2
значение inode 1, хотя это означает «плохой блок»
Вext4
"список дефектных блоков"на самом деле. Но это для ext4
. Каждый тип файловой системы может резервировать некоторые специальные иноды по-своему.
Рассматриваемые точки монтирования содержат некоторые другие файловые системы (псевдофайловые системы): /proc
имеют типproc
и /sys
имеет типsysfs
. Вы можете увидеть это, вызвав mount
без аргументов.
Я думаю, /boot
на другой машине он не включен ext4
.