WD10EZEX(1TB原厂)仅显示33MB容量,如何修复?
解决WD10EZEX硬盘Windows显示33MB但Linux识别正常的问题
嘿,这个情况我之前帮朋友排查过,大概率是硬盘固件层面的容量限制在搞鬼——Host Protected Area (HPA) 或者 Device Configuration Overlay (DCO),这俩机制Linux有时候会自动忽略,但Windows会严格遵循,所以才出现两边识别不一致的情况。给你一步步来解决:
第一步:确认HPA是否锁了容量
你已经用到了hdparm -N /dev/sda,这个命令就是用来查看HPA状态的。正常1TB的WD10EZEX应该显示max sectors = 1953525168(对应1TB的扇区总数),如果输出的数值远小于这个,那就是HPA把硬盘容量给隐藏了。
如果是HPA的问题,直接在Linux下解除限制:
- 执行命令:
sudo hdparm -N p1953525168 /dev/sda(p后面的数字填你从gparted里看到的硬盘总扇区数,或者直接用1953525168这个标准值) - 重启电脑后再进Windows,看看容量是否恢复正常
第二步:如果HPA没问题,排查DCO
DCO比HPA更隐蔽,hdparm默认检测不到,需要用专门的命令查看:
- 执行:
sudo hdparm --dco-identify /dev/sda
如果输出里的最大容量不是1TB,就需要重置DCO: - 执行:
sudo hdparm --dco-restore /dev/sda
⚠️ 注意:这个操作会清除硬盘上的所有数据!一定要先备份好重要文件再执行!
第三步:修复Windows分区表缓存
如果上面两步都搞定了还是不行,大概率是Windows的分区表缓存出问题了:
- 右键「此电脑」→「管理」→「磁盘管理」
- 找到这块WD硬盘,右键点击「初始化磁盘」,重新选择GPT或MBR分区表(根据你的需求选)
- 之后重新分区格式化,应该就能正常识别全容量了
另外补充一句:如果是刚入手的新硬盘出现这个问题,也可以试试WD官方的Data Lifeguard Diagnostics工具检测,但优先用上面的Linux命令,操作更直接高效。
内容的提问来源于stack exchange,提问作者Vasiliy Terkin
相关产品推荐
相关产品推荐

