partition - 分区表是以逻辑 block 大小为单位还是以512字节为单位?

标签 partition

当我从设备读取分区表(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/

相关文章:

linux - Windows MBR 被 linux 命令覆盖 dd if=/dev/zero of=/dev/sdb bs=512 count1

hive - hive中分区列允许的数据类型是什么?

hive - 动态分区不能是静态分区的父级 '3'

MySQL表按月分区

java - 卡夫卡 : what's the best way to dynamically determine the number of partitions in a topic from the consumer side?

oracle - 了解表是如何分区的

javascript - d3.js v4 父级值大于子级总和的分区 (node.sum)

mysql - 如何获取MySql分区的DATA DIRECTORY?

c++ - 带有两个返回语句的 std::partition

google-bigquery - 如何使用 DBT 在 BigQuery 中对表进行分区