FreeBSD QandA 1507

FreeBSD QandA

Q. どうして 8GB 超の HDD が使えないことがあるのですか?

A. 原因はハード、ソフト共に色々とあって、それぞれの原因により問題の
   程度や症状も異なります。

   8GB 超の IDE HDD を扱う場合、主に以下の 5 つの問題点があります。
         (A) マザーボードの制限
         (B) BIOS の制限
         (C) ブートローダの制限
         (D) OS kernel の制限
         (E) 各 application の制限
   このいずれかが原因で、8GB 超の HDD 領域が扱えないような場合は、
   それぞれに応じて以下のような問題が起こります。

   1.physical access
     全ての PC はマザーボード上の IDE bus を介して IDE HDD に
     アクセスするので、(A) の制限がある場合、どうやっても 8GB 超の
     HDD 領域を利用することはできません。

     しかし、1995 年頃以降に発売されている PC であれば、このような
     マザーボード上の制限はまずないと見てよいでしょう。

   2.boot
     Windows・DOS・PC-UNIX 問わず、全ての PC 環境は、まず BIOS
     によって起動されるので、OS のブートプログラムが 8GB 超の位置に
     あった場合、(B) の制限に引っかかります。

     HDD 全体をパーティション分割した場合、起動させたい OS のブート
     プログラムを含むパーティションの先頭が 8GB 以内に存在すれば、
     この問題は回避できます。

     8GB 超領域からブートプログラムを起動したい場合、BIOS update
     しか手はありません。ただ、1998 年頃以降に発売されている PC で
     あれば、このような BIOS 上の制限はまずないと見てよいでしょう。
     ただし、(A) の制限がある場合は、BIOS の update は無効です。

     ただし、FreeBSD はブート時以外は BIOS を介さないため、
     一度ブートしてしまえば BIOS の制限は関係なくなります。

   3.ブートローダ
     OS のブートプログラムは、HDD 先頭セクタに書かれているブート
     ローダから読込まれるので、OS のブートプログラムが 8GB 超の
     位置にあった場合、(C) の制限が有効となってきます。
     BIOS 問題同様、OS のブートプログラムを含むパーティションの
     先頭が 8GB 以内に存在すれば、この問題は回避できます。

     8GB 超領域からブートプログラムを起動したい場合、8GB 超に対応
     したブートローダが必要となります。FDISK.EXE で標準的に作られる
     ブートローダや、LILO、booteasy といった PC-UNIX 用の標準的な
     ブートローダは 8GB 超に対応していません。

     この問題はスライス (パーティション) 設定を工夫することで回避できます。
        [管理番号 1509] 大容量 HDD (SCSI/IDE) を使うに際の注意点は?
     を参照して下さい。

    8GB 超対応のブートローダとしては、extipl や GNU GRUB といった
     ものが確認されています。

    ただし、(A)(B) の制限がある場合はブートローダを変更しても
     意味はありません。

   4.MS-DOS, Windows
     MS-DOS, Windows95 初期バージョン(4.00.950, 4.00.950 A) の
     システムコールや DLL は、8GB 超の HDD を扱えないので、(D) の
     制限が効いてきます。

     HDD のパーティションをどうやりくりしたところで、8GB 超を扱う
     手段がないので、OS を介する限りは 8GB 超領域にはアクセスでき
     ません。8GB 以内の領域に完全に含まれるパーティションのみを
     利用していれば、この問題は回避できます。

     8GB 超領域を扱いたい場合、Windows95 OSR2, Windows98 などの
     新しい OS に upgrade するか、または直接 BIOS 経由で HDD に
     アクセスするようなアプリケーションを用いるしか手はありません。

     ただし、(A)(B) の制限がある場合、OS を upgrade しても
     意味がありません。

   5.FreeBSD
       [管理番号 1508] Q. FreeBSD の大容量 IDE HDD への対応状況はどうなっているのでしょうか?
       [管理番号 1509] Q. 大容量 HDD (SCSI/IDE) を使うに際の注意点は?
     を読んで下さい。

   6.FAT32X file system
     Windows で 8GB 超領域を扱う場合、そのパーティションは LBA という
     アクセス方式を用いるためのファイルシステム (FAT32X) として用意
     されます。

     このファイルシステムは、MS-DOS や Windows95 初期バージョン、
     FreeBSD 旧バージョン (2.2.8-RELEASE 以前) では知られていない
     ので、(D) の制限が効いてきます。

     Windows の FDISK.EXE で「大容量ディスクのサポートを使用
     可能にしますか (Do you wish to enable large disk support)」
     の問いに [N] と答えてパーティションを作成すれば、FAT32X は作成
     されませんので、この問題は回避できます。

     FAT32X を扱いたい場合、Windows95 OSR2, Windows98 及び
     FreeBSD 3.x-RELEASE に upgrade するか、または直接 BIOS 経由で
     HDD にアクセスするようなアプリケーションを用いる (MS-DOS, Windows)、
     もしくは自分でカーネルソースの diskslice_machdep.c を書換えて
     FAT32X 対応カーネルを作る (FreeBSD) しか手はありません。
    ただし、FAT32X が扱えるようになっても、8GB 超領域が使えるか
     どうかは別項目の制限に依存します。

   7.partitioning tools
     MS-DOS,Windows 環境でパーティションを切るためのアプリケーションは、
     FDISK.EXE 以外に FIPS.EXE や Partition Magic などがありますが、
     これらには (E) の制限が効いてきます。

     FIPS 1.4 以前は FAT32X に対応していないので、8GB 超を扱う
     ためのファイルシステムを操作できません。FIPS 2.0 は FAT32X を
     扱うことはできますが、8GB 超を扱えないので、8GB 超にある
     パーティションを操作すると HDD 内容を壊してしまいます。

     Partition Magic 3.0 以前は FAT32X に対応していないので、8GB
     超を扱うファイルシステムを操作できません。Partition Magic 4.0 は
     FAT32X を扱うことは出来るが、8GB 以内に作られた FAT32X を
     異常扱いしてしまうため、8GB 超の FAT32X しか扱えません。
     Windows の FDISK.EXE だけを使っていれば、この問題は回避
     できます。

     FAT32X を安全に扱いたい場合、FIPS や Partition Magic の作者、
     メーカに対して要望を出し、アプリケーションの改善を訴えるしか
     ありません。

     ただし、FAT32X が安全に扱えるようになっても、8GB 超領域が
     使えるかどうかは別項目の制限に依存します。

同一グループへのリンク

グループ名: hdd-faq


間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。