为什么 fdisk 坚持在扇区 65535 (MiB 31.9995...) 处启动第一个分区

为什么 fdisk 坚持在扇区 65535 (MiB 31.9995...) 处启动第一个分区

因此,我这里有一款新型外置三星 T3 USB SSD 驱动器,容量为 250 GB。

让我们看看fdisk对此有何评论:

Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0x7df0da81

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1  *       64 488392128 488392065 232.9G  7 HPFS/NTFS/exFAT

扇区仍然是 512 字节大(我怀疑在软件层下面,情况有点不同),最小 I/O 大小是 1 个扇区,最佳 I/O 大小是 3553920 字节 = 65535 扇区 ≈ 31.995 MiB

我们看到工厂执行的格式化包含从块 64 到块 488392128 的单个分区,即 ~232.88 GiB 或 ~244.19 GB。

所以我只想使用重新分区fdiskfdisk坚持第一个分区从扇区 65535 开始。最大化它,它结束于扇区 488397167,比工厂发行的分区远一点:

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1       65535 488397167 488331633 232.9G 83 Linux

我知道 1 MiB 对齐边界,它通过fdisk将第一个分区放在扇区 2048 来体现。其原因似乎是一个历史事故,因为在扇区中存在疣。逻辑磁盘管理器微软Vista。

但是这个新的 65535 扇区“对齐”又如何呢?

答案1

如果它65535指的是 512 字节扇区,则根本不会对齐。不幸的是,fdisk使用 dos 分区可以获得有关驱动器几何形状的有趣想法。

忽略任何fdisk试图做的事情,1MiB无论如何只使用对齐。如果由于任何特殊原因不需要 dos 分区,请切换到 gpt。如果fdisk不起作用,请切换到partedgdisk、 或任何有效的方法。

parted /dev/sdb
) unit mib    # parted uses stupid unit by default
) mklabel gpt # beats msdos by a long shot
) mkpart boot 1 512
) mkpart swap 512 2048
) mkpart root 2048 20480
) mkpart home 20480 -1
) print free  # use this whenever you want to see what's available

相关内容