論理ブロックアドレス指定(LBA):セクタ番号の仕組み

Logical Block Addressing (LBA) Explained

論理ブロックアドレス指定(LBA) これは、シリンダ、ヘッド、セクタの座標の代わりに連番を用いてストレージブロックを識別する方法です。 LBA 0 は最初の論理ブロックを、LBA 1 は 2 番目の論理ブロックを、というように識別します。ただし、LBA 番号だけではバイトオフセットを特定することはできません。論理ブロックサイズとアドレス空間の原点も必要となります。この関係を理解することで、ディスクのレイアウト、パーティションの境界、および論理セクタと物理セクタの違いについて理解を深めることができます。.

目次

LBAの解説:論理ブロックアドレスの仕組み

LBAでは、記憶装置のアドレス指定可能なブロックを直線的な配列として扱います。シリンダー・ヘッド・セクタ(CHS)アドレス指定方式のように3つの座標を用いて位置を記述するのではなく、各論理ブロックに整数のインデックスを割り当てます。.

たとえば、最初の4つの論理ブロックは次のとおりです:

LBA

意味

0

最初の論理ブロック

1

2番目の論理ブロック

2

第3の論理ブロック

3

第4論理ブロック

実例

「LBA 3 を読み込む」とはどういう意味ですか?

512バイトの論理ブロックを公開するUSBドライブを想像してみてください。ディスクツールがLBA番号を指定して1つのブロックを要求します。例を選択して、その番号がどのブロックを指しているかを確認してください。.

リクエスト

“「LBA 3 を読み込んでください。」ドライブには、番号 3 のブロック(3番目のブロックではありません)の読み込みが要求されています。.

例を見てみましょう:
ドライブ上の論理ブロック番号は0から始まる →

平易な言葉で言えば

LBA 3 = 第4ブロック

その前に3つのブロックがあります:LBA 0、LBA 1、そしてLBA 2です。カウントは0から始まるため、アドレス3は4番目の位置を指します。.

LBAの抜粋3
その手前のブロック3
論理ブロックサイズ512バイト
この例におけるバイト範囲1,536–2,047

重要な違いだ: LBA 3 は「論理ブロック番号 3」を意味し、「ファイル番号 3」でも「物理位置 3」でもありません。上記のバイト範囲は、この例の論理ブロックサイズが 512 バイトであることに基づいています。そのブロックをどのファイルが使用しているか(もし使用している場合)を特定するには、ファイルシステムのメタデータが必要です。.

この番号付けは0から始まります。デバイスが(N)個の論理ブロックを公開している場合、その最後の有効なLBAは N − 1, 、アドレス空間がLBA 0から始まり、番号付けに隙間がないことを前提とする。.

たとえば、2,000,000個の論理ブロックを公開しているデバイスの最後のLBAは 1,999,999. したがって、ブロック数は最後のLBAより1多い。.

LBAはアドレス指定の規則であり、ファイルシステムそのものではありません。LBAは、ファイル名、ディレクトリ、あるいはファイルの配置について規定するものではありません。パーティションテーブルは、論理ブロックアドレスを使用してパーティションの開始位置と終了位置を指定しますが、ファイルシステムは独自のメタデータを使用して、それらのパーティション内のファイルを整理します。.

アドレス空間の基準点も重要です。ディスク相対のLBAとボリューム相対のブロック番号は、数値が同一であっても、異なる位置を指している場合があります。ツールの結果をパーティションテーブルの情報と組み合わせる前に、そのアドレスがデバイス全体を基準としているのか、それともパーティションを基準としているのかを必ず確認してください。.

LBAセクタ番号のバイトオフセットの計算方法

アン LBAセクタ番号 論理ブロックを特定しますが、その番号をバイト位置に変換するには、論理ブロックサイズが必要です。.

開始バイトオフセットは、次のように計算されます:

開始バイトオフセット = LBA × 論理ブロックサイズ

論理ブロックサイズを (B) とすると、LBA のバイト範囲(端数を含む)は次のようになります:

開始オフセット = LBA × B

