前言
本文记录磁盘分区、格式化及挂载的个人理解。
一、基本概念
可以看到,一块磁盘(Disk)可以被分区(Partition),每个区里可以建置自己的文件系统。文件系统可以理解成是组织管理磁盘原数据的数据结构,它被存储在磁盘中。标准的linux文件系统ext2是以inode为基础的文件系统,关键由super block/inode table/ data block这几部分组成。
二、分区
分区即是将一块物理磁盘分成逻辑上的多个部分。分区之后,得到的结果是上图中Partition1、Partition2…
三、格式化
格式化,就是在分区上建置新的文件系统。听到“格式化”会让人联想到删除,它们之间有什么关系?试想,假如有一块正在使用中的分区(其上已经建立文件系统),其内部的数据由已经存在的文件系统来组织管理着,当格式化(在其上建立新的文件系统)之后,原有的管理信息丢失,自然地,系统将缺少对磁盘原有数据的查找“地图”。所以,从某种意义上讲,格式化就是删除。
四、挂载
一个新的分区,在建置新的文件系统之后,它将作为一个新的设备被系统检测到,但此时的它还不能被使用起来。原因是,建立了文件系统仅仅表明这块分区有了组织管理自身数据的能力,并不能说明它跟其他分区建立了联系。
若要将新建的分区投入使用,就要将该新分区的信息“告诉”操作系统,该“告诉”的动作就是挂载。操作系统将接收到的信息(新分区信息)整合之后更新目录树,目录树可以理解为操作系统初始阶段建立保存在内存中数据结构,这样,系统在检索目录过程中,可以根据“告诉的信息”检测出挂载目录,进而采用与挂载文件系统相应的运算方法进行目录的访问。
挂载的信息不是磁盘的属性信息,也就是说它不像inode、super block一样是磁盘的组成原理的一部分,默认情况下挂载信息不会出现在磁盘中。所以,重启计算机默认情况下挂载丢失。但可以设置开机挂载,把挂载的相关信息保存在相应磁盘文件中,如/etc/fstab 及 /etc/mtab。