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

6

Quando o particionamento com fdisk dos últimos setores não puder ser incluído em uma partição, até onde eu experimentei. Eu sempre achei que isso se deve ao alinhamento de blocos MiB ou IO, mas acabei de perceber que o último setor que 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

Isso obviamente não é um grande problema, mas estou curioso sobre o motivo. Tem a ver com setores defeituosos?

    
por Simon S 03.04.2018 / 21:34

1 resposta

6

Aposto que você criou uma tabela 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 do que o número total de setores?

Verifique isso:

( fonte )

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

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

Observação: você provavelmente chegou aos seus últimos números de setor sem usar um GPT. A tabela de partição do MS-DOS herdada ocupa apenas 512 bytes (1 setor lógico) no início do disco com nada no final.

Informação do Disco

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

Alinhamento do 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 1 Mb

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
    
por 04.04.2018 / 01:19