硬盘接口和协议,硬盘分区
存储接口和协议
- IDE、SCSI 已过时,被 SATA 和 SAS 取代。
- SATA(HDD & SSD)适合大容量存储,但性能一般。
- SAS 适用于企业级 HDD/SSD,支持多设备级联,可靠性高。
- NVMe(PCIe/M.2/U.2)是当前最快的 SSD 方案,适用于高性能计算。
- 选择存储设备时,优先考虑 NVMe SSD,SATA 仅适合预算有限或大容量需求的情况。
不同存储设备的协议 & 接口对比
存储类型 | 协议 | 接口 | 应用场景 |
---|---|---|---|
HDD(老旧型号) | IDE | IDE(PATA) | 早期 PC,光驱,已淘汰 |
HDD(主流型号) | SATA | SATA 3.0 | 机械硬盘,大容量存储 |
HDD(企业级) | SAS | SAS 12G | 服务器存储,高可靠性 |
SSD(入门级) | SATA、AHCI | SATA 3.0、M.2(SATA) | 适合低成本 SSD 方案 |
SSD(高性能) | NVMe | PCIe、M.2(NVMe)、U.2 | 高速存储、游戏、数据中心 |
企业级 SSD | NVMe、SAS | PCIe、U.2、SAS | 服务器、高性能存储 |
硬盘存储协议
存储协议定义了数据在存储设备与主机之间的传输方式:
协议 | 适用设备 | 特点 | 带宽 |
---|---|---|---|
IDE(ATA/Parallel ATA, PATA) | 旧式 HDD、光驱 | 并行传输,速率低,已被淘汰 | 133 MB/s(ATA-7) |
SCSI(Small Computer System Interface) | 服务器级 HDD、磁带机 | 高速并行传输,支持多设备 | 640 MB/s(Ultra-640 SCSI) |
SATA(Serial ATA) | HDD、SATA SSD | 串行传输,速率比 IDE 高 | 6 Gbps(SATA 3.0) |
SAS(Serial Attached SCSI) | 企业级 HDD、SAS SSD | 串行 SCSI,支持级联设备,高可靠性 | 12 Gbps(SAS 3.0) |
AHCI(Advanced Host Controller Interface) | SATA HDD、SATA SSD | 传统 SATA 控制协议,低并行度 | 6 Gbps(SATA 3.0) |
NVMe(Non-Volatile Memory Express) | NVMe SSD | 专为 SSD 设计,超低延迟 | 32 Gbps(PCIe 3.0 x4),64 Gbps(PCIe 4.0 x4) |
硬盘存储接口
存储接口决定了设备的物理连接方式及最大带宽:
接口 | 协议支持 | 适用设备 | 最大带宽 |
---|---|---|---|
IDE(PATA) | IDE | 旧式 HDD、光驱 | 133 MB/s |
SCSI | SCSI | 服务器级 HDD、磁带机 | 640 MB/s |
SATA 3.0 | SATA、AHCI | HDD、SATA SSD | 6 Gbps |
SAS 12G | SAS | 企业级 HDD、SAS SSD | 12 Gbps |
PCIe 3.0 x4 | NVMe | NVMe SSD | 32 Gbps |
PCIe 4.0 x4 | NVMe | NVMe SSD | 64 Gbps |
M.2(SATA) | SATA | SATA SSD | 6 Gbps |
M.2(NVMe) | NVMe | NVMe SSD | 32 Gbps(PCIe 3.0 x4)或 64 Gbps(PCIe 4.0 x4) |
U.2(NVMe) | NVMe | 企业级 NVMe SSD | 32 Gbps |
CFExpress | NVMe | 高速存储卡 | 最高 32 Gbps |
硬盘分区及使用
硬盘分区是指将一个物理硬盘划分为多个逻辑部分的过程,每个逻辑部分被称为一个分区。每个分区可以独立地格式化为不同的文件系统,并且可以像独立的存储设备一样使用。
常见分区表类型:MBR(Master Boot Record)和GPT(GUID Partition Table):
特性 | MBR | GPT |
---|---|---|
最大分区大小 | 2TB | 几乎无限制(取决于操作系统) |
最大分区数量 | 4 个主分区(或 3 个主分区 + 1 个扩展分区) | 128 个(默认,可更多) |
兼容性 | 兼容所有操作系统 | 需要 UEFI 支持(旧 BIOS 可能不支持) |
安全性 | 无校验和 | 有校验和,支持数据完整性检查 |
分区表备份 | 无 | 有备份分区表 |
分区表类型及注意事项
- 一块物理硬盘只能采用一种类型的分区表格式,要么是MBR(Master Boot Record),要么是GPT(GUID Partition Table)。
- 不需要一次性完成所有分区,可以根据需要随时调整分区布局,包括创建新分区、删除现有分区或者调整分区大小。
分区的主要目的是更好地组织数据、安装多个操作系统或提高系统的性能和可靠性。
MBR详解
MBR(Master Boot Record)(主引导记录)是传统硬盘分区表格式的一种,广泛应用于早期的个人电脑和服务器上。
MBR结构概述
MBR位于磁盘的第一个扇区(通常为512字节),包含以下几个关键部分:
引导代码(Boot Code):占446字节,负责加载操作系统的引导加载程序。这部分代码在系统启动时由BIOS执行,用于找到并加载操作系统。
分区表(Partition Table):占64字节,描述了最多四个主分区的信息。每个分区表项占用16字节,因此理论上MBR只能直接管理四块主分区。如果需要更多分区,则可以创建一个扩展分区,在该扩展分区内建立逻辑分区。
分区表结束标志(Magic Number):最后两个字节固定为
0x55AA
,作为MBR的有效性检查标志。
分区类型:
- 主分区(Primary Partition):可以直接安装操作系统并且能够独立引导的分区。
- 扩展分区(Extended Partition):为了克服MBR只能定义四个主分区的限制而引入的概念。扩展分区本身不能存储数据或安装操作系统,但它可以包含多个逻辑分区。
- 逻辑分区(Logical Partition):存在于扩展分区内的分区,理论上数量没有严格限制,但受限于可用的磁盘空间。
MBR的优点与缺点
优点:
- 广泛支持:几乎所有操作系统和硬件都支持MBR。
- 简单易用:对于大多数用户来说,配置和使用相对简单。
缺点:
- 分区数量限制:仅能创建最多四个主分区,或者三个主分区加一个扩展分区。
- 兼容性问题:不支持超过2TB大小的磁盘。
- 安全性较低:MBR容易受到病毒攻击,因为它的位置固定且重要。
使用场景:
虽然GPT已经成为新系统的标准,但在以下情况下MBR仍然是合适的选择:
- 需要确保与旧版软件和硬件的最大兼容性。
- 操作系统或某些应用程序明确要求使用MBR。
- 对于小于2TB的磁盘,特别是在不需要超过四个分区的情况下,MBR足够使用且简单直接。
尽管随着GPT(GUID Partition Table)的出现,MBR逐渐被取代,但由于其广泛的兼容性和对旧系统的支持,仍然在许多场景中使用。
GPT分区
GPT(GUID Partition Table)是现代硬盘使用的分区表标准,它是UEFI(统一可扩展固件接口)标准的一部分。相比于传统的MBR(主引导记录),GPT提供了更大的灵活性和可靠性,特别适合大容量硬盘和需要更多分区的场景。
GPT结构概述
GPT的设计旨在克服MBR的一些限制,如分区数量限制和支持的最大磁盘大小等。以下是GPT的主要组成部分:
保护MBR(Protective MBR):
- 位于磁盘的第一个扇区,目的是为了防止不支持GPT的旧工具误认为磁盘未分区或格式化。
- 包含一个类型为0xEE的单一分区条目,覆盖整个磁盘空间,告诉这些工具该磁盘使用了GPT而不是MBR。
主GPT头(Primary GPT Header):
- 紧随保护MBR之后,通常位于磁盘的第二个扇区(LBA 1)。
- 包含了关于磁盘的基本信息,如分区表的位置、大小以及校验和等。
分区表(Partition Entries):
- 存储在主GPT头之后的多个连续扇区中。
- 每个分区条目占用128字节,允许定义大量的分区(理论上最多可达128个,但实际受操作系统支持的数量限制)。
- 每个条目包含了分区的起始和结束位置、类型GUID、唯一标识符GUID以及其他属性。
备份GPT头(Backup GPT Header)和备份分区表:
- 备份GPT头位于磁盘的最后一个扇区。
- 同样包含了一个完整的分区表副本,用于数据恢复和冗余保护。
分区特点
- 分区数量:理论上没有明确的数量限制,但在实践中,操作系统可能会施加限制。例如,在Windows系统中,默认情况下可以创建多达128个分区。
- 分区大小:支持超过2TB的大容量硬盘,因为GPT使用64位来表示分区大小,这意味着它可以管理高达9.4ZB(zettabytes)的数据量。
- 分区类型:每个分区都有一个唯一的GUID(全局唯一标识符),这使得分区识别更加准确和安全。
使用场景
- 大容量硬盘:对于大于2TB的硬盘,必须使用GPT,因为MBR只能处理最大2TB的存储空间。
- 多分区需求:当需要创建超过四个主分区时,GPT是一个更好的选择。
- 增强的数据安全性与可靠性:由于有备份GPT头和分区表的存在,即使主GPT损坏,也可以通过备份进行恢复。
常见文件系统
FAT32 (File Allocation Table 32)
- 特点: 兼容性好,支持多种操作系统,但单个文件大小限制为4GB,分区大小限制为2TB。
- 适用场景: USB闪存驱动器、SD卡等移动存储设备。
exFAT (Extended File Allocation Table)
- 特点: 支持大文件和大分区,兼容性好,适合闪存设备。
- 适用场景: 大容量USB闪存驱动器、SD卡。
NTFS (New Technology File System)
- 特点: 支持大文件和大分区,具有文件权限、加密、压缩等功能,适合现代操作系统。
- 适用场景: Windows系统盘和数据盘。
HFS+ (Hierarchical File System Plus)
- 特点: 支持大文件和大分区,具有日志功能,适合macOS。
- 适用场景: macOS系统盘和数据盘。
APFS (Apple File System)
- 特点: 支持加密、快照、空间共享等功能,优化了SSD性能。
- 适用场景: macOS High Sierra及更高版本的系统盘和数据盘。
ext4 (Fourth Extended File System)
- 特点: 支持大文件和大分区,具有日志功能,适合Linux系统。
- 适用场景: Linux系统盘和数据盘。
XFS
- 特点: 高性能,支持大文件和大分区,适合高吞吐量应用。
- 适用场景: Linux服务器和数据中心。
Btrfs (B-tree File System)
- 特点: 支持快照、压缩、RAID等功能,适合现代Linux系统。
- 适用场景: Linux系统盘和数据盘。
文件系统 | 最大文件大小 | 最大分区大小 | 主要特点 | Windows | Linux | macOS |
---|---|---|---|---|---|---|
FAT32 | 4GB | 2TB | 兼容性好 | ✅ | ✅ | ✅ |
exFAT | 16EB | 128PB | 大文件支持 | ✅ | ✅ | ✅ |
NTFS | 16TB | 256TB | 文件权限、加密 | ✅ | 部分支持 | 只读 |
HFS+ | 8EB | 8EB | 日志功能 | ❌ | ✅ | ✅ |
APFS | 8EB | 8EB | 加密、快照 | ❌ | ❌ | ✅ |
ext4 | 16TB | 1EB | 日志功能 | ❌ | ✅ | ❌ |
XFS | 8EB | 8EB | 高性能 | ❌ | ✅ | ❌ |
Btrfs | 16EB | 16EB | 快照、压缩 | ❌ | ✅ | ❌ |
不同操作系统下的文件系统差异:
- Windows 主要使用 NTFS 和 exFAT,兼容 FAT32。
- Linux 主要使用 ext4、XFS 和 Btrfs,兼容 FAT32 和 exFAT。
- macOS 主要使用 APFS 和 HFS+,兼容 FAT32 和 exFAT。
FAT32 和 exFAT 在三大操作系统中均有良好支持,适合跨平台使用