该文内容主要来自《鸟叔的Linux私房菜》
一块磁盘可以被划分成多个分区,以Windows观点来看,一块磁盘划分为C、D、E盘。那么C、D、E就是分区。那么Linux又是如何分区的呢?
1、磁盘连接方式与设备文件名的关系
正常物理机器大概使用的都是/dev/sd[a-p]的磁盘文件名,至于虚拟环境中,为了加速,可能会使用/dev/vd[a-p]这种设备文件名。由于SATA、USB、SAS等磁盘接口都是使用SCSI模块来驱动,因此这些接口的磁盘设备文件名都是/dev/sd[a-p]。这个时候就通过Linux内核检测到磁盘的顺序来命名。
例如:当PC有两个SATA磁盘和一个USB磁盘,主板上有六个SATA插槽。这两个SATA磁盘分别安插在主板上的SATA1,SATA5插槽上。那么他们的设备文件名使用检测到的顺序来决定设备文件名
1)SATA1插槽上的文件名:/dev/sda
2)SATA5插槽上的文件名:/dev/sdb
3)USB磁盘(系统启动完成后才被系统识别):/dev/sdc
那么磁盘被划分分区后,每个分区的设备文件名又是什么?首先需要了解一个东西,数据写入在碟片上,碟片又细分出扇区和磁道两种单位,整块磁盘的第一个扇区特别重要,记录了整块磁盘的重要信息。早期磁盘的第一个扇区里面含有的重要信息我们称为MBR格式,由于磁盘容量的增大,有多了一个新的磁盘分区格式,称为GPT。那么分区表又是什么呢,将硬盘比作原木,那么就必须在原木上切割出想要的区段,这样才能拿来使用。
2、MBR与GPT磁盘分区表
很遗憾,磁盘并不能真的拿锯子进行切割。由于磁盘可能有很多碟片,所有碟片的同一磁道我们称之为柱面,通常那是文件系统的最小单位,也就是分区的最小单位。为什么说“通常”,因为近来有GPT这个可达到64位记录功能的分区表,所以甚至可以使用扇区来作为分区单位。