実験 

137Gbytes超IDEディスクの正しい使い方

2.48bit LBAに未対応だと、どんな不具合が生じるのか?

デジタルアドバンテージ 島田広道
2002/01/22

 137Gbytesの壁を破るのに重要なのは、主にIDEドライバとディスクBIOSの48bit LBA対応といえる。これらが48bit LBA未対応の場合、137Gbytesを超える容量のハードディスクを接続すると、どのような症状が現れるのか、実際に両方とも未対応のPCに160Gbytesハードディスクを接続して調べてみた。

 まず、IDEドライバが48bit LBAに対応していない場合、OSレベルで137Gbytes以上を認識できない(以下の画面)。つまり、どんなに大容量のIDEハードディスクでも137GbytesのIDEハードディスクとして扱われてしまう。

160Gbytesハードディスクの全容量が見えない例(Windows 2000インストール時)
これはWindows 2000 Professionalのインストール中に、ハードディスクのパーティションを新たに設定するところ。Windows 2000標準のIDEドライバは、48bit LBAをサポートしていないため、このように160Gbytes全容量を認識できない。
  ハードディスクの全容量は131070Mbytes=約128Gbytes(1K=1024)と認識されている。実際の全容量は約153Gbytes(1K=1024)なので、25Gbytesほどが認識されずに残ってしまっているのが分かる。
 
160Gbytesハードディスクの全容量が見えない例(稼働中のWindows 2000)
これはWindows 2000 Professionalが稼働中のPCに160Gbytesハードディスクを追加して、[ディスクの管理]ツールからパーティションを設定しているところ。「ディスク1」が160Gbytesハードディスクだ。IDEドライバは標準のものを使用している。
  ディスクの全容量は128Gbytes(1K=1024)と認識されており、全容量160Gbytesが見えていないことが分かる。

 一方、ディスクBIOSが48bit LBAに対応していない場合、Windows 9x/Meのインストール時やDOSの利用時に、137Gbytes以上の領域が認識できない状態となる。特に、DOS上でパーティションを設定するfdiskコマンドや、パーティション操作/ディスク・コピーのユーティリティの多くは、ディスクBIOS経由でハードディスクにアクセスするため、137Gbytes以上を認識できない。またWindows 2000/XPでも、起動が始まった直後はディスクBIOSを使ってハードディスクをアクセスしているため、その影響を受ける。

160Gbytesハードディスクの全容量が見えない例(BIOSセットアップ)
これはAward BIOS搭載のデスクトップPCにおけるBIOSセットアップで、ハードディスクの各種設定を行う画面。ディスク関連のパラメータは自動認識・設定にしてある。
  160Gbytesハードディスクが「136」、つまり136Gbytes(1K=1000)までしか認識していないことが分かる。

137Gbytesの壁を破る解決策とは?

 48bit LBA未対応のPCでは、137Gbytesより大容量のハードディスクを接続しても、そのうちの137Gbytes分しか使えない。まったく使えないよりはマシだが、それでは大容量IDEディスクを搭載した意味がないので、何とかして全容量を使い切りたいものだ。現状では、IDEドライバもディスクBIOSも48bit LBA対応は決して充実していないが、それでも方策はある。1つは、Intelが自社製チップセット向けに提供している「Intelアプリケーション・アクセラレータ(Intel Application Accelerator、以下IAA)」を利用すること、もう1つは48bit LBA対応のIDEインターフェイス・カードを増設することだ。まずは、無償で提供されており追加コストの不要なIAAについて、137Gbytesの壁を克服できるか確かめてみる。

 IAAを一言で説明すると、Windowsの起動を高速化するためのユーティリティである。ポイントは、48bit LBAに対応したIDEドライバが含まれていることだ。ただし、下表のようにIAAが動作するPCは、Intelの800番台のチップセットとWindows 98以降のOSを搭載したものに限定される。そのほかIAAの詳細については、「実験:PCの起動を高速化する「Intelアプリケーション・アクセラレータ」の実体」を参照していただきたい。

項目 内容
IAAのダウンロード・ページ http://support.intel.co.jp/jp/support/chipsets/iaa/index.htm
サポートするOS Windows 98
Windows 98 Second Edition
Windows Me
Windows NT 4.0 + SP3以降
Windows 2000
Windows XP
サポートするチップセット Intel 810/810E/810E2
Intel 815/815P/815E/815EP
Intel 820/820E
Intel 840
Intel 845
Intel 850
Intel 860
Intelアプリケーション・アクセラレータ(IAA)のサポート範囲

増設した160Gbytesハードディスクの全容量を認識させる

 まずは、すでにWindows 2000で稼働中のPCに対して、160Gbytesハードディスクをデータ用ディスクとして増設するという状況を想定してみよう。すでにPCに内蔵されているIDEハードディスクにWindows 2000 Professionalがインストールされているという状態で、160GbytesのIDEハードディスクを追加し、IAAを使って160Gbytes全容量を認識させることができるか試してみる。

 テストに使用したPCの仕様は以下のとおりで、ディスクBIOSも初期のIDEドライバも48bit LBAには対応していない。そのため、ただ単に160Gbytesハードディスクを接続しても、137Gbytesまでしか認識されない。