終了オフセット = (LBA + 1) × B − 1

バイトオフセットは0を起点とし、終了オフセットにはその値が含まれるため、1を引く必要があります。.

例:論理ブロックサイズが異なるLBA 50

2つの一般的な論理ブロックサイズにおけるLBA 50について考えてみましょう。.

計算

512バイトの論理ブロック

4,096バイトの論理ブロック

開始オフセット

25,600バイト

204,800バイト

16進数の開始オフセット

0x6400

0x32000

最後のバイトのオフセット

26,111バイト

208,895バイト

最後のオフセット(16進数)

0x65FF

0x32FFF

アドレス指定されたバイト総数

512

4,096

512バイトの論理ブロックの場合、LBA 50 はバイトオフセットから始まります 25,600 およびバイトをカバーします 25,600–26,111. 。その範囲には、正確に512バイトが含まれています。.

4,096バイトの論理ブロックの場合、同じLBAはバイトオフセットから始まります。 204,800 およびバイトをカバーします 204,800–208,895, 、合計4,096バイト。.

これらはあくまで例示のための計算であり、実際のディスクからの測定値ではありません。.

重要な結果は、次の通りである。 論理ブロックサイズが変化すると、同じLBAが異なるバイトオフセットに対応する場合があります. すべてのLBAに512を掛ければ、どのデバイスでも正しいバイトオフセットが得られるとは限らない。.

また、この計算では、LBAと論理ブロックサイズが同じアドレス空間を指していることを前提としています。ツールがパーティション相対のブロック番号を報告しているものの、ディスク相対のアドレスが必要な場合は、パーティションの開始LBAを考慮に入れ、両方の値が同じ論理ブロック単位を使用していることを確認する必要があります。.

LBAからバイトオフセットへの変換ツール

LBA番号を変更して、2つの一般的な論理ブロックサイズの下で、そのLBA番号が指すバイト範囲を比較します。.

非負の整数を入力してください。.

512バイトの論理ブロックで

開始バイトオフセット25,600バイト0x6400

包含されるバイト範囲25,600–26,111

最後のバイトのオフセット26,111バイト0x65FF

4,096バイトの論理ブロックで

開始バイトオフセット204,800バイト0x32000

包含されるバイト範囲204,800–208,895

最後のバイトのオフセット208,895バイト0x32FFF

計算: 開始オフセット = LBA × 論理ブロックサイズ
包括的な結末: 終了オフセット = (LBA + 1) × 論理ブロックサイズ − 1

あくまで説明用の例です。この計算機はディスクを読み取ることはありません。この計算では、LBAとブロックサイズが同じ論理デバイスを指しており、バイトオフセットはそのデバイスの先頭から計測されるものと仮定しています。.

LBA 対 CHS 宛先指定

LBA 対 CHS これは主に、記憶領域のアドレスを表す2つの方法の比較である。.

CHSは、シリンダー(Cylinder)、ヘッド(Head)、セクター(Sector)の頭文字をとったものです。これは3つの座標を用いて位置を表すのに対し、LBAは位置に単一の連番を割り当てます。.

特徴

LBA

CHS

アドレスの表現

1つの線形ブロック番号

円柱座標、頭座標、およびセクター座標

番号付け

LBAは0から始まります

従来のセクター番号は1から始まります

住所の算出

LBAに論理ブロックサイズを掛けて、バイトオフセットを求める

座標を平行移動させるには、幾何学的パラメータが必要です

現代的なディスク解釈

ストレージインターフェースによって公開される論理アドレス

実際の物理的な形状ではなく、変換された形状を表している可能性がある

パーティションテーブルの使用

最新のパーティション構造では、明示的なLBAフィールドが使用されています

互換性を確保するため、MBRエントリにはレガシーフィールドが残されています

CHS座標系とLBA座標系の対応関係

従来のCHSからLBAへの変換には、シリンダーあたりのヘッド数とトラックあたりのセクタ数が必要です。.

シリンダー番号とヘッド番号は0から数え、セクター番号は1から数える場合:

