2016-09-13 10 views

答えて

1

結論は、さらなる調査に基づいて反転された

ほぼすべてのドライブが512バイトの論理セクタを使用しているが、現代のパーティションテーブルは、LBAアドレスを使用し、LBA単位のサイズはデバイスの論理セクタサイズであります今日は4096バイトにもなります。

最終的に、ユニットサイズについての質問をメインのGNU parted(パーティションエディタ)メーリングリストに投稿し、this responseを受け取りました。具体的には

"LBAは常にドライブのブロックサイズを参照するため、ドライブのレポート内容に応じて、512または4096 またはその他の値になる可能性があります。

間違った以前の回答のバージョン:[[MBRとその他のパーティションテーブル]は、512バイトのブロック/論理セクタを参照しています。例えばディスクの物理ディスクのセクタサイズのhttps://en.wikipedia.org/wiki/Master_boot_record#PTE.]]

背景情報

のレポートを参照してください。特に、「デバイスを識別する」コマンド、基本的にATA-8仕様のコマンドを介して行われているようです。互換性の問題(よく説明されることが多い)は、I/O操作のアラインメントです。明らかに、ほとんどのドライブは512バイト整列を処理しますが、512バイト整列I/Oをまったくサポートしない "4kネイティブ"または "4kn"として宣伝されているドライブもありますが、パフォーマンス上の不利益があります。一般に物理4kセクターのドライブは、「アドバンストフォーマット」と呼ばれるものを使用しています。詳細情報が必要な場合は、検索に役立ちます。

この記事https://linuxconfig.org/linux-wd-ears-advanced-formatには、特にLinuxユーザーの場合、比較的明確な議論があります。 Linux上では、 "parted -l"コマンドは物理的および論理的なセクタサイズを報告し、partedはパーティションをAdvanced Formatデバイスに適切に配置する方法も知っています。

また、この資料では、http://www.seagate.com/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/が問題を情報提供して安心できると感じるかもしれません。

+0

あなたがリンクしているWikipediaの記事は、あなたの答えと矛盾しているようです:「アドレスは**セクター値**です...」セクターサイズ**は以前は512で固定されていました[emphasis mine]。また、「USB外付けドライブなどのセクタサイズが512バイト以外のディスクの場合、セクタサイズが4,096の場合、MBRを使用して定義できるパーティションのサイズが8倍になります」 –

+0

はい、私が見つけたドキュメンテーションのほとんどは、物理ブロックサイズを考慮してパーティションテーブルを書き込む方法について話していますが、512以外の論理ブロックサイズを持つドライブで何をするべきかは決して言いません。その分野でこのような獣を見つけたことは一度もありませんでした。ストレージデバイスが512バイトの論理ブロックサイズを長期間提示すると思われますが、後でなくすぐにこれを解決することで将来的に自分のコードを保証したいと思います。 –

+0

本当に、これはすべてかなり混乱していて、あなたのポイントは意味があります。 LBAアドレッシングの使用に基づいて、パーティションテーブルがユニットとして512バイトを使用することは、私にはまだ分かりません。記事https://en.wikipedia.org/wiki/Logical_block_addressingによれば、「2003年にATA-6規格で導入された現在の48ビットLBA方式は、最大128 PiBのアドレス指定が可能です」 http://t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdfの標準文書では、48ビットのアドレス指定では「約144ペタバイト」が許容されています。だから私は512バイトが単位だと再び信じています。 –

関連する問題