2 TBを超えるハードドライブのサポートについて(やや)より良い説明を求める


9

今日、グーグルで私が投稿を偶然見つけたのは、シーゲイトが2010年の後半に3TBドライブを出荷する予定であると主張したからです。(私はいくつかの例にリンクしますが、現時点では投稿ごとに1つのリンクのみが許可されています)。

今、私はこれの根本的な退屈な詳細をよりよく理解するための「必要」は本当にありません。ただ興味があるだけ。そして混乱しました。

ですから...質問の中には、私が回答するよりも詳しい情報を誰かに提供してほしいと思っています。

  1. ハードウェアとソフトウェアの両方での潜在的なアドレス指定の問題についての話は私を混乱させました。2 TB(1 TB =2⁴⁰B)を超えるハードドライブにアクセスするために現在の制限を回避する方法として、いわゆると呼ばれるものLong LBA addressing (LLBA)が必要であるという主張ですCommand Descriptor Block

    いいよ。しかし、この問題が最後に発生したときは、LBAフィールドの長さを28ビットから48ビットに拡張することで解決したと思いました。(このWebサイトを覚えていますか?www.48bitlba.com)6バイトのLBAは十分に大きいので、このLLBAの話はどうなっていますか。これはすべて、Win XP SP2で修正されたと思っていました。そして確かに、すべてのハードウェアがその仕事をこなす必要がありますね。

  2. 2 TBをはるかに超えるドライブで私が理解している実際の問題は、現時点でほぼすべてのハードドライブをパーティション分割するために使用されるマスターブートレコード(MBR)の4バイトLBAフィールドです。最も可能性の高いソリューションは、インテルのGUIDパーティションテーブル(GPT)に移行することです。GPTは、LBAに8バイトのフィールドを使用します。

    このコンテキストで私が理解していないのは、GPTを使用する3TBドライブからWindowsを起動する際の問題です。確かに、現在のPC BIOSはGPTを認識または操作する方法を知りません。ただし、すべてのGPTには、セクター0にいわゆる「安全」または「ガーディング」MBRが付属しています。

    AppleはすでにMBRのハイブリッドバージョンを使用して、Intel Mac(別名Boot Camp)でWindowsを起動できるようにしています。たとえば、3 TB以上のドライブの最初の2 TB内のパーティションをPC BIOSが認識して起動できるようにするために、同様のことを行うことはできませんか?

4Kセクターがこれらすべてのどこに当てはまるかなど、さらに質問があります。しかし、たぶん私はただ黙ってこれを投稿した時です。;-)

-非合理的なジョン

回答:


6

「ロングLBA」についての声明は、その1人のSeagate製品マネージャーに由来しているようです。彼女がおそらく意味したことは、48ビットLBAがハードウェアの標準であるとしても、32ビットOSとドライバーは48ビットすべてをサポートしない可能性があるということです。とにかくMBRはパーティションの32ビットのみをサポートするので、なぜわざわざするのですか。

48ビットLBAを採用することで128GBの壁を打ち破ったとき、それはハードウェア側で、ATA仕様では28ビットから上がっていました。また、OS /ドライバー側では、古い28ビットの制限をハードコーディングしていないことを確認します。現在の適切に作成されたドライバーは実際には実際の48ビット制限に準拠していると言えますが、チェーンのどこかで、誰かが簡単な方法で32ビットドライバーで32ビットしかサポートしていないことは簡単にわかります。とにかく32ビットOSが廃止されていることを考えると、そのすべてが機能することを確認するのは試みに値しないかもしれません。

あなたが言ったように、実際の問題(少なくともWindowsの場合)は、BIOSベースの(非EFI)コンピューターからGPTディスクを起動することです。Protective MBRは、ディスク全体が単一の不明なパーティションのように見えるように設計されているため、BIOS / MBR対応のコンピューターはそれに触れることさえありません。ハイブリッドディスクを作成して、MBRに2TB境界より下のパーティションの他のエントリも含めることができます。しかし、そのようなハイブリッドディスクは壊れやすく(MBRまたはGPTパーティションツールを使用して簡単に処理できます)、公式にはGPTディスクではありません。また、GPTパーティションはブートせず、MBRパーティションをブートします。GPTパーティションをデータドライブとして使用するだけの場合は問題ありません。

そしてなぜBIOSはGPTを起動できないのですか?簡単に言えば、それらはそうではなく、その機能を追加するには、よりスマートなBIOSが必要です。そして、それがEFIの目的です。

4KBセクターは、32ビットLBAの16TBディスクを提供します。(そして、大きなセクターが少ないほど、I / Oオーバーヘッドが少なくなる可能性があります。)ただし、すべてのOSとドライバー、さらには一部のアプリでさえ、可変サイズのセクターをサポートするように作成する必要があります。必要なのは、セクターサイズが512にハードコード化されて1か所にある場合です。したがって、4KBセクターも多くの関係者から多くの作業を必要とするため、「簡単な」ソリューションではありません。ただし、GPT(セクターサイズに依存しない)と可変サイズのセクターをサポートする将来のソフトウェアを作成する場合は、ある時点でそれが一般的な手法として採用される可能性があります。


3

あなたは確かに できる BIOSマシン上のGPTディスクから起動します。ちょうどその窓はそれができないと主張しています。

それでも本当ではありません。GPTディスク上のBIOSコンピュータからWindowsを起動できます。起動ファイルを保持するために、小さな追加のMBRディスクが1つ必要です。スペア(小さい)パーティション、フロッピー、USBドライブ(想定)を備えた他のOSで使用されているハードディスク...

Windowsインストール/修復ディスクを起動します。スティックにシステムドライブを作成し、を使用bcdbootしてブートファイルをスティックに配置します。でブートセクターを追加しbootsectます。をに変更{bootmgr} devicebootます。スティックから起動します。

手順の詳細はここにあります


0

このコンテキストで私が理解していないのは、GPTを使用する3TBドライブからWindowsを起動する際の問題です。

従来のBIOSシステムでは、BIOSはディスクからブートセクターを読み込み、16ビットのリアルモードで実行します。ブートセクターから読み込まれたコードは、適切なOSを見つけて読み込む必要があります。

MSは、リアルモードローダーにGPTサポートを実装していません。したがって、GPTパーティションテーブルを読み取って残りのOSを起動することはできません。したがって、GPTディスクからウィンドウを起動するには、従来のBIOSの代わりにuEFIを使用する(マザーボードがサポートしていて、Windowsのバージョンが十分に新しい場合は問題ありません)か、サードパーティのローダー、ハイブリッドパーティションタイプまたは起動用の別のディスク。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.