--- [管理番号 1] Q. 8GB を超える hard disk drive (以下 HDD と略) が使えないことがあると いう話を聞きましたが本当ですか? A. 正確には、1,024 cylinders を超える HDD に関する問題で、普通は 1,024 cylinders で 8GB (8x2^30 bytes の意) となるところから「8GB 超」と呼 ばれています。 --- [管理番号 2] Q. どうして 8GB 超の HDD が使えないのですか? A. 原因はハード、ソフト共に色々とあって、それぞれの原因により問題の程 度や症状も異なります。詳細は以下の URL にまとめてありますので参照し て下さい。 HTML 版: http://hp.vector.co.jp/authors/VA012337/freebsd/over8g.html Text 版: http://hp.vector.co.jp/authors/VA012337/freebed/over8g.txt --- [管理番号 3] Q. HDD の構造はどうなっているのでしょう? A. 一般に HDD は薄い円盤を何枚か重ね合わせた構造をしており、この円盤の 各面を head (又は surface) と言います。 また、この各面に対し、半径方向に等分した一円周を track と言い、この 各面の track を回転軸方向に連ねた仮想的な円筒を cylinder と言います。 更にこの track を円周方向に分割した一区切りを sector と言い、これが HDD を構成する最小ブロックとなります。 物理的には、surface -> track -> sector という順で構成されていますが、 これを輪切りではなく皮を剥くような仮想的な構成に見たてて、論理的に は、cylinder -> head -> sector という順で構成されているものとして扱 うことが多くなっています。 --- [管理番号 4] Q. CHS って何ですか? A. cylinder/head/sector の頭文字を取ったものです。「HDD 一台あたりの総 cylinder 数」「HDD 一台あたりの総 head 数」「track 1 つあたりの総 sector 数」をそれぞれ「cylinder 数」「head 数」「sector 数」と呼び、 これらの組を「CHS 値」と呼びます。 因みに、head と track は別の概念ですが、その構造を頭に描いて貰うと、 「head 数」と「head nder あたりの track 数」とが等しくなることが判 ると思います。 CHS 値の中の「head 数」が表現によって「track 数」となることがあるの はこのためです。 --- [管理番号 5] Q. geometry って何ですか? A. 元々の意味は「幾何学」ですが、HDD の性質を表す要素として用いられる ことがあります。 具体的には、HDD 全体で幾つの cylinder を持つかとか、1 sector あたり の byte 数だとかを総称して「geometry 情報」と呼びます。CHS 値もその 代表的なものです。 --- [管理番号 6] Q. geometry 変換って何ですか? A. 従来の IDE HDD では、各 cylinder/head/sector にそれぞれ番号を割り振 って、「第 x cylinder の y 番目の track の z 番目の sector」といっ た風に、その番号の組み合わせで位置を示していました。 しかし、HDD の容量が増加するに連れ cylinder や sector の分割の細密 化が激しくなると、外周 track と内周 track とで sector 数が異なった り、各 track 間での開始 sector の位置が異なったりと、従来の CHS 値 が使えなくなってきました。 このため、物理的な geometry 情報は無意味になり、その代わりに仮想的 な geometry 情報をデッチ上げて用いることになりました。この情報改竄 を「geometry 変換」と言います。 --- [管理番号 7] Q. LBA って何ですか? A. Logical (又は Linear) Block Addressing の略で、IDE HDD 上の位置を示 すために使われる数値の表し方です。 CHS 値での表し方とは異なり、LBA 方式では全ての sector に HDD 全体の 通し番号を設けて、その位置を表しています。このため、geometry 変換も 要りませんし、software 側からは HDD 内の構造を一切意識する必要が無 くなりました。 最も大きな利点は、CHS 方式での access を行なう PC/AT BIOS には、各 geometry 値に上限があり、cylinder 値の上限が 1,024 となっていたので ですが、LBA 方式ではこの上限が無くなったという点にあるでしょう。 したがって、1,024 cylinders 超の HDD 領域を access するには、LBA 方 式が不可欠となります。 --- [管理番号 8] Q. partition って何ですか? A. 一台の HDD の中を論理的に複数の領域に分けて用いる場合、この各領域を partition と呼びます。こうして分割して用いることで、各 partition 毎 に別々の OS を入れたり、別々の format にしたりすることが可能になり ます。 それぞれの partition format は固有の ID 値を持っており、OS がこれ を見てその partition の format を知ることが出来るようになっており、 違う OS 用の partition は見ないような仕組みになっています。 --- [管理番号 9] Q. 基本 partition、拡張 partition って何ですか? A. PC/AT の規格では、一台の HDD の中に用意出来る partition は最大 4 領 域まで、という制限があります。これは、HDD 内の partiotion table が 4 つしか用意されていないことに起因しますが、これを基本 partition と 呼びます。 4 つという制限は余りに少ないので、これを拡張する手法を Microsoft 社 が開発しました。基本 partition の一つを一台の HDD と見なし、その中 に partition table を内包させてしまうという手法です。この特殊な基本 partition を拡張 paritition と呼びます。 拡張 partition の構造は、論理的には一台の HDD と同じ構成になってい るので、拡張 partition の中に更に仮想的に基本 partition を設けるこ とが出来ます。この仮想的な基本 partition のことを論理 partition と 呼びます。 また、HDD 固有の partition table のある sector を MBR (Master Boot Record) と呼ぶのに対し、拡張 partition の中に設けた partition table のある sector のことを EMBR (Extended Master Boot Record) と呼びま す。 --- [管理番号 10] Q. Microsoft 方式の partition 構造を教えて下さい。 A. HDD 固有の partition table にも拡張 partition 内の partition table にも、PC/AT 的規格では 4 つまでの partition を作成可能のはずですが、 Microsoft 方式では常に 1 つしか用いられません。 複数作成したい場合は、まず拡張 partition を作成してから、2 つ目以降 の partition を論理 partition として作成する必要があります。 1 つ目の論理 partition は、HDD 固有の partition table に書込まれた 拡張 partition の中に、1 つ目の partition として作成されます。2 つ 目の論理 partition は、最初の拡張 partition の partition table に更 に拡張 partition を作成し、その中 1 つ目の partition として作成され ます。 Microsoft 社の partitioning tool である FDISK.EXE では、操作画面上 は単一の拡張 paritition の直下に複数の論理 partition を作るような操 作感覚になっていますが、実際は複数の拡張 partition を入れ子に作り、 それぞれの拡張 partition に設けられた partition table を link して 繋げていくという構造により、複数の論理 partition を構成しているので す。 --- [管理番号 11] Q. FAT32 って何ですか? A. partition の format type の一つで、Windows95 で採用されている、大容 量対応の partition です。従来の FAT12 や FAT16 という partition と 異なり、最大 2GB の領域を作成出来ます。PC/AT 機での partition ID は 0Bh です。 「FAT」の後の数値は、partition 上の位置を示す数値を何 bits で表現す るかという bit 数を表しています。FAT16 は 16bits の数値で位置を示す ため、大容量 partition にすると後ろの方の位置が示せなくなるのです。 --- [管理番号 12] Q. FAT32X って何ですか? A. partition の format type の一つで、Windows95 OSR2 で採用されている、 LBA 対応の partition です。disk access に CHS 方式を使う FAT32 と異 なり、最大 2TB までの領域を作成出来ます。PC/AT 機での partition ID は 0Ch です。 FAT32 と同様に、FAT16 にも LBA 対応版の FAT16X という partition が 存在しますが、FAT12 については LBA 対応版は存在しません。LBA 方式で しか access 出来ない領域には必ず FAT32X か FAT16X で partition が作 成されます。 --- [管理番号 13] Q. FDISK.EXE はどうやって partition type を決めているのですか? A. 最初に「大容量ディスクのサポートを使用可能にしますか」(英語版では 「Do you wish to enable large disk support」) と聞いてきますが、こ の時に「Y」と答えた時のみ FAT32, FAT32X, FAT16X が作成可能になりま す。 FAT12, FAT16, FAT32 の違いは partition size によって一意に定まりま す。一般的には、その partition type で作成可能な最大容量までは、そ の partition が採用されます。 FAT16X, FAT32X は、その partition の位置が HDD 先頭から 8GB 超の位 置にある時のみ作成されます。8GB 超の位置では、容量が幾ら小さくても FAT12 partition は作成しません。 --- [管理番号 14] Q. 8GB 以内の領域なのに FAT32X が出来てしまいました。 A. FDISK.EXE の partition type 決定ルールの例外です。HDD の末尾を含む partition を作成するとこうなります。 CHS 方式で geometry 変換を行なうと、丁度割切れる場合を除けば除算の 余りが生じます。このため、一番最後の cylinder には CHS 方式では表現 し切れない個所が生じてしまいます。 この部分を有効に使うためには LBA 方式を使う必要があるため、この部分 を含む partition は FAT32X や FAT16X で作成されます。 --- [管理番号 15] Q. FIPS で 8GB 超 HDD は扱えますか? A. 扱えません。LBA 対応はされていませんので、8GB 以内での disk 再配置 しか出来ません。 1.4 以前では単に扱えないだけで済むのですが、1.5c 以降の新しい版では 更に注意が必要です。1.5c で FAT32 対応をした際に、FAT32X partition についても、一般の FAT32 partition と全く同等に CHS 方式を用いるよ うに構築されてしまいました。 このため、8GB 超の位置にデータの存在する HDD については、正しく再配 置出来ずに、内容を壊してしまいます。この時に破壊されるのは、8GB 超 の位置ではなく 8GB 以内の位置にあるデータなので、思わぬところにある データが壊れていることになるでしょう。 --- [管理番号 16] Q. The Partition Resizer (presizer) で 8GB 超 HDD は扱えますか? A. 1.3.0 以降でのみ扱えます。但し、LBA 対応や 2TB までの support は明 確に謳われていますが、FAT16X や FAT32X に対してどう対応しているのか は、source が非公開のため確認出来ていません。 --- [管理番号 17] Q. GNU Parted で 8GB 超 HDD は扱えますか? A. 最初から LBA や FAT32X の対応を考えて作られているので、問題なく扱え ます。単なる FAT 領域サイズ変更だけでなく、Linux 用の ext2fs を扱え ますし、FAT16, FAT32 間の相互 convert にも対応しています。 また、LANG=ja 環境では日本語メッセージで表示されますので、英語の苦 手な人にも親切です。 但し、これは Linux 専用の software なので、MS-DOS や FreeBSD の環境 では利用出来ません。また、Linux の kernel が 2.2.x 以上という制限も ありますので、Linux emulator での動作も難しいと思われます。 下記 URL にある image file を dd や RAWRITE.EXE を用いて floppy に 焼いて boot disk を作れば、Linux 環境が無くても使うことは出来ますが、 Parted を起動する度に reboot を行なうという手間が必要です。 ftp://ftp.gnu.org/gnu/parted/bootdisk/partboot.img --- [管理番号 18] Q. PartitionMagic で 8GB 超 HDD は扱えますか? A. 4.0 以降でのみ扱えます。それより前の版では LBA 対応されていませんの で、FAT32X や FAT16X は再配置出来ません。 但し、4.0 では 8GB 以内の FAT32X や FAT16X を「異常 partition」と決 め付けてしまっているので、これらの partition については 4.0 を用い ても再配置出来ません。 また、4.0 に添付の BootMagic という boot selector がありますが、こ ちらは残念ながら LBA 対応されていませんので 8GB 超領域の OS を boot 出来ません。 5.0 に添付の BootMagic VERSION 2.0 以降では LBA を扱えますので、8GB 超領域の OS の boot や、BootMagic 自身を 8GB 超領域に置くことが出来 ます。 --- [管理番号 19] Q. Partition-It で 8GB 超 HDD は扱えますか? A. FAT32 の support はされていますが、LBA 対応されていないので FAT32X は扱えません。WindowsNT 用の 64KB cluster も扱えませんので、FAT16 で扱える最大容量は 2GB となります。 Partition-It では、これらの扱えない partition type に対して、一切 の警告なしに勝手に他の partition type に変換してしまうようですので 注意して下さい。 また、添付の Select-It という boot selecter も同様に LBA 対応され ていませんので、8GB 超領域の OS を boot 出来ません。 註) Partition-It は 02/16/1999 をもって製造中止になっています。 --- [管理番号 20] Q. PARTITION COMMANDER で 8GB 超 HDD は扱えますか? A. LBA にも FAT32X にも標準で対応していますので、8GB 超 HDD 環境で使 用して支障ありません。 また、添付の SYSTEM COMMANDER Personal という boot selecter も同様 に LBA, FAT32, FAT32X を扱えますので、8GB 超 HDD で使えます。 --- [管理番号 21] Q. PC-UNIX で良く使われる boot selecter は 8GB 超 HDD でも使えますか? A. booteasy は 8GB 超では使えません。かつては FreeBSD で標準的に使われ ていましたが、最終更新日も古く今後の対応も余り期待出来ないと思われ ます。 FreeBSD 3.0 から、この booteasy に良く似たものを core team が full scratch で作り、標準の boot manager (boot0) として添付しています。 こちらは 4.1-RELEASE から LBA 対応されました。 OS-BS は 8GB 超では使えません。この改良版が Data Becker BootManager として商品化されていますが、そちらは LBA 対応されているので 8GB 超 でも使えます。 LILO は 21-3 (24-FEB-2000) で LBA 対応しました。distribution に付 属のものがこれより以降のものであれば 8GB 超で使えます。 --- [管理番号 22] Q. 8GB 超 HDD で使える boot selector を教えて下さい。 A. extipl は Ver 5.00 から LBA 対応されています。機能やサイズに応じて 4 種のモデルが存在しますが、そのうち「scorpius」以外の 3 種で LBA を扱えますので、それらを使えば 8GB 超環境でも boot 可能です。 MBM は R0.31 から LBA 対応されていますので、8GB 超環境で使えますが、 graphical 画面の「拡張メニュー」を使うには別途空き cylinder を必要 とするので、空きが無い場合はこの機能は使わない方が良いでしょう。 SyMon は Release II で LBA 対応しましたので 8GB 超環境で使えます。 partition 編集や破損 partition 検出など機能多彩で、また install 時 に MBR を保存するので uninstall も可能です。 GNU GRUB は標準で 8GB 超に対応していますが、compile の際に binutils の新版が必要だったり、OS の IPL を越えた stage まで boot しようとす る設定が可能だったりするので、状況を正確に把握している人以外にはお 奨め出来ません。 XOSL(Extended Operating System Loader) は標準で 8GB 超に対応してい ます。GUI で機能性や操作性に長ける反面、起動時間やディスク占有サイ ズが大きくなります。既存の MS-DOS partition 上か、もしくは XOLS 専 用 partition に install 出来ますが、どちらにしても最低 400KB のディ スク容量が必要です。 Ranish Partition Manager は元々は partition 再配置ツールですが、独 自の boot selector を持っています。Ver.2.38βで LBA 対応しましたが、 残念ながらこの版から shareware になってしまいました。 商用ソフトになりますが、SYSTEM COMMANDER 7 は 8GB 超問題をクリアし ています。