LBA = ((シリンダ × シリンダあたりのヘッド数) + ヘッド) × トラックあたりのセクタ数 + (セクタ − 1)

例えば、ある架空の構成で、シリンダーあたり16ヘッド、トラックあたり63セクタがあると仮定します。CHSアドレスは (1, 2, 3) 次のように変換されます:

LBA = ((1 × 16) + 2) × 63 + (3 − 1)

LBA = 18 × 63 + 2

LBA = 1,136

この例は変換式を示すものであり、特定のドライブの物理的な構成について説明するものではありません。.

最新のドライブでは、必ずしも実際の物理トラックやヘッドに対応するCHSジオメトリが公開されているわけではありません。レガシーソフトウェアでは互換性のために変換されたCHS値を使用している場合があるため、それらの値を自動的に物理的な位置として解釈すべきではありません。.

について UEFI仕様のMBRパーティションレコードの定義 CHSフィールドと、UEFIファームウェアがパーティションの位置を特定するために使用するLBAフィールドとを明確に区別しています。.

LBAは線形アドレス指定方式としてより簡単に使用できますが、そのアドレス指定可能な容量は、依然としてアドレスフィールドの幅とストレージインターフェースに依存します。「LBA」という用語だけでは、普遍的なアドレス幅は規定されません。.

論理ブロックサイズと物理セクタサイズの比較

LBAは、ストレージデバイスまたはインターフェースによって公開される論理ブロックを識別します。その論理ブロックは、必ずしも基となる媒体上の物理セクタと同じサイズであるとは限りません。.

3つの一般的なハードディスクのフォーマットを例に、その違いを説明します:

フォーマット

論理セクタサイズ

物理セクターのサイズ

512n

512バイト

512バイト

512e

512バイト

4,096バイト

4Kn

4,096バイト

4,096バイト

これらは一般的な形式であり、ストレージインターフェースが報告しうるすべてのブロックサイズを網羅したリストではありません。.

512eドライブでは、1つの4,096バイトの物理セクタに8つの512バイトの論理セクタが収まります。オペレーティングシステムは論理セクタをアドレス指定し、デバイス側はそれらのセクタと物理的な記憶領域の配置との関係性を管理します。.

この違いが重要となる理由は2つあります:

  • 住所の算出: LBAアドレス空間に関連付けられた論理ブロックサイズを使用して、バイトオフセットを計算します。.
  • 整合性とパフォーマンス: 物理セクタの境界は、デバイスの書き込み処理の効率に影響を与える可能性があります。デバイスの論理アドレス0が物理境界にアラインされている場合、8の倍数であるLBAは、512eレイアウトにおいて4,096バイトの境界にアラインされます。 実際のアライメントは、デバイスが報告するオフセットや転送粒度の要件によっても左右される場合があります。.

Microsoftのドキュメントによると、 アドバンスト・フォーマット対応ディスクの互換性 Windows やストレージアプリケーションが、論理セクタサイズと物理セクタサイズの相違を考慮する必要がある理由を説明しています。.

基本的な「LBA からバイトオフセットへの変換式」において、物理セクタサイズを論理ブロックサイズの代わりとして使用しないでください。これらは、ストレージのレイアウトにおける異なる側面を表しています。.

MBRおよびGPTにおけるLBAの使い方

LBAは、パーティションテーブルを調査する際に特に有用です。なぜなら、これらの構造体はディスクのレイアウトを記述するためにブロックアドレスを使用しているからです。.

MBR内のLBAフィールド

マスター・ブート・レコード(MBR)は、MBRパーティション方式のディスク上でLBA 0を占有しています。そのパーティションテーブルには、16バイトのパーティションエントリが4つ含まれています。.

各エントリには、2つの重要な32ビットフィールドが含まれています:

  • StartingLBA, パーティションエントリの先頭から8バイトオフセットの位置にあるこの値は、パーティションの開始論理ブロックを識別します。.
  • SizeInLBA, at byte offset 12 relative to the beginning of the partition entry, specifies the number of logical blocks in the partition.

If the partition size is nonzero, its ending LBA can be calculated as:

