介绍Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT),教程操作方法:
硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据。硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统。硬盘的主要行为就是数据的存放和取出。
构成硬盘的基本元件,主要可以分为实际存储数据用的磁盘(Plat Platter)、读取数据用的磁头(Head)、帮助磁头搜寻读取位置的马达等等,这些元件构成一个能够在不同磁盘上的任意位置读取数据的结构体。
磁盘是硬盘中真正用来存储信息的部分,外观上如同圆盘一样,中间有孔可供马达运转轴通过(硬盘必须经过不断旋转磁盘才能找到数据),每个硬盘都有至少一个以上的磁盘。
一般来说硬盘中磁盘的大小,目前主要有 3.5 英寸和 5.25 英寸两种,而笔记本计算机所使用的磁盘大小一般为 2.5 英寸,有些甚至只有 1 英寸,大型磁盘防震的能力较差,而且一般来说磁盘越大硬盘的性能越差(因为磁盘的旋转速度降低,在磁盘上搜寻数据的事件会变长),不过因为表面积较大,所以能够存放的数据也就较多。
大部分磁盘都是以铝合金制成,而由于磁盘运转的速度较高,磁盘表面必须相当光滑,而重量的分布也必须相当均匀。而磁盘铝合金的表面,则涂了一层磁性物质,以供数据写入之用(写入或读取数据事实上都是在这层磁性物质上,与铝合金无关),这个磁性物质是利用电镀或溅镀的方法涂上,因此分布相当均匀,最后在磁性物质上,会再加上一层薄薄的保护膜,以提供润滑作用,避免磁头与磁盘不正常接触所造成的损坏。磁盘的两面都可以使用,因此每个磁盘上下共有两个磁头来读取数据。
在磁盘上可以感应到数字信息,是因为在磁盘上可以针对特定区域进行磁性的变动,因此我们只需要利用一些可以感应磁性变化的装置,可以依照磁盘上特定区域的磁性变化,来读取其中的内容。
一个磁盘划分为多个磁道,事实上一个磁道也就是指磁盘上的一圈数据区域(也就是说同一磁盘撒和国内所有的磁道都会以同心圆环的方式来排列),就像树木年轮中的一环。因此最靠近内圈的磁道上所能记录的数据量最小(由于越靠近内圈则圆圈越小)。
绕马达旋转轴旋转的多个磁盘,每个磁盘有两个盘面(片),每个盘面里有多个磁道(Track)。多个磁盘上相同大小的磁道在垂直空间上构成了一个柱面,可以想象成圆柱状的形体,视觉上构成了一个空心筒(柱面)。
当需要使用磁盘中的数据时,需要利用磁头来读取或写入数据。因此磁头可以说是磁盘与计算机中其他数字设备之间的接口。磁头负责把数字的位数据转换为磁性的变动,以便将数据写入磁盘之中,而反过来的动作就可以把数据由磁盘中读取出来。磁头的质量严重影响整个硬盘的性能,例如当我们增加磁盘的密度以及磁盘旋转的速度来增加数据传输的速率时,一定要有精密的磁头才能将这些数据正确地读取出来,因此每当发展出新技术的磁头时,通常都会带动整个硬盘效率的提高。
事实上仅把数据分为磁道,还不能达到细分数据区的目的(一个磁道中的数据容量还是相当大,即使是最内圈最小的磁道也是一样),因此我们再把磁道分为许多的扇区。由于内圈磁道的数据容量较少,因此内圈磁道所分割出来的扇区数码会比外圈磁道要少。扇区是磁盘上能读取数据的最小单位,大小为 512Bytes,因此,即是是 1 个 Byte 的文件,也要占据一个扇区的大小,无论这个扇区的数据量是 2KB 还是 16KB 都是一样。每个扇区内部的数据被视为连续的数据,因此实际存取时,需要再指定扇区中数据的地址,就可以找到所需要的数据。
Boot sector是硬盘(严格来说是所有可引导的存储介质)上的第一个扇区,大小为512字节,这个扇区对于计算机启动来说至关重要。这个小小的512字节包含了很多内容,主要分为三个部分,分别是:
MBR(master boot record,主引导记录)446字节。
DPT(disk partition table,磁盘分区表)64字节,每16个字节标识一个分区(所以只能划分4个主分区)
Linux 的所有设备都被抽象为一个文件,保存在 /dev 目录下。根据接口可以分为:IDE、SATA、SAS、SCSI、USB。硬盘名称一般为:设备类型 + [a-z],其中 [a-z] 表示第几块硬盘。
IDE 硬盘的名称一般是:hd[a-z]。
SATA 硬盘、SAS 硬盘、SCSI 硬盘和 USB 硬盘的名称一般为:sd[a-z]。
例如,第一块 SATA 硬盘名为 /dev/sda,第二块 SATA 硬盘名为 /dev/sdb,以此类推...
柱面是分区的最小单位,把一块硬盘的磁盘逻辑地分为几个区,每个区当作独立磁盘,以方便使用管理,目录是逻辑上的区分。分区是物理上的区分。
不同的分区用:“设备名 + 分区号”来表示,如第一块 SATA 硬盘的两个分区 sda1,sda2。
主流的分区机制有 MBR 和 GPT。
MBR 是传统的分区机制,应用于绝大多数使用 BIOS 引导的 PC 设备(苹果使用EFI的方式)
MBR 支持 32 位和 64 位的操作系统 MBR 支持的分区数量有限 MBR 支持不超过 2T 的硬盘,超过 2T 的硬盘只能使用 2T 空间(有第三方解决办法),因为MBR的寻址空间只有 32 位长 MBR 结构:占用硬盘最开头的 512 字节,即 0 柱面 0 磁道 1 扇区。前 446 字节是引导代码,不同操作系统的引导代码不一样。然后是 4 个 16 字节的主分区 表信息。最后 2 个字节 55 AA,是操作系统的启动标识。
主引导分区之所以如此重要,因为其涉及到开机与文件加载,因为操作系统也是软件,COMS记录了各项硬件参数且嵌入在主板上的存储器中,而BIOS则是写到主板上的一个程序,这个BIOS是开时系统主动调用的第一个程序,BIOS根据计算机的设置找到能开机的第一个硬盘中的第一个扇区的MBR位置,MBR这个仅有446bytes的硬盘容量里面放置基本的引导加载程序,这个引导加载程序是为了加载内核文件,由于引导加载程序是操作系统在安装时所提供的,所以他能够识别硬盘中的文件系统各式,就可以读取内核文件,因此整个流程如下:
BIOS:开机执行的第一个程序
MBR:第一个开机设备的第一个扇区内的主引导分区块,里面包含引导加载程序
引导加载程序(Boot Loader):可读取内核文件的软件
内核文件:执行操作系统的功能
主分区与扩展分区最多只能有4个,扩展分区最多只能有一个,IDE硬盘最多有59个逻辑分区(5~63),SATA硬盘有11个逻辑分区(5~15)
如果是SATA硬盘,则这4个分区在系统中的设备文件名如下:
P1:/dev/sda1 P2:/dev/sda2 P3:/dev/sda3 P4:/dev/sda4