为什么 fdisk 坚持在扇区 65535 (MiB 31.9995...) 开始第一个分区

Dav*_*fer 4 partition ssd fdisk

所以,我在这里有这些新奇的外部三星 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
Run Code Online (Sandbox Code Playgroud)

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

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

所以我只想使用fdisk. fdisk坚持第一个分区从扇区 65535 开始。最大化它,它在扇区 488397167 结束,比工厂发布的分区更远一点:

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1       65535 488397167 488331633 232.9G 83 Linux
Run Code Online (Sandbox Code Playgroud)

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

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

fro*_*utz 7

如果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
Run Code Online (Sandbox Code Playgroud)