Ending LBA = StartingLBA + SizeInLBA − 1

For example, a partition beginning at LBA 2,048 and containing 1,000,000 logical blocks ends at LBA 1,002,047. .その Amagicsoft MBR partition table guide explains the partition-entry layout and how the starting address and block count determine partition boundaries.

LBA fields in GPT

The GUID Partition Table (GPT) uses LBA to locate its metadata and define partition ranges.

On a conventional GPT-partitioned disk, the layout includes:

所在地

構造

LBA 0

保護用MBR

LBA 1

Primary GPT header

LBAの追跡

Primary partition-entry array

使用可能なLBA範囲

パーティション用の空き容量

Near the end of the device

Backup partition-entry array

最後のLBA

Backup GPT header

gpt-disk-layout-lba-positions

The exact usable range depends on the disk layout, logical block size, and the locations reserved for GPT metadata.

GPT partition entries contain 64-bit StartingLBA そして EndingLBA fields. Both boundaries are inclusive, so the number of logical blocks in a partition is:

Partition size in blocks = EndingLBA − StartingLBA + 1

The GPT header also includes PartitionEntryLBA, which identifies the starting LBA of the associated partition-entry array.

For a field-level explanation of these addresses and the primary and backup headers, see Amagicsoft’s GPT Header guide.

公式の UEFI specification, Section 5, defines the GPT layout and its address fields. It specifies 64-bit LBAs for GPT, whereas MBR partition entries use 32-bit starting-LBA and size fields.

Why MBR and GPT have different addressing limits

With 32-bit sector-address fields, MBR has a commonly encountered capacity boundary of approximately 2 TiB when logical sectors are 512 bytes.

The arithmetic is:

2³² logical blocks × 512 bytes = 2 TiB

This is approximately 2.2 trillion bytes in decimal units. The limit comes from the address-field width and the assumed logical sector size; it is not a universal limit for every device or every possible logical block size.

GPT’s 64-bit LBA fields provide a much larger theoretical address space. Actual usable capacity still depends on the operating system, firmware, drivers, device interface, and partitioning implementation.

Microsoftのドキュメントによると、 Windows support for disks exceeding 2 TB explains the relationship between the MBR addressing limitation and GPT.

How to Check Logical and Physical Sector Information in Windows

Windows provides a command for querying sector information reported by the storage device and its driver.

  1. コマンドプロンプトを開く。.
  2. 走る fsutil fsinfo sectorinfo D:, replacing D: を適切なドライブ文字に置き換えてください。.
  3. Examine the reported logical and physical sector information.

Microsoft documents this command in Fsutil fsinfo. Its example output includes fields such as 1セクタあたりの論理バイト数 そして アトミック性のための1セクタあたりの物理バイト数.

For example, if the system reports LogicalBytesPerSector : 4096, a 4,096-byte logical block size is appropriate for the corresponding LBA-to-byte-offset calculation.

Compare the logical sector size with the reported physical-sector information to understand the device’s addressing and alignment characteristics. The available fields and values may vary with the Windows version, storage device, and driver.

This command queries sector information; it does not read a particular LBA’s raw contents or identify the physical location of a file. It is a useful way to verify an input needed for the calculation, not a complete disk-structure analysis.

LBA Limitations and Common Misconceptions

LBA provides a logical address, but several conclusions cannot be drawn from the address alone.

  • An LBA does not identify a file. The file system’s metadata is needed to map files and their allocated clusters to the corresponding storage regions.
  • An LBA is not a physical media address. On an SSD, for example, the device’s flash translation layer manages the mapping between host-visible logical addresses and internal flash storage.
  • An LBA does not establish whether data is intact. A readable address, an I/O error, or a partition-table inconsistency does not by itself prove that a file is recoverable or that a drive has physical damage.
  • A byte offset depends on the correct logical block size. Using an assumed 512-byte size on a device exposing 4,096-byte logical blocks produces an incorrect result.
  • Address origins must match. A partition-relative address cannot be treated as a disk-relative address without accounting for the partition’s starting position and confirming the tool’s addressing convention.

