Linux疑问:为什么根目录与其子目录能放到不同的分区?

RT,这一点很不明白。

在Windows中,假设把整块硬盘分为C、D、E,系统装在C盘中,也就是把操作系统装到硬盘上属于C的这一块,重装系统也只是把C盘中的内容覆盖,D、E盘不受影响,这样很容易理解。

但Linux的分区就很让人费解,除了根目录与其子目录能放到不同的分区,还能把整块某个分区直接挂载到某个目录下。也就是说,操作系统本身存在于硬盘上,但用于存储操作系统的硬盘又能被挂载到系统中的某个目录中,感觉进入无限循环了。

求解。

其实是混淆了磁盘分区,文件系统,目录结构这三个概念。
首先磁盘很好理解,就是将磁盘的存储空间分为几个区,每个区上刻录的内容互不干扰。
而文件系统是基于磁盘分区的,每个区有且只有一个文件系统。每个文件系统都是依靠分完区后的格式化(make filesystem)来建立的。每个文件系统就包括inode块、存储块,数据块又分为目录块和data block数据区域。
而目录结构实际上是在文件系统基础上抽象出来的拓扑结构,和分区无关。文件和目录,目录和目录之间,通过目录和唯一的inode编号相互连接,并且inode编号是唯一的,不受分区影响。因为分区是以被挂载的目录的形象展现的,所以产生了一个分区可以挂载另一个分区的假象。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
根文件系统中有些目录是不能独立分区的,否则系统启动的时候找不到。
说实话,我不相信你真的理解了windows的分区原理;只是因为你接触的早的原因而觉得分区就应该像windows那样而已;就像1+1本来就应该等于2一个道理;因为windows系统实际上比linux难理解多了,更何况它不开源,而且是微内核的;当然最主要的原因还是大部分教材是根据linux,unix写的原因
如果理解了操作系统原理,就不难理解为什么linux中的文件系统可以这样挂载使用了;当理解了操作系统原理以后,相反你会疑问,windows中是那些分区都是独立的,操作系统是怎么找到他们的?当然,其实那是假象;他们内核当中同样有挂载关系;只是我们看不到而已;本回答被网友采纳
第2个回答  2015-11-14
linux是文件系统,讲求的是文件目录
先搞清楚各个文件夹的功能比较重要
相似回答