faq_2026-09-27_st_2
title: “怎么查看硬盘分区是不是4K对齐了没对齐会有哪些影响” description: “硬盘读写速度莫名偏低,可以先查分区是否 4K 对齐:Windows 用 msinfo32 查分区起始偏移量,能被 4096 整除即对齐;Linux 用 parted 看起始扇区是否为 8 的倍数。本文给出完整核验步骤、未对齐的性能代价与处理办法。” slug: check-partition-4k-alignment date: 2026-09-27 categories: [“常见问答”] draft: false
新做的阵列装完系统,读写速度总比预期低一截;或者把老系统的分区克隆到新盘后越用越觉得慢。排查了一圈硬件没问题,这时候该查一个经常被跳过的项目——分区 4K 对齐。它不影响系统能不能启动,只悄悄影响性能,所以特别容易被漏掉。
原因分析
现在的机械硬盘和固态硬盘物理扇区基本都是 4096 字节(4K),也就是常说的 Advanced Format。文件系统读写以逻辑扇区为单位,如果分区的起始位置没有落在物理扇区的边界上,一个逻辑扇区就会横跨两个物理扇区。写一个小文件,硬盘底层得读出两个物理扇区、改完再写回去,等于每次写入都多背一次读改写的开销。随机小 IO 越多的业务,这笔开销放大得越明显,固态盘上还会额外增加写入放大、加快颗粒磨损。
没对齐的分区多是两个来路:早年按 CHS 时代惯例从第 63 扇区起始的老分区,以及部分克隆工具原样照搬旧分区表,把错位的起点一并带到了新盘。
分步解决
- Windows 图形界面查。运行 msinfo32 打开系统信息,依次展开组件、存储、磁盘,找到分区起始偏移量一栏,记下这个字节数。
- 做整除判断。用起始偏移量除以 4096,能整除就是 4K 对齐;除不尽就是没对齐。命令行可以用 wmic partition get Name,StartingOffset 一次列出所有分区,PowerShell 下 Get-Partition 配合 Offset 属性同样可行。
- Linux 下查。parted 设备路径进入交互后 print,看分区表输出的起始扇区号;逻辑扇区 512 字节的盘上,起始扇区是 8 的倍数即 4K 对齐。fdisk -l 也能看起始扇区,判断口径相同。
- 确认未对齐的影响范围。只是数据分区未对齐,可以只处理该分区;系统分区未对齐,建议借重装或迁移窗口一并解决。
- 处理未对齐。新盘直接删分区重建,现代分区工具默认按 1MiB 边界对齐,天然满足要求;有数据的分区先备份,再用分区工具的对齐迁移功能或复制法重建分区。生产环境务必先备份、选业务低峰操作。
- 重建后复验。按第 1、3 步再查一次偏移量,并用测试工具跑一轮小文件随机读写,前后对比确认性能回到正常水位。
预防
分区一律用现代工具默认参数创建,1MiB 起始对齐留足余量;克隆迁移做完,把偏移量核验固定写进收尾清单,而不是等速度异常了再回头找。这个检查花不了一分钟,漏掉它付出的却是盘在日常读写里持续放大的性能税。