These distinctions are important when diagnosing partition layouts, interpreting disk utilities, or studying file-system structures. LBA supplies the address; additional metadata and device information are needed to interpret what is stored there.

まとめ

Logical block addressing provides a linear way to identify logical storage blocks, but interpreting an LBA requires the correct logical block size and address-space origin. The distinction between logical and physical sectors, the differences between MBR and GPT fields, and the limitations of CHS compatibility values all affect how disk addresses should be understood. For reliable analysis, calculate offsets from verified parameters and interpret them alongside the relevant partition and file-system metadata.

よくあるご質問

LBAはセクタ番号と同じものですか?

LBAは、ストレージの文脈では一般的に論理セクタ番号として使用されます。ただし、用語の呼び方はインターフェースやドキュメントによって異なります。重要な点は、LBAが論理ブロックを識別するものであり、そのバイトオフセットはブロックサイズとアドレス空間の原点に依存するということです。.

LBAの番号付けは0から始まりますか?

はい。LBA 0 は最初の論理ブロックを、LBA 1 は 2 番目の論理ブロックを、というように識別します。したがって、(N)個の論理ブロックを公開するデバイスの、最後の有効な LBA は N − 1, ではなく N.

LBAのバイトオフセットはどのように計算すればよいですか?

LBAに論理ブロックサイズを掛けます: バイトオフセット = LBA × 論理ブロックサイズ. 。たとえば、論理ブロックサイズが 512 バイトのデバイスでは、LBA 50 はバイトオフセット 25,600 から始まります。結果を使用する前に、論理ブロックサイズを確認してください。.

なぜ同じLBAでもバイトオフセットが異なることがあるのでしょうか?

論理ブロックサイズは、デバイスやインターフェースによって異なる場合があります。512バイトブロックの場合、LBA 50はバイトオフセット25,600から始まりますが、4,096バイトブロックの場合は204,800から始まります。LBA番号だけでは、バイト位置を特定することはできません。.

LBAとCHSの違いは何ですか?

LBAでは、論理ブロックを線形番号で識別します。CHSでは、シリンダ、ヘッド、セクタの座標を用いて位置を特定します。CHSへの変換にはジオメトリパラメータが必要ですが、最新の互換性値は必ずしもドライブの実際の物理的なジオメトリを反映しているとは限りません。.

LBAはファイルの物理的な位置を特定しますか?

いいえ。LBAは、アドレス空間内の論理ブロックを識別するものであり、ファイル名や物理メディア上の固定位置を示すものではありません。ファイルシステムのメタデータがファイルを割り当てられた記憶領域にマッピングしており、記憶装置は内部で論理アドレスを変換する場合があります。.

MBRにはなぜ2 TiBの容量制限があるのでしょうか?

この共通の境界は、32ビットのセクタアドレスフィールドと512バイトの論理セクタを組み合わせたことに起因しています。その結果、アドレス空間には2³²個のブロック、つまり2 TiBが含まれます。GPTはより広いLBAフィールドを使用しているため、理論上のアドレス空間がはるかに広くなります。.

Windowsでは、特定のファイルのLBAを表示することはできますか?

について fsutil fsinfo sectorinfo このコマンドは、ファイルのLBAではなく、セクタ情報を報告します。ファイルデータの位置を特定するには、パーティションのレイアウトとファイルシステムのメタデータを解釈する必要があり、その結果は断片化の状況やツールのアドレス表記法によって異なる場合があります。.

バシリイは、この分野で約10年の実務経験を持つデータ復元のスペシャリストです。そのキャリアを通じて、彼は削除されたファイル、フォーマットされたドライブ、失われたパーティション、RAWファイルシステムを含む何千もの複雑なケースの解決に成功してきました。彼の専門知識は、16進エディタなどの専門ツールを使用した手動復元方法と、復元ソフトウェアを使用した高度な自動化ソリューションの両方をカバーしています。バシリの使命は、信頼できるデータ復元知識をITプロフェッショナルと一般ユーザーの双方が利用できるようにし、貴重なデジタル資産を保護できるようにすることです。.