在使用 Unix/Linux 时,我发现磁盘空间被划分为多个分区,这些分区可能会或可能不会提供可以安装在“根文件系统”上任何位置的不同文件系统。
然后,文件系统被安装到该根文件系统上的位置,但是 Linux 如何构建第一个初始根文件系统(从“/”开始)?它是如何将我的不同文件系统合并到一个可以从根目录导航的独特文件系统中的?
答案1
第一个以 root 身份安装。即标记为根文件系统的任何文件系统都会安装为根文件系统。然后其他文件系统被安装在已安装文件系统的(通常是空的)目录之上(不一定是根文件系统)。
例如,如果我们安装A然后B然后C然后D,A是root,那么B可以安装在A上,然后C可以安装在A或B上,然后D安装在A或B或C上。
对您的其中一条评论的注释
不,没有什么特别的initramfs
(关于这个问题)。
否不是 inode 层次结构的顶部
尝试
stat /
,在我的系统上它有 inode 2。stat /home
,在我的系统上它有 inode 2。
怎么会这样?
stat /
,在我的系统上它有设备 2049。stat /home
,在我的系统上它有设备 2051。
因此,一个文件必须由双元组设备inode来标识。