- 0.序
8GB 超の IDE HDD を扱う場合の問題点は、主に以下の 5 つの要
因に起因する。
(A) mother board の制限
(B) BIOS の制限
(C) boot loader の制限
(D) OS kernel の制限
(E) 各 application の制限
このいずれかの要因により、8GB 超の HDD 領域が扱えないよう
な場合は、それぞれに応じて以下のような問題が生じる。
- 1.physical access
全ての PC は mother board 上の IDE bus を介して IDE HDD に
access するので、(A) の制限がある場合、如何なる手段を講じて
も 8GB 超の HDD 領域を利用することは出来ない。
8GB 超 HDD を使いたければ mother board 交換しか手はない。
尤も、1995 年頃以降に発売されている PC であれば、このような
mother board 上の制限はまずないと見て良い。
- 2.boot
Windows, DOS, PC-UNIX 問わず、全ての PC 環境は、まず BIOS
によって起動されるので、OS の boot program が 8GB 超の位置に
あった場合、(B) の制限が有効となってくる。
HDD 全体を partition 分割した場合、起動させたい OS の boot
program を含む partition の先頭が 8GB 以内に存在すれば、この
問題は回避出来る。
8GB 超領域から boot program を起動したい場合、BIOS update
しか手はない。尤も、1998 年頃以降に発売されている PC であれ
ば、このような BIOS 上の制限はまずないと見て良い。
但し、(A) の制限がある場合、BIOS の update は無効。
- 3.boot loader
OS の boot program は、HDD 先頭 sector に書かれている boot
loader から読込まれるので、OS の boot prigram が 8GB 超の位
置にあった場合、(C) の制限が有効となってくる。
BIOS 問題同様、OS の boot program を含む partition の先頭
が 8GB 以内に存在すれば、この問題は回避出来る。
8GB 超領域から boot program を起動したい場合、8GB 超に対応
した boot loader が必要となる。FDISK.EXE で標準的に作られる
boot loader や、LILO, booteasy といった PC-UNIX 用の標準的な
boot loader は 8GB 超に対応していない。
8GB 超対応の boot loader としては、extipl や GNU GRUB とい
ったものが確認されている。
但し、(A)(B) の制限がある場合、boot loader の変更は無効。
- 4.MS-DOS, MS-Windows
MS-DOS, MS-Windows95 初期バージョン(4.00.950, 4.00.950 A)
の system call や DLLは、8GB 超の HDD を扱えないので、(D) の
制限が効いてくる。
HDD の partition をどうやりくりしたところで、8GB 超を扱う
手段がないので、OS を介する限りは 8GB 超領域には access 出来
ない。
8GB 以内の領域に完全に含まれる partition のみを利用してい
れば、この問題は回避出来る。
8GB 超領域を扱いたい場合、MS-Windows95 OSR2, MS-Windows98
等の新しい OS に upgrade するか、または直接 BIOS 経由で HDD
access するような application を用いるしか手はない。
但し、(A)(B) の制限がある場合、OS の upgrade は無効。
- 5.FreeBSD
FreeBSD 旧バージョン(2.2.7-RELEASE 以前) の system call は
8GB 超の HDD を扱えないので、(D) の制限が効いてくる。
更に、kernel boot loader が 8GB 超対応ではないため、2.2.8-
RELEASE 以降の kernel であっても kernel を含む partition だ
けは 8GB 以内の領域に置かなくてはならない。
MS-DOS 同様、8GB 以内の領域内で HDD を利用すれば、この問題
は回避出来る。
8GB 超領域を扱いたい場合、2.2.8-RELEASE 以降の新しい OS に
upgrade するか、または自分で kernel source の wd.c を書換え
て 8GB 超対応 kernel を作るしか手はない。
また、GNU GRUB を使えば 8GB 超位置にある kernel も起動出来
る。この場合は GRUB から直接 kernel を起動させる設定にしてお
く必要がある。
但し、FreeBSD は boot 時以外は BIOS を介さないため、(A) の
制限がある場合は OS の upgrade は無効だが、(B) の制限は boot
さえしてしまえば関係なくなる。
- 6.FAT32X file system
MS-Windows で 8GB 超領域を扱う場合、その partition は LBA
(Logical Block Access) という access 方式を用いるための file
system (FAT32X) として用意される。
この file system は、MS-DOS や MS-Windows95 初期バージョン、
FreeBSD 旧バージョン(2.2.8-RELEASE 以前) では知られていない
ので、(D) の制限が効いてくる。
MS-Windows の FDISK.EXE で「大容量ディスクのサポートを使用
可能にしますか (Do you wish to enable large disk support)」
の問いに [N] と答えて partition を作成すれば、FAT32X は作ら
ないので、この問題は回避出来る。
FAT32X を扱いたい場合、MS-Windows95 OSR2, MS-Windows98 及
び FreeBSD 3.0-RELEASE に upgrade するか、または直接 BIOS 経
由で HDD access するような application を用いる(MS-DOS, MS-
Windows) もしくは自分で kernel source の diskslice_machdep.c
を書換えて FAT32X 対応 kernel を作る(FreeBSD) しか手はない。
但し、FAT32X が扱えるようになっても、8GB 超領域が使えるか
どうかは別項目の制限に依存する。
- 7.partitioning tools
MS-DOS, MS-Windows 環境で partition を切るための application
は、FDISK.EXE 以外に FIPS.EXE や Partition Magic 等があるが、
これらには (E) の制限が効いてくる。
FIPS 1.4 以前は FAT32X に対応していないので、8GB 超を扱う
ための file system を操作出来ない。FIPS 2.0 は FAT32X を扱う
ことは出来るが、8GB 超を扱えないので、8GB 超にある partition
を操作すると HDD 内容を壊してしまう。
Partition Magic 3.0 以前は FAT32X に対応していないので、8GB
超を扱う file system を操作出来ない。Partition Magic 4.0 は
FAT32X を扱うことは出来るが、8GB 以内に作られた FAT32X を異
常扱いしてしまうため、8GB 超の FAT32X しか扱えない。
MS-Windows の FDISK.EXE だけを使っていれば、この問題は回避
出来る。
FAT32X を安全に扱いたい場合、FIPS や Partition Magic の作
者、メーカに対して要望を出し、application の改善を訴えるしか
手はない。
但し、FAT32X が安全に扱えるようになっても、8GB 超領域が使
えるかどうかは別項目の制限に依存する。