1 磁盘概念
机械硬盘由一个或多个盘片组成,每个盘片上下两面都有一个磁头,如果3个盘片,那么就有5个磁头。
工作的时候磁盘在高速旋转,7200转、5400转等,磁头在盘片上可以移动,所以旋转的时候磁头就会读取盘片不同位置的内容。
机械硬盘有三个基本概念:
- 柱面cylinder——每个盘片上面都有同心圆,这个同心圆叫做track,对于多个盘片组成的硬盘,上下位置相同的一组track就叫做柱面;
- 扇区sector——将盘片切蛋糕,形成的扇形区域;
- 磁头head——每个磁头最基本的读取单位是512字节;
linux下所有设备都被抽象为一个文件,保存在/dev目录下;
磁盘的设备名称一般为hd[a-z]或者sd[a-z],如果是老式的针状接口,是IDE设备,那就是hd,现在大多是新的SATA接口的磁盘,被识别为sd,u盘也被识别为sd。
2 分区
将一块机械硬盘逻辑的分为几个区,每个区都当独立硬盘,以便方便的使用,分区1装系统,分区2放置工作文件,分区3装游戏等。
linux中,分区的表示是:设备名称+分区号,如sda1、sda2等;
分区不是硬盘的物理功能,而是软件功能,主流的分区机制有MBR和GPT两种。
在终端中输入
ls /dev/sd*
显示
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdb1 /dev/sdb2
可以看到我的电脑上有两块硬盘,其中sda是机械硬盘,分了3个区,sdb是固态硬盘,分了两个区。
2.1 MBR分区
MBR(Master Boot Record)是传统的分区机制,适用于绝大多数使用BIOS的PC设备,支持的分区数量有限,支持不超过2T的硬盘;磁盘的前512字节是MBR的主引导记录,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。在深入讨论主引导扇区内部结构的时候,有时也将其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。因此,在使用“主引导记录”(MBR)这个术语的时候,需要根据具体情况判断其到底是指整个主引导扇区,还是主引导扇区的前446字节。
主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。主引导扇区内的信息可以通过任何一种基于某种操作系统的分区工具软件写入,但和某种操作系统没有特定的关系,即只要创建了有效的主引导记录就可以引导任意一种操作系统(操作系统是创建在高级格式化的硬盘分区之上,是和一定的文件系统相联系的)。
使用MBR分区,一个硬盘只能创建4个主分区,因为64字节的分区表规划中只有4个条目。
一个扩展分区会占用一个主分区的位置,但是扩展分区不能用,可以在扩展分区的基础上建立逻辑分区,linux最多支持63个IDE分区和15个SCSI分区。
2.2 GPT
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主引导记录(MBR)分区表。
必须是64位系统才能支持GPT。