Por que os últimos setores não podem ser incluídos em uma partição?

Por que os últimos setores não podem ser incluídos em uma partição?

Ao particionar com fdiskos últimos setores não pode ser incluído em uma partição, pelo que experimentei. Sempre pensei que isso se devia ao alinhamento do bloco MiB ou IO, mas acabei de perceber que o último setor que ele me permite usar não está alinhado! Eu tentei várias ferramentas com vários HDDs de diferentes fornecedores, e são sempre os últimos 30 e poucos setores. Por exemplo:

Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
last MiB-aligned sector:                      976773119
last IO-block-aligned (4KiB) sector:          976773167 (the last one)
last usable sector:                           976773134

É claro que isso não é um grande problema, mas estou curioso para saber o motivo. Isso tem a ver com setores defeituosos?

Responder1

Aposto que você criou umTabela de partição GUID (GPT)no disco para obter o número do "último setor utilizável".

Você notou que o último setor utilizável tem 34 setores a menos que o número total de setores?

Veja isso:

Esquema de tabela de partição GUID(fonte)

Esses 33 setores "inutilizáveis" são, na verdade, para o GPT de backup! (Isso é LBA -34 até o fim.)


Também podemos deduzir por que o último setor alinhado ao MiB e o último setor alinhado ao bloco de E/S são do jeito que são.

Observação:Você provavelmente chegou aos números do último setor sem usar um GPT. Otabela de partição herdada do MS-DOSocupa apenas 512 bytes (1 setor lógico) no início do disco e nada no final.

Informações do disco

Logical sector size:            512 (used in calculations)
Physical sector size:          4096 (used for I/O block alignment)

Alinhamento de Bloco Físico

Seu último setor alinhado:976773167

Physical sector size:          4096
Divide by logical sector size: ÷512
                               ----
Sectors for block alignment:      8

Total sector count:       976773168
Divide by alignment sectors:     ÷8
                          ---------
Max 4KiB blocks:          122096646
Unusable sectors remainder:       0

Total sector count:       976773168
Subtract remainder:              -0
                          ---------
First unalignable sector: 976773168
Your last aligned sector: 976773167

Alinhamento de bloco de 1MiB

Seu último setor alinhado:976773119

1MiB in bytes:              1048576
Divide by logical sector size: ÷512
                            -------
Sectors for 1MiB alignment:    2048

Total sector count:       976773168
Divide by alignment sectors:  ÷2048
                          ---------
Max 1MiB blocks:             476940
Unusable sectors remainder:      48

Total sector count:       976773168
Subtract remainder:             -48
                          ---------
First unalignable sector: 976773120
Your last aligned sector: 976773119

informação relacionada