当我从设备读取分区表(MBR 或 GPT)时,这些数字是以逻辑 block 大小为单位还是标称 512 字节扇区为单位?令人惊讶的是,我无法通过谷歌搜索找到规范的答案。
最佳答案
根据进一步调查,结论已被覆盖
虽然几乎所有驱动器都使用 512 字节逻辑扇区,但现代分区表使用 LBA 地址,LBA 单元大小是设备的逻辑扇区大小,目前可能高达 4096 字节。
最后,我将有关单元大小的问题发布到主 GNU parted(分区编辑器)邮件列表,并收到 this response 。具体来说:
“LBA 始终指驱动器的 block 大小。因此它可能是 512 或 4096 或其他值,具体取决于驱动器报告的内容。”
之前的答案版本不正确:[[分区表(在 MBR 和其他中)指的是 512 字节 block /逻辑扇区。例如,参见https://en.wikipedia.org/wiki/Master_boot_record#PTE.]]
背景信息
磁盘物理磁盘扇区大小的报告似乎基本上是通过 ATA-8 规范中的命令(特别是“IDENTIFY DEVICE”命令)完成的。兼容性问题(最常讨论的)是 I/O 操作的对齐。显然,大多数驱动器都处理 512 字节对齐,但性能会受到影响,尽管有些驱动器标榜为“4k native”或“4kn”,但根本不支持 512 字节对齐 I/O。一般来说,具有物理 4k 扇区的驱动器使用所谓的“高级格式”,如果您需要更多信息,这可以帮助您搜索。
这篇文章https://linuxconfig.org/linux-wd-ears-advanced-format有一些相对清晰的讨论,特别是如果你是 Linux 用户。无论如何,在 Linux 上,“parted -l”命令会报告物理和逻辑扇区大小,并且parted 还知道如何针对高级格式设备适本地对齐分区。
此外,您可能会找到这篇文章 http://www.seagate.com/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/关于这个问题的信息丰富且令人放心。
关于partition - 分区表是以逻辑 block 大小为单位还是以512字节为单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39474118/