-
磁盘必须先被识别,其次是分区,然后再格式化写入文件系统,最后才能被写入文件.
- 扇区,磁道,磁柱.扇区的最小单位为4KB或512B,磁柱是N个磁面相同半径磁道的累加,磁柱是分区的最小单位.
- 分区有两种方式,MBR(MSDOS)和GUID 分区是以磁柱为基本单位的连续磁盘空间.分区可以隔离数据,保证数据独立和安全,分区可以提升效能,将同一文件集中存放在相邻的磁道,助于效能提升.
MBR
- 旧时硬盘第一个扇区通常有512字节byte,在MBR方式下,其中的446B是MBR(major boot record),内容是开机管理程序;还有64B是分区表(partition table),分区表最多支持4个记录,每个记录 是该分区的起始和结束磁柱号.分区的操作其实就是对64B的分区表进行操作,系统写入磁盘时,肯定会根据分区表来决定写入的磁柱位置.
- 分区表的四项决定只能最多有4个主分区,此外,为了增加分区个数,提出了扩展分区的概念,扩展分区最多只能有1个,在扩展分区内可以增加逻辑分区,逻辑分区的编号是从5开始的,不管前面有几个分区,逻辑分区的编号从5开始,
- 逻辑分区的分区表在每个分区表的前几个扇区内
GPT(GUID Parted table)
- 发展成了4K的扇区,但是为了避免兼容问题,提出了逻辑区块地址LBA(logical block address)的概念,每个LBA预设为512byte.GPT使用磁盘最早的34个LBA块来记录分区信息.此外,还用磁盘最后的34个GPT做了备份
- LBA0存储的是开机程序+GPT标识,这个标识告诉系统这是一个GPT硬盘
- LBA1(GPT表头记录)记录了GPT的分区表的位置大小,备份分区表(最后34个LBA)的位置
-
从LBA2开始,每个LBA都有4个分区记录项,整个磁盘共有4*32个分区记录项,每个记录项可作为一个分区,共有4乘32个分区.由于每个LBA是512byte,每个分区记录项分到128byte,每个记录项的128byte中,有64bit位记录了该分区的起始扇区地址,,因此一个分区可以有2的64次方个扇区,每个扇区是512byte,那么每个分区大小可达2的64次方乘以512byte.
- fdisk不认识GPT,grub不认识GPT,只有grub2才认识.