web-dev-qa-db-ja.com

最後のいくつかのセクターをパーティションに含めることができないのはなぜですか?

fdiskでパーティションを作成する場合、私が経験した限り、最後のいくつかのセクターをパーティションに含めることはできません。これはMiBまたはIOブロックの調整によるものだといつも思っていましたが、使用できる最後のセクターが調整されていないことに気づきました。さまざまなベンダーのいくつかのHDDを使用していくつかのツールを試しましたが、それは常に最後の30程度のセクターです。例えば:

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

もちろんこれは大きな問題ではありませんが、その理由が気になります。それは不良セクタと関係がありますか?

6
Simon S

「最後に使用可能なセクター」番号を取得するために、ディスク上に GUIDパーティションテーブル(GPT) を作成したに違いありません。

最後に使用可能なセクターがセクターの総数より34セクター少ないことに気づきましたか?

これをチェックしてください:

GUID Partition Table Scheme ソース

これらの「使用できない」33セクターは、実際にはバックアップGPT用です。 (それは最後までLBA -34です。)


また、最後のMiBアラインされたセクターと最後のI/Oブロックアラインされたセクターがそのようになっている理由を導き出すこともできます。

注:GPTを使用せずに最後のセクター番号に到達した可能性があります。 レガシーMS-DOSパーティションテーブル は、ディスクの最初で512バイト(1論理セクター)しか使用せず、最後には何も使用しません。

ディスク情報

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

物理ブロックの配置

最後に調整されたセクター: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ブロックアライメント

最後に調整されたセクター: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
6
Deltik