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