如何计算分区开始结束扇区?

Ale*_*nux 8 fdisk hard-disk external-hdd mkfs

我想知道在对我的 ext 进行分区时要选择什么开始和结束值。SSD 使用fdisk.

fdisk建议2048-250069679, default 2048但 250069679 不能被 512 或 2048 整除。将开始和结束值设置为可以被 512 或 2048 或 4096 整除的数字不是更好吗?

例如:开始 4096 结束 250068992

命令(m 寻求帮助):p

磁盘 /dev/sda:119,2 GiB,128035676160 字节,250069680 个扇区
单位:1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa4b57300


命令(m 寻求帮助):n
分区类型
   p 主要(0 个主要,0 个扩展,4 个免费)
   e 扩展(逻辑分区的容器)
选择(默认 p):p
分区编号(1-4,默认 1): 
第一扇区(2048-250069679,默认2048): 
最后一个扇区,+扇区或 +size{K,M,G,T,P}(2048-250069679,默认 250069679): 

创建了一个类型为“Linux”且大小为 119,2 GiB 的新分区 1。


命令(m 寻求帮助):p
磁盘 /dev/sda:119,2 GiB,128035676160 字节,250069680 个扇区
单位:1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa4b57300

设备引导开始结束扇区大小 ID 类型
/dev/sda1 2048 250069679 250067632 119,2G 83 Linux

命令(m 寻求帮助):i
所选分区 1
         设备:/dev/sda1
          开始: 2048
            结束:250069679
        部门:250067632
      气缸数:15566
           大小:119,2G
             编号:83
           类型:Linux
    开始-C/H/S:0/32/33
      C/H/S 结束:206/29/63


mkfs.ext4 /dev/sda1
mke2fs 1.43.4(2017 年 1 月 31 日)
Ein Dateisystems mit 31258454 (4k) Blöcken 和 7815168 Inodes wird erzeugt。
UUID des Dateisystems: fdce9286-4545-447c-9cca-7d67f5bb9f43
位于 den Blöcken 的 Superblock-Sicherungskopien gespeichert: 
    32768、98304、163840、229376、294912、819200、884736、1605632、2654208、 
    4096000、7962624、11239424、20480000、23887872


fdisk -l
磁盘 /dev/sda:119,2 GiB,128035676160 字节,250069680 个扇区
单位:1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa4b57300

设备引导开始结束扇区大小 ID 类型
/dev/sda1 2048 250069679 250067632 119,2G 83 Linux

扇区数怎么会低于结束值?

命令(m 寻求帮助):i
所选分区 1
         设备:/dev/sda1
          开始: 2048
            结束:250069679
        部门:250067632
      气缸数:15566
           大小:119,2G
             编号:83
           类型:Linux
    开始-C/H/S:0/32/33
      C/H/S 结束:206/29/63

Ste*_*itt 7

对齐对于终端扇区无关紧要,至少不是出于性能原因。起始扇区的对齐会影响分区中的所有扇区;最后一个扇区的对齐只影响分区的最后几个扇区,如果有的话。

扇区从 0 开始编号;fdisk建议您磁盘上的最后一个扇区(有 250069680 个扇区)。

  Start: 2048
    End: 250069679
Sectors: 250067632
Run Code Online (Sandbox Code Playgroud)

是正确的,250069679减去2048加1是250067632:分区包含250067632个扇区,从偏移量2048开始。注意这对齐到4096字节:250067632是8的倍数(扇区包含518×52个字节,这里4096)。

根据您使用分区的方式,末端扇区的对齐可能很重要;例如,如果您要对 512e 磁盘(内部使用 4096 字节扇区但公开 512 字节逻辑扇区的磁盘)进行分区,并希望将其与cryptsetup4096 字节块一起使用以提高性能 ( cryptsetup luksFormat --sector-size=4096),则您必须确保分区包含 4096字节(不是扇区)的精确倍数。