Warum können die letzten Sektoren nicht in einer Partition enthalten sein?

456
Simon S

Bei der Partitionierung mit fdiskden letzten Sektoren kann dies, soweit ich erfahren habe, nicht in einer Partition enthalten sein. Ich dachte immer, das liegt am MiB- oder IO-Block-Alignment, aber mir wurde gerade klar, dass der letzte Sektor, den ich verwenden kann, nicht ausgerichtet ist! Ich habe mehrere Tools mit mehreren Festplatten von verschiedenen Herstellern ausprobiert, und es sind immer die letzten 30 Sektoren. Zum Beispiel:

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 

Dies ist natürlich kein großes Problem, aber ich bin neugierig auf den Grund. Hat es mit schlechten Sektoren zu tun?

6
Ich bezweifle, dass es mit fehlerhaften Sektoren zu tun hat - ich postuliere, dass dies mit GPT und / oder schützendem GPT zu tun hat - Während die alte Partition im MBR-Stil nur den Anfang der Platte (letzter Teil der ersten 512 Bytes) verwendet, wird zusätzlich GPT verwendet verwendet die letzten 33 Plattensektoren, um die Partitionen 5 - 128 abzubilden, und es wäre ansonsten ziemlich zufällig, dass der letzte nutzbare Sektor 33 Sektoren weniger ist als die auf der Festplatte verfügbaren. davidgo vor 6 Jahren 2

1 Antwort auf die Frage

6
Deltik

Ich wette, Sie haben eine GUID-Partitionstabelle (GPT) auf der Festplatte erstellt, um die "letzte verwendbare Sektor" -Nummer zu erhalten.

Haben Sie festgestellt, dass der letzte nutzbare Sektor 34 Sektoren unter der Gesamtzahl der Sektoren liegt?

Überprüfen Sie dies heraus:

GUID-Partitionstabellenschema ( Quelle )

Diese "unbrauchbaren" 33 Sektoren sind eigentlich für die Backup-GPT! (Das ist LBA -34 bis zum Ende.)


Wir können auch ableiten, warum der letzte MiB-ausgerichtete Sektor und der letzte auf den E / A-Block ausgerichtete Sektor so sind, wie sie sind.

Hinweis: Sie haben wahrscheinlich Ihre letzten Sektornummern ohne GPT erreicht. Die alte MS-DOS-Partitionstabelle belegt am Anfang der Festplatte nur 512 Byte (1 logischer Sektor), am Ende steht nichts.

Festplatteninformationen

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

Physische Blockausrichtung

Ihr letzter ausgerichteter Sektor: 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 

1MiB-Blockausrichtung

Ihr letzter ausgerichteter Sektor: 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 
Sie haben natürlich recht, es war GPT. Simon S vor 6 Jahren 0