一、磁盘简介
计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。
1、硬盘的chs模式
是指chs(Cylinder/Head/Sector)模式,很久以前,硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘.也就是硬盘盘片的每一条磁道都具有相同扇区数. 由此产生了所谓的3D参数 (Disk Geometry). 既磁头数(Heads),柱面数(Cylinders), 扇区数(Sectors pertrack),以及相应的寻址方式
sector 扇区:在硬盘上每个磁道上的扇区用6bit标识,每个磁道最多标识64个扇区,每个扇区512byte
track 磁道:磁道数等于磁头数,理论上256个
head 磁头 :在硬盘上磁头用8bit标识,最多标识256个磁头
cylinder 柱面 :在硬盘柱面用10bit标识,最多标识1024个柱面
磁盘容量计算方式:扇区大小*64*256*1024=8589934592=8G
因此早期的硬盘无法突破8G容量
2、LBA(logical block addressing)模式
以上这种方式会浪费很多磁盘空间 (与软盘一样). 为了解决这一问题, 进一步提高硬盘容量, 人们改用等密度结构生产硬盘.也就是说,外圈磁道的扇区比内圈磁道多. 采用这种结构后, 硬盘不再具有实际的3D参数, 寻址方式也改为线性寻址,即以扇区为单位进行寻址。
为了与使用3D寻址的老软件兼容 (如使用BIOS Int13H接口的软件), 在硬盘控制器内部安装了一个地址翻译器, 由它负责将老式3D参数翻译成新的线性参数.这也是为什么现在硬盘的3D参数可以有多种选择的原因 (不同的工作模式, 对应不同的3D参数,如 LBA, LARGE, NORMAL). CHS模式只能识别大硬盘的前面8G.lba使用的线性寻址,突破了1024柱面的限制,能访问8G以外的空间了。
LBA采用48个bit位寻址,最大寻址空间128PB。
ZBR(Zoned Bit Recording)
二、硬盘分区
磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件;但太多分区就成了麻烦。空间管理、访问许可与目录搜索的方式,依属于安装在分区上的文件系统。当改变大小的能力依属于安装在分区上的文件系统时,需要谨慎地考虑分区的大小。
1、硬盘为什要分区优化I/O性能
实现磁盘空间配额限
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统
2、分区表类型(MBR和GPT)
MBR: Master Boot Record 主引导记录
又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。在深入讨论主引导扇区内部结构的时候,有时也将其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。因此,在使用“主引导记录”(MBR)这个术语的时候,需要根据具体情况判断其到底是指整个主引导扇区,还是主引导扇区的前446字节。
mbr分区用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算(2^32*512byte=2199023255552byte=2T),所以mbr无法识别大于2T以后的空间
0磁道0扇区:512bytes
446bytes:boot loader
64bytes:分区表,16bytes标识一个分区,支持4个分区,或者3个主分区和一个扩展分区
2bytes:分区标示位 55AA
MBR分区结构:
GPT: Globals Unique Identifiers
是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主引导记录(MBR)分区表。对于那些扇区为512字节的磁盘,MBR分区表不支持容量大于2.2TB(2.2×1012字节)[1]的分区,然而,一些硬盘制造商(诸如希捷和西部数据)注意到这个局限性,并且将他们的容量较大的磁盘升级到4KB的扇区,这意味着MBR的有效容量上限提升到16 TiB。 这个看似“正确的”解决方案,在临时地降低人们对改进磁盘分配表的需求的同时,也给市场带来关于在有较大的块(block)的设备上从BIOS启动时,如何最佳的划分磁盘分区的困惑。GPT分配64bits给逻辑块地址,因而使得最大分区大小在264-1个扇区成为可能。对于每个扇区大小为512字节的磁盘,那意味着可以有9.4ZB(9.4×1021字节)或8 ZiB个512字节(9,444,732,965,739,290,426,880字节或18,446,744,073,709,551,615(264-1)个扇区×512(29)字节每扇区)
GPT支持128个分区,使用64位表示扇区,如果每个扇区是512Byte,理论上则支持8Z的磁盘。
使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表
自动备份在头和尾两份,并有CRC校验位
UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动
gpt分区结构: