我有一些 HDD 磁盘,它有 4096 个物理扇区大小和 512 个字节逻辑大小。它是SATA磁盘。现在我想在 Linux 中使用 4kiB 作为逻辑扇区大小 - 而不是 512 字节。我怎样才能做到这一点?是否可以将此磁盘切换为仅在 4kiB 模式下运行?
如何确保我创建的所有分区都与 4kiB 对齐?我是否必须手动计算给定分区的开始和结束扇区数才能对齐 4kiB?
我使用 Linux,有时使用 Windows。我主要是使用 Linux fdisk 创建分区 - 而不是 Windows 分区。也许使用“fdisk -b 4096”就足够了?嗯...可能不会,因为 Linux 如何知道给定磁盘使用的扇区大小?
除非您使用选项强制使用旧版 MS-DOS 兼容模式,或使用专家模式为分区的开头和结尾指定确切的 LBA 块编号,否则大多数现代分区工具(Linux 和其他)默认情况下会将分区对齐为 1MB 的倍数. 这也是现代 Windows 所做的,它保证与 4kB 扇区大小和各种 SSD 和 SAN 存储设备的兼容性,这些设备可能需要与 2 的更大幂对齐才能获得最佳性能。
您可以使用lsblk -t来检查每个分区的对齐偏移量。如果ALIGNMENT列中的值为零,那么就内核所知,分区应该是最佳对齐的。
要切换 HDD 扇区大小,您首先需要验证您的 HDD 是否支持重新配置逻辑扇区大小。更改逻辑扇区大小很可能会使磁盘上的所有现有数据无法使用,需要您完全重新分区磁盘并从头开始重新创建任何文件系统。这hdparm --set-sector-size 4096 /dev/sdX将是更改扇区大小的“标准”方法,但如果有供应商特定的工具,我通常更愿意使用它 - 以防万一特定磁盘需要供应商特定的特殊步骤。
在 NVMe SSD 上,nvme id-ns -H /dev/nvmeXnY将告诉(除其他外)SDD 支持的扇区大小、与每个扇区大小关联的 LBA 格式编号以及当前使用的扇区大小。如果您希望更改扇区大小,并且实际支持所需的大小,您可以使用nvme format --lbaf=<number> /dev/nvmeXnY将特定 NVMe 命名空间重新格式化为不同的扇区大小。
| 归档时间: |
|
| 查看次数: |
3513 次 |
| 最近记录: |