【计算机硬件】硬盘的 HPA 和 DOC

HPA 与 DCO

二者是ATA/SATA硬盘固件层面的两种隐藏区域机制,普通Windows、磁盘管理器、DiskGenius默认看不到,只能通过底层ATA命令访问,早年大量用于OEM笔记本恢复分区、固件工具存储,取证、工控硬盘经常遇到。

1、HPA Host Protected Area 主机保护区域

ATA‑4标准定义,位于硬盘LBA地址的尾部

  • 原理:SET MAX ADDRESS 修改硬盘对外报告的最大LBA地址。硬盘真实总容量不变,对外只暴露前面一部分;尾部剩下的扇区就是HPA,普通OS/BIOS无法寻址。
  • 关键特点
    1. 不修改SMART原生总容量 ,用READ NATIVE MAX ADDRESS可以读出硬盘真实物理容量,可以直接用ATA命令解除HPA,恢复全部容量。
    2. 可以挂到别的电脑上,HPA配置保留。
    3. 典型用途:联想/戴尔老笔记本系统恢复镜像、硬盘厂商诊断工具、预桌面环境。
    4. 临时属性:清除HPA相对简单,hdparm、PC3000都可以重置。

Linux检测命令:hdparm -N /dev/sda,对比max sectorsnative max sectors是否一致。

2、DCO Device Configuration Overlay 设备配置覆盖(你说的DOC)

ATA‑6引入,比HPA层级更深,硬盘固件内部配置

  • 原理:修改硬盘IDENTIFY DEVICE返回的全部参数:不仅改报告容量,还可以屏蔽硬盘硬件特性(关闭NCQ、关闭缓存等),SMART也会上报修改后的虚假容量
  • 关键特点
    1. 优先级高于HPA:DCO开启后,甚至可以把HPA本身也隐藏掉。
    2. 固化在硬盘固件配置,部分硬盘DCO有签名锁,普通命令无法直接清除,恢复难度远大于HPA。
    3. 原始用途:OEM工厂,不同物理容量硬盘统一伪装成同一规格出货;二手盘市场会遇到人为DCO篡改容量。
    4. 普通分区软件完全无法识别真实磁盘大小。

HPA vs DCO对比简表

项目 HPA DCO
标准 ATA‑4 ATA‑6
作用层级 ATA接口层 硬盘固件层
SMART真实容量 不变,可读取原生最大值 SMART返回虚假容量
恢复难度 低,标准ATA命令即可清除 高,部分硬盘锁死,需要专业工具
能否屏蔽硬件功能 不能 可以关闭硬盘特性(缓存、NCQ)
典型场景 OEM系统恢复分区 工厂统一规格、二手盘篡改容量

现实场景注意

  1. Windows XP时代工控硬盘、老笔记本经常存在HPA;DCO家用盘很少,多见于翻新盘、OEM工厂流出盘。
  2. 普通格式化、重分区无法清除HPA/DCO,只是操作可见部分;尾部隐藏扇区数据依然保留。
  3. 做磁盘镜像、数据销毁时,必须专门解除HPA/DCO,否则镜像会漏掉尾部隐藏区域。

通俗理解

  • HPA:告诉系统"硬盘到此结束",尾巴一截藏起来,硬盘自己知道真实大小,钥匙公开。
  • DCO:硬盘固件自己骗自己,对外全盘谎报参数,部分硬盘钥匙锁死。
相关推荐
kyle~3 小时前
x86 汇编LOCK前缀 --- 硬件架构向软件提供的核心同步原语
汇编·c++·性能优化·硬件架构·实时系统
luiyarch2 天前
汽车电子ISO 26262功能安全系列(第23期):硬件架构指标——SPFM、LFM、PMHF的达标攻略
安全·汽车·硬件架构
luiyarch3 天前
汽车电子ISO 26262功能安全系列(第19期):硬件开发入门——从HSR到硬件架构设计
汽车·硬件架构·安全架构
A.说学逗唱的Coke4 天前
【数据库专题】ClickHouse 深度实战:从列式存储原理到 PB 级海量日志与可观测性分析
数据库·clickhouse·硬件架构
ZJU_统一阿萨姆6 天前
【算子开发】算子融合与Softmax_LayerNorm实现
人工智能·算法·语言模型·硬件架构
ZJU_统一阿萨姆6 天前
【算子开发】扫描(Scan)与前缀和
开发语言·arm开发·架构·系统架构·硬件架构
hz567898 天前
视频会议远程终端选型要点与部署实践
硬件架构·音视频·信息与通信·智能硬件
星核0penstarry8 天前
边缘AI选型:记录NVIDIA Holoscan测试
人工智能·硬件架构·压力测试·ai编程
硅农程序猿13 天前
从需求到硅片| 一文讲清数字芯片设计流程
arm开发·硬件架构·risc-v