スペック項目 内容
プロセッサ Intel Pentium III-1B GHz
マザーボード Aopen製AX3S Pro
チップセット Intel 815E
メモリ 256Mbytes
IDEホスト・コントローラ チップセット内蔵のUltra ATA/100対応コントローラ(Intel 82801BA, ICH2)
テスト対象のハードディスク Ultra ATA/133対応の160Gbytes IDEハードディスク(Maxtor製DiamondMax D540X 4G160J8)、28bit LBAと48bit LBAに対応
システム用ハードディスク Ultra ATA/100対応の40Gbytes IDEハードディスク(IBM製Deskstar 60GXP)、28bit LBA対応
CD-ROMドライブ ATAPI接続のDVD-ROMドライブ(パイオニア製DVD-116)
IDE/ATAPIデバイスの接続 プライマリIDEポートのマスタ: システム用ハードディスク
プライマリIDEポートのスレーブ: テスト対象の160Gbytesハードディスク
セカンダリIDEポートのマスタ: DVD-ROMドライブ
ネットワーク・インターフェイス 100BASE-TX対応PCIイーサネット・カード(Intel PRO/100+ マネージメント・アダプタ)
グラフィックス Intel 815E内蔵アクセラレータ
OS Windows 2000 Professional(インストール後にSP2を適用)
チップセット用INFファイルのバージョン Intel Chipset Software Installation Utility, Ver.3.20.1008(ダウンロード・ページ
IAAのバージョン Intel Application Accelerator, Ver.1.1.2.2084(ダウンロード・ページ
IAA同梱のIDEドライバのバージョン Ver.7.00.2076, 2001/10/25
テストしたPCのハードウェア/ソフトウェア仕様

 そこでIAAをインストールしてみる。IAAは、インテルのWebサイトにあるIAAのページからダウンロードできる。インストール作業は、Windows 2000が正しく稼働している状態なら、Intelのチップセット用INFファイル(IAAのページからダウンロード可能)をインストールした後、ダウンロードしたIAAの実行型アーカイブ・ファイルを実行し、指示に従って再起動を2回行うだけだ。

 IAAのインストールが完了して、ディスク容量を以下の画面のように確認すると、しっかり153Gbytes(1K=1024)と全容量を認識するようになった。

IAAインストール後の160Gbytesハードディスクの認識状況
IAAインストール後、[コンピュータの管理]−[記憶域]−[ディスクの管理]にて160Gbytesハードディスクにパーティションを設定したところ。ちょうど128Gbytes(1K=1024)の境界部分に、ボリューム名「128GB境界」というパーティションを作成してみた。IAAのインストールの有無に関係なく、こうしたパーティションの作成やフォーマットの方法は変わらない。
  認識された160Gbytesハードディスクの全容量(この「ディスク1」が追加の160Gbytesハードディスク)。「152.66GB」つまり164Gbytes(1K=1000)という真の全容量が認識されていることが分かる。

 念のため、全領域をフォーマットしたり、上の画面のようにちょうど137Gbytesの壁の部分をまたぐパーティション(ボリューム名「128GB境界」)を作成してファイルをコピーしたり、スワップファイルを配置したりしてみたが、Windows 2000と160Gbytesハードディスクは問題なく動作した。

 また前出の「表:テストしたPCのハードウェア/ソフトウェア仕様」のように、テスト環境では同じIDEポート(プライマリ)に、旧来の28bit LBAで動作するシステム用ハードディスクと、新しい48bit LBAで動作するテスト対象のハードディスクの2台を接続している。このように単一のIDEポートで28bit LBAと48bit LBAは共存できるわけだ。もちろん、別々のIDEポートにそれぞれのハードディスクを接続しても動作する。

 このように、137Gbytesを超えるハードディスクを既存のWindows 2000環境に追加する場合、適用できる環境がチップセットで限定されるとはいえ、IAAは実に手軽に137Gbytesの壁を克服できる有効な方法だということが分かった。

  関連記事(PC Insider内) 
PCの起動を高速化する「Intelアプリケーション・アクセラレータ」の実体

  関連リンク 
Intel製チップセット用INFファイルのダウンロード・ページ
Intelアプリケーション・アクセラレータのダウンロード・ページ
 

 INDEX
  [実験]137Gbytes超IDEディスクの正しい使い方
    1. IDEハードディスクの「容量の壁」とは?
  2. 48bit LBAに未対応だと、どんな不具合が生じるのか?
    3. 160GbytesハードディスクへWindows 2000をインストールする
    4. 48bit LBA対応IDEインターフェイス・カードを利用する
 
「PC Insiderの実験」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間