硬盘接口

   日期:2024-12-26    作者:p7bwc 移动:http://mip.riyuangf.com/mobile/quote/24249.html

IDE(Integrated Drive Electronics,即电子集成驱动器,是曾经主流的硬盘接口(同时也作为光驱的接口)。IDE又称ATA(Advanced Technology Attachment,即“高级技术附件”。稍晚时间后,又出现了EIDE(Enhanced IDE)及其他改进版本,从当下的视角再看,我们通常已经不再区分IDE与EIDE了。在SATA(Serial ATA)出现后,ATA改名为PATA(Parallel ATA)以作区分。PATA活跃于1986年至2013年。

硬盘接口

SCSI(Small Computer System Interface,即小型计算机系统接口,可以连接硬盘、软驱、光驱、打印机等设备。SCSI出现的原因主要是因为IDE接口的硬盘转速太慢,传输速率太低。从原理层面看,SCSI与IDE一样使用的是并行技术,因此在SAS(Serial Attached SCSI)出现后SCSI就通常被称为并行SCSI了。

此后又出现了SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行连接SCSI) 等接口,使用了串行技术,提高了数据传输速率。

我们可以将,SCSI和SAS划归为另一个系列,SCSI和SAS价格较高,在各自的年代都是用在高级的服务器上的,私人电脑上较少使用。而将IDE和SATA划归为一个系列,它们用于一般电脑或PC上,SATA在当下非常普遍。

在Linux上,IDE硬盘会被标识为hd,例如,在一个IDE接口上接着的两块硬盘会被分别标识为hda与hdb;出现SCSI硬盘后,Linux将其标识为sd,如sda、sdb。此后所有除IDE接口外的硬盘全部沿用SCSI硬盘的标识标准,即sd,没有再做改动。

HDD(Hard Disk Drive,硬盘驱动器,常指机械硬盘(Mechanical Hard Disk,区别于固态硬盘(Solid State Disk/Drive)。

机械硬盘组成与容量

机械硬盘由盘片、磁头及其它辅助机构组成。盘片(Disk)是硬盘中承载数据存储的介质,其上附着着磁粉,磁粉的S/N极将分别代表着二进制中的0和1,从而表示二进制数据。利用磁头(Head)的磁力控制指定的一些磁粉的方向,就存储了特定的信息。

如上图所示,盘片被分为很多条磁道(Track,即表面上的一些同心圆,磁道是从盘片外圈往内圈编号0磁道,1磁道…。每一个磁道又按512个字节为单位划分为等分,叫做扇区(Sector)。

磁盘是由多个盘片叠加在一起,互相之间由垫圈隔开。盘片上下两面各有一个磁头,每张盘片同一位置的磁道,组成了柱面(Cylinder )。显然,磁道数=柱面数。

知道CHS(Cylinders、Heads、Sectors)的数量后,就可以确定磁盘的容量

磁盘容量 = 柱面数(磁道数)× 磁头数 × 扇区数 × 扇区大小(512 Bytes

固态硬盘

固态硬盘没有采用磁性介质作为存储介质,而是使用半导体材料来存储数据。

固态硬盘的内部构造十分简单,固态硬盘内主体其实就是一块PCB板,而这块PCB板上最基本的配件就是控制芯片,缓存芯片(部分低端硬盘无缓存芯片)和用于存储数据的闪存芯片。如下图所示

固态硬盘也有扇区(Sector)的概念,与机械硬盘一致。

常见的硬盘运行模式有AHCI(Advanced Host Controller Interface,高级主控接口)模式与IDE模式,其中AHCI在Win7以后得到全面支持,IDE则兼容更多系统。IDE不支持一些新技术,也就难以发挥硬盘的速度性能,这一问题在机械硬盘时代显得没有那么严峻,然而伴随着SSD的兴起,这一问题已经变得极为严峻,也就是说SSD在AHCI模式下与在IDE模式下有很大的性能差异。因此,近年来,AHCI正在逐步淘汰IDE。两者的具体对比可查阅下表

一块全新的硬盘,必须进行初始分区。初始分区可以分为MBR分区和GPT分区两种形式,对应MBR分区表和GPT分区表。

MBR分区形式

如上图所示,MBR分区形式下,硬盘的第一个扇区是主引导扇区,由三个部分组成:主引导记录(Master Boot Record,MBR)、硬盘分区表(Disk Partition Table,DPT)和硬盘有效标志。

MBR占446个字节,负责从活动分区(活动分区是即启动分区,安装有系统)中装载并运行系统引导程序。

DPT占64个字节,记录着硬盘中分区的数量以及每一分区的大小,每个分区的信息用16个字节表示,因此限制了分区的数量:不能超过4个主分区或者3主分区+1扩展分区,而扩展分区可以划分为任意数量的逻辑分区(扩展分区不可直接使用,需要转化为逻辑分区方可使用)【注1:逻辑分区数量受系统层级的限制,在Linux中,IDE硬盘最多有59个逻辑分区(5-63,SATA硬盘则有11个逻辑分区(5-15)】。 这16字节的具体内容是:启动标志、起止磁头号、起止扇区号、起止柱面号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)。这里又暴露了MBR分区的一个缺陷:用4个字节表示分区总扇区数, 最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2.2TB。

硬盘有效标志占2个字节,又被称为幻数(Magic Number,固定为55AA。如果该标志错误系统就不能启动。

GPT分区形式

GPT是GUID(Globally Unique Identifier Partition Table) Partition Table的缩写,意即全局唯一标识符分区表。

GPT分区的LBA0是保护性MBR【注2:LBA意为逻辑块地址(Logical Bolck Address,每个逻辑块的大小是512字节,这是与扇区不同的定位方式 】,为了实现有限的兼容性,GPT仍然为MBR保留了这一扇区,用来阻止基于MBR的磁盘工具识别错误,从而覆盖GPT磁盘。

LBA1是GPT头(Primary GPT Header,LBA-1是备份GPT头(Secondary GPT Header,这两部分内容是一样的。GPT头的具体内容在此不做详细说明了。

LBA2-LBA33是分区表项,LBA-33 - LBA-2是备份分区表项,两部分内容也是一样的。GPT就是为了避免MBR的两大缺点:在GPT中,分区表项的数量有MBR的4项增多到128项,因此允许划分128个主分区;同时每项由MBR的16字节扩大到128字节,描述每个分区的开始扇区和结束扇区都用8个字节,因而最多支持2的64次方的扇区数,即支持最大约9.4ZB大小的分区。分区表项的具体内容如下

MBR VS. GPT

MBR的缺点之一是不支持大于2.2T的分区,而GPT可以支持18EB的硬盘

MBR还有一个缺点是限制磁盘不能超过4个主分区或者3主分区+1扩展分区(包含随意数目的逻辑分区,而GPT则没有此限制。

GPT也有缺点,GPT分区硬盘在修复磁盘坏轨、做资料恢复、系统还原等任务时都会遇到麻烦,MBR则较为方便。

GPT 定义是 Intel提出的用以替代BIOS以实现对更多硬件的支持的规范:EFI( Extensible Firmware Interface ) 的一部分。例如,使用EFI/UEFI就可以引导GPT分区下的系统,可以将系统安装到2T容量以上的硬盘中。

考虑到兼容性,在EFI/UEFI中可以设置Legacy(传统)模式,从而引导MBR分区下的系统了。

而BIOS只可以引导MBR分区下的系统,不可以引导GPT分区下的系统(但支持GPT分区的硬盘做数据盘)。

查看分区类型

Windows系统下

在“此电脑–管理–磁盘管理”中右键查看“磁盘0”或“磁盘1”属性,在“卷”选项卡下的“磁盘分区形式”即是该磁盘分区类型。

Linux系统下

使用命令查询

 
 

Partition Table显示gpt则说明是GPT分区表,显示msdos则说明是MBR分区表。

MBR与GPT的选择
1. 作为系统盘

在Intel的大力推动下,现在很多PC、服务器出厂就是使用EFI/UEFI来启动系统的,磁盘的分区表也是GPT。

如果换上一块全新的磁盘,并希望使用MBR分区表,则需要在EFI/UEFI中切换Legacy模式,否则安装系统时会出错,例如:“Windows 无法安装到此磁盘。选定磁盘不是 GPT 分区类型的磁盘”。

2. 作为数据盘

GPT或是MBR都可以被在EFI/UEFI引导的系统下使用,没有差别。如果需要大于2.2T的分区或是更高的主分区数要求,则选择GPT。

总的来说,作为系统盘,如果需要在2.2T容量以上的分区安装系统,或者对主分区数有更高要求,就必须使用GPT+EFI/UEFI,否则选择GPT+EFI/UEFI、MBR+BIOS或者MBR+EFI/UEFI(Legacy)都是可以的;而作为数据盘,选择的随意性更大,不需要考虑EFI/UEFI的影响。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号