Initial translation of multi-os/article.sgml.

Submitted by:	ako umatani <uh7a-umtn@asahi-net.or.jp>
Reviewed by:	kuriyama, kimuyasu@remus.dti.ne.jp
This commit is contained in:
Jun Kuriyama 2000-01-06 07:22:42 +00:00
parent e284b40a51
commit bbfe9c1e57
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=6325
4 changed files with 865 additions and 0 deletions
ja_JP.eucJP/articles

View file

@ -0,0 +1,16 @@
# $FreeBSD$
# Original revision: 1.5
#SUBDIR = committers-guide
#SUBDIR+= diskless-x
#SUBDIR+= fonts
#SUBDIR+= formatting-media
#SUBDIR+= mh
SUBDIR+= multi-os
#SUBDIR+= new-users
#SUBDIR+= programming-tools
# ROOT_SYMLINKS+= new-users
DOC_PREFIX?= ${.CURDIR}/../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,9 @@
#
# $FreeBSD$
#
# Original revision: 1.3
JADEFLAGS= -ilang.ja
TIDYFLAGS= -raw
DESTDIR?= ${DOCDIR}/ja/articles/${.CURDIR:T}

View file

@ -0,0 +1,15 @@
# $FreeBSD$
# Original revision: 1.8
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,825 @@
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/multi-os/article.sgml,v 1.11 1999/10/13 10:51:58 jhb Exp $ -->
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
<article>
<artheader>
<title>FreeBSD と他の OS を共存させるには</title>
<authorgroup>
<author>
<firstname>Jay</firstname>
<surname>Richmond</surname>
<affiliation>
<address>
<email>jayrich@sysc.com</email>
</address>
</affiliation>
</author>
</authorgroup>
<pubdate>6 August 1996</pubdate>
<abstract>
<para>
ここでは, FreeBSD を (Linux, MS-DOS,OS/2, Windows 95 など等の)
他の人気のある OS とうまく同居させる方法について説明します.
この文章を書くにあたり,
Annelise Anderson <email>andrsn@stanford.edu</email>,
Randall Hopper <email>rhh@ct.picker.com</email>,
Jordan K. Hubbard <email>jkh@time.cdrom.com</email>
には特にお世話になりました.
</para>
</abstract>
</artheader>
<sect1>
<title>概要 - Overview</title>
<para>
大容量のディスクがないと, 大半の人は複数の OS を
うまく載せることができないので,
大容量 EIDE ドライブについての特別な情報を含めます.
複数の OS を同居させるには, ハードディスクの設定および可能な
OS の組合せが多々考えられるため,
<xref linkend="ch5"> は, 非常に役立つかと思います.
その章には, 複数の OS を使用するための特別な
コンピュータ設定についての詳細が載っています.
</para>
<para>
ここでは, 追加する OS 用として
既にハードディスクに空きがあることを仮定しています.
ハードドライブのパーティションを再度切り直すと,
既存のパーティションにあるデータを壊すことになりかねません.
しかし, ハードドライブが完全に DOS で占められているようであれば,
(FreeBSD CD-ROM の中の <filename>\TOOLS</filename> ディレクトリ,
あるいは <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools">ftp
</ulink> から取得できる) FIPS ユーティリティが役に立つかと思われます.
このツールによって, データを破壊することなくハードディスクの
パーティションを切り直すことができます.
また, 一連の作業なしにパーティションのサイズを変更したり削除できる
Partition Magic という商用のプログラムも出回っています.
</para>
</sect1>
<sect1 id="ch2">
<title>ブートマネージャーの概要 - Overview of Boot Managers</title>
<para>お目にかかることのあるかもしれないいくつかのブートマネージャーに
ついて簡単に説明します.
コンピュータの設定によっては, 同じシステム上で 1 つ以上
ブートマネージャーを使用した方が便利な場合があります.</para>
<variablelist>
<varlistentry>
<term>Boot Easy</term>
<listitem>
<para>これは, FreeBSD のデフォルトとして使用されている
ブートマネージャーです.
BSD, OS/2(HPFS), Windows 95 (FAT や FAT32), および Linux
を含む, 大半の OS に対して使用可能です.
ファンクションキーでパーティションを選ぶことができます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>OS/2 Boot Manager</term>
<listitem>
<para>FAT, HPFS, FFS (FreeBSD), および EXT2(Linux) を起動します.
また, FAT32 パーティションを起動することも可能です.
パーティション選択は, カーソルキーで行います.
マスターブートレコード (MBR) を使用する他のと違い,
OS/2 Boot Manager は,
唯一自分用にひとつパーティションを占有します.
そのため, 起動時の問題を避けるために,
第 1024 番目より前のシリンダーにインストールしなければいけません.
MBR ではなく, ブートセクターの一部にある場合は,
LILO を用いて Linux を起動することができます.
OS/2 のブートマネージャーで Linux を起動させる方法については,
次のサイト
<ulink URL="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">Linux HOWTO</ulink>
に詳細がありますのでご覧下さい.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>OS-BS</term>
<listitem>
<para>こちらは, Boot Easy の代わりになります.
ブーティングに時間制限をしたり,
デフォルトパーティションが起動するように設定したり,
ブートプロセスをより一層制御することができます.
このプログラムのβ版では, カーソルキーを用いて起動する OS
を選択することができます.
FreeBSD CD-ROM の <filename>\TOOLS</filename> ディレクトリ,
あるいは <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools">
ftp</ulink> から入手することができます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>LILO, または LInux LOader</term>
<listitem>
<para>これは, 制限のあるブートマネージャーです.
FreeBSD を起動することができますが,
LILO の設定ファイルを少々編集する必要があります.</para>
</listitem>
</varlistentry>
</variablelist>
<note id="fat32">
<title>FAT32 について</title>
<para>FAT32は, Microsoft の OEM SR2 β版に含まれた FAT
ファイルシステムへ代わるものです.
FAT32 は, 1996 年末へ向けての Windows 95 が載っている
コンピュータの使用を容易にすることが期待されています.
通常の FAT ファイルシステムを変換し,
大きなハードドライブにおいてもより小さなクラスタを使うことができます.
また, FAT32 は従来の FAT ブートセクタやアロケーションテーブルを
変更することにより, いくつかのブートマネージャとの互換性を
無くしてしまっています.
</para>
</note>
</sect1>
<sect1 id="ch3">
<title>典型的なインストール</title>
<para>ここでは, 大容量の EIDE ハードドライブが 2 つあり,
FreeBSD, Linux, Windows 95 を同居させようとしている状態を
仮定します.</para>
<para>このようなハードディスクを使用した場合の
一例について見てみましょう:</para>
<itemizedlist>
<listitem>
<para><filename>/dev/wd0</> (1 番目の物理的なハードディスク)</para>
</listitem>
<listitem>
<para><filename>/dev/wd1</> (2 番目のハードディスク)</para>
</listitem>
</itemizedlist>
<para>両方のディスクとも 1416 シリンダあります.</para>
<procedure>
<step>
<para><filename>FDISK.EXE</> ユーティリティが入っている
MS-DOS, あるいは Windows 95 boot ディスクから起動させ,
1 番目のディスク上に 50MB のプライマリパーティション
(Windows 95 には 35-40MB に加えて余分な空きをお勧めします)
を作成します. また, Windows アプリケーションとデータ用として,
2番目のハードディスク上に大きめのパーティションを作成します.
</para>
</step>
<step>
<para>再起動し, <filename>C:</> パーティション上に
Windows 95 をインストールします
(言うは易く, 行うは難し).</para>
</step>
<step>
<para>次に Linux をインストールします.
Linux の全てのディストリビューションについては分かりませんが,
slackware には LILO (<xref linkend="ch2"> 参照)
が含まれます. Linux <command>fdisk</command> を使って,
ハードディスクを切り分ける際
(おそらく root パーティションと swap のために, 300MBくらい),
Linux はすべて最初のドライブに置きます.</para>
</step>
<step>
<para>Linux をインストールした後, LILO をインストールする前に,
LILO のインストール先が MBR (マスタブートレコード) ではなく,
Linux の root パーティション上になるように
インストールして下さい.</para>
</step>
<step>
<para>残りのハードディスクは, FreeBSD にあてます.
また, FreeBSD の root スライスが 1024 シリンダを越えないように
気を付けましょう
(ここで想定している 720MB のディスクの場合,
1024 シリンダは 528MB の位置にあります).
残りのハードディスク (270MB) は, <filename>/usr</> と
<filename>/</> スライスにあててもいいでしょう.
2 番目のディスクの残りは, <filename>/usr/src</>
とスワップ領域にあてます.
この残りの容量は, 手順1. で作成した Windows アプリケーション /
データのパーティションに依存します.</para>
</step>
<step>
<para>Windows 95 <command>fdisk</> ユーティリティで見た場合,
ハードドライブは次のように見えます:
<screen>
---------------------------------------------------------------------
領域情報を表示
現在のハードディスク: 1
領域 状態 種類 ボリュームラベル Mバイト システム 使用
C: 1 A PRI DOS 50 FAT** 7%
2 A Non-DOS (Linux) 300 43%
ディスクの総容量は 696 Mバイトです. (1 M バイト = 1048576 バイト)
続けるには Esc キーを押してください.
---------------------------------------------------------------------
領域情報を表示
現在のハードディスク: 2
領域 状態 種類 ボリュームラベル Mバイト システム 使用
D: 1 A PRI DOS 420 FAT** 60%
ディスクの総容量は 696 Mバイトです. (1 Mバイト = 1048576 バイト)
続けるには Esc キーを押してください.
---------------------------------------------------------------------
</screen>
** OEM SR2 update をお使いの場合は,
FAT16 あるいは, FAT32 と表示されることがあります.
<xref linkend="ch2"> をご覧下さい.</para>
</step>
<step>
<para>FreeBSD をインストールします.
最初のハードディスクが BIOS で <quote>NORMAL</>
と設定された状態でブートされるようにします.
そうでない場合は,
ブート時に本来のディスクジオメトリを入力しなければなりません
(やり方は, Windows 95 をブートし,
Microsoft Diagnostics (<filename>MSD.EXE</>) に相談するか,
BIOS をチェックして下さい).
ここでのパラメータ <literal>hd0=1416,16,63</> は,
<replaceable>1416</> は, ハードディスクのシリンダ数であり,
<replaceable>16</> は, トラックあたりのヘッド数,
<replaceable>63</> は, トラックあたりのセクタ数です.</para>
</step>
<step>
<para>ハードディスクを切る際は,
Boot Easy を 1 番目のディスクに載せるようにします.
2 番目のハードディスクについては心配する必要はありません.
このディスクにより, 起動が妨げられることが無いからです.</para>
</step>
<step>
<para>再起動すると, Boot Easy が DOS (Windows 95), Linux,
BSD(FreeBSD) の 3 つの OS を認識します.</para>
</step>
</procedure>
</sect1>
<sect1 id="ch4">
<title>注意点として - Special Considerations</title>
<para>大半の OS は, 自分がハードディスクのどの領域にどのように
載せられているかということを非常に気にします.
Windows 95 や DOS は, 1 番目のハードディスクの
基本領域にインストールしなくていけません.
OS/2 は, 例外にあたります.
1 番目, 2 番目のハードディスクを問わず,
基本でも拡張領域でも載せることができます.
不確かな場合は, 起動可能なパーティションを
1024 シリンダ内に入れるようにして下さい.</para>
<para>既存のBSD システムに Windows 95 を載せると,
MBR が <quote> 破壊 </> され,
以前使用していたブートマネージャーを再インストールする必要がある
でしょう.
CD-ROM の \TOOLS ディレクトリあるいは
<ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools">ftp</ulink>
サイトに含まれる BOOTINST.EXE ユーティリティを用いて,
Boot Easy を再インストールできます.
また, インストーラのパーティションエディタを使って
Boot Easy を再インストールすることもできます.
そこから, FreeBSD パーティションを bootable としてマークをつけ,
Boot Manager を選択します.
変更した情報を MBR に (W)rite out (= 保存) するため, W を入力します.
ここで再起動します.
Boot Easy が Windows 95 を DOS として認識するはずです.
</para>
<para>OS/2 は, FAT, HPFS パーティションを認識することを
覚えておいて下さい. 但し, FFS (FreeBSD), EXT2 (Linux)
パーティションは認識しません.
同様に, Windows 95 は, FAT や FAT32 を読み書きすることしか
できません ( <xref linkend="ch2"> を参照下さい ).
現状では HPFS パーティションを読むことはできませんが,
FreeBSD はほとんどのファイルシステムを読むことができます.
Linux では, HPFS パーティションを読むことができますが,
書き込みはできません.
最近の Linux カーネル (2.x) のバージョンでは,
Windows 95 VFAT パーティションに読み書きができます
(VFAT は, Windows 95 で長いファイル名を利用可能にするもので,
ほとんど FAT と一緒です).
Linux は, ほとんどのファイルシステムに読み書きができます.
理解しましたか? そう期待して...</para>
</sect1>
<sect1 id="ch5">
<title>例 - Examples</title>
<para><emphasis>(この章はまだまだ手を入れる必要があります.
例があったら, <email>jayrich@sysc.com</email>
までメールを送って下さい.)</emphasis></para>
<para>FreeBSD+Win95: Windows 95 の後に FreeBSD を載せた場合は,
> Boot Easy メニューの <literal>DOS</> をご覧下さい.
これが Windows 95 になります.
FreeBSD の後に Windows 95 を載せた場合は, 上記の <xref linkend="ch4">
をご覧下さい.
お持ちのハードディスクが 1024 シリンダを越えない場合は,
ブート時の問題はありません. パーティションの1 つが 1024 を越える,
<errorname>invalid system disk</> under DOS (Windows 95) and FreeBSD
will not boot ( DOS (Windows 95) のシステムディスクは無効です.
FreeBSD は起動しません ) のようなメッセージがでる場合は,
BIOS の <quote>&gt;1024 cylinder support</> あるいは
<quote>NORMAL/LBA</> mode の設定を確認して下さい.
正常に起動するには, DOS に LBA (Logical Block Addressing)
が必要かも知れません. 毎回起動時にBIOS の設定を切替える方
法が好ましくない場合は, CD に含まれる <filename>FBSDBOOT.EXE</>
ユーティリティからDOS を通して,
FreeBSD を立ち上げる方法もあります(このプログラムは,
FreeBSD パーティションを見付けて, 起動します).
</para>
<para>FreeBSD+OS/2+Win95: 何も新しいことはありません.
OS/2 のブートマネージャは, これら全ての OS を起動することができます.
そのため, 何の障害にもなりません.</para>
<para>FreeBSD+Linux: Boot Easy を使って, 両方の OS を立ち上げること
ができます.</para>
<para>FreeBSD+Linux+Win95: (<xref linkend="ch3"> を参照)</para>
</sect1>
<sect1 id="sources">
<title>他の参考となる資料</title>
<para>ハードディスク上に複数の OS を同居させる方法について
取り扱っている <ulink
URL="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">Linux
HOW-TO</ulink> は沢山あります.</para>
<para><ulink
URL="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+DOS+Win95+OS2.html">Linux+DOS+Win95+OS2
mini-HOWTO</ulink> は, OS/2 ブートマネージャの設定についての
詳細が載っています. また, <ulink
URL="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD
mini-HOWTO</ulink> も同様に面白いかと思います. <ulink
URL="http://www.in.net/~jkatz/win95/Linux-HOWTO.html">Linux-HOWTO</ulink>
は, 訳に立つサイトです.</para>
<para<ulink
URL="http://www.dorsai.org/~dcl/publications/NTLDR_Hacking">NT
Loader Hacking Guide</ulink> には,
Windows NT, Windows 95, DOS を他の OS
とマルチブートする方法についての情報が載っています.</para>
<para>Hale Landis の "How It Works" ドキュメント集には,
全種類のディスクジオメトリやブーティングに関する情報が含まれます.
以下のサイトは, お役に立つかもしれません:
<ulink
URL="ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip">ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip</ulink>,
<ulink
URL="http://web.idirect.com/~frank/">http://www.cs.yorku.ca/People/frank/docs/</ulink></para>
<para>最後に, 配布されているカーネルソース ( <ulink
URL="file:/usr/src/sys/i386/boot/biosboot/README.386BSD">file:/usr/src/sys/i386/boot/biosboot/README.386BSD</ulink>
に展開されています) に含まれる FreeBSD
のカーネルドキュメンテーションを見落とさないようにしてください.</para>
</sect1>
<sect1>
<title>技術的な詳細 - Technical Details</title>
<para><emphasis>(Randall Hopper, <email>rhh@ct.picker.com</email>
の貢献によるものです)</emphasis></para>
<para>この章は, ハードディスクやハードディスク起動時の
過程についての基礎知識を提供しますので,
複数の OS を起動する際の設定に問題がある時に,
トラブルシューティングとして役に立つかと思われます.
最初は基本的な用語で始まるので, 見慣れない内容が出てくる
まで流し読みし, そこから読み始めてもよいでしょう.</para>
<sect2>
<title>ハードディスクについて - Disk Primer</title>
<para>ハードディスク上のデータの位置を示すのに使われる,
基本となる用語が 3 つあります: シリンダ, ヘッド, セクタ.
これらの用語の関係を知ることは, とりわけ重要と言う訳ではありません.
が, ディスク上の物理的なデータの位置を示す,
ということは覚えておきましょう.</para>
<para>ハードディスクには固有ののシリンダ番号, ヘッド番号,
シリンダヘッドごとのセクタ番号があります
(シリンダヘッドはトラックとも呼ばれます).
この情報は, ハードディスクの "ディスクジオメトリ"
を定義します. シリンダとヘッドの数は様々ですが,
通常, セクタごとに 512 バイト, トラックごとに 63 セクタあります.
このように, 計算することで
ディスクに納めることのできるデータのバイト数が分かります:</para>
<informalexample>
<para>(# of cylinders) &times; (# heads) &times; (63
sectors/track) &times; (512 bytes/sect)</>
</informalexample>
<para>例として, Western Digital AC31600 EIDE
ハードディスクは次のとおりです:</para>
<informalexample>
<para>(3148 cyl) &times; (16 heads) &times; (63
sectors/track) &times (512 bytes/sect)</para>
</informalexample>
<para>これは,1,624,670,208 バイト, あるいは約 1.6 GBになります.</para>
<para>ATA の ID もしくはネットワークから持ってきたプログラムを用いて
ハードディスクのディスクジオメトリ
(シリンダ, ヘッド, セクタ/トラック番号) が分かります.
おそらくハードディスクにこう言った情報が付属していますが,
BIOS LBA (<xref linkend="limits"> 参照) を使用している場合は,
物理的なジオメトリを得るためにどんなプログラムを使用してもいい
わけではないことに注意してください.
何故かと言うと, 沢山のプログラム
(例 <filename>MSD.EXE</> あるいは FreeBSD fdisk) は,
物理的なディスクジオメトリを認識しません.
代りに <firstterm>変換されたジオメトリ</>
(LBA を使った仮想の番号) を報告します.
これが何を意味しているのかについては, 以下をお読み下さい.
</para>
<para>これらの用語について役立つこととしては, 与えられた三つの数字
&mdash; シリンダ数, ヘッダ数, トラックあたりのセクタ数 &mdash;
はハードディスク上の特定のセクタ
(データの 512 バイトブロック) を絶対位置で識別します.
シリンダ, ヘッドは 0 から, セクタは 1 から番号付されます.
</para>
<para>さらに詳しい技術情報に興味を持った場合,
ディスクジオメトリ, ブートセクタ, BIOS などに関する情報は
ネット上の至るところで得ることができます.
Lycos, Yahoo などで
<literal>boot sector (ブートセクタ)</> ,
<literal>master boot record (マスターブートレコード) </>
などを検索してみてください.
それらの役立つ情報の中でも, Hale Landis の <citetitle>How It Works</>
ドキュメントは参考になります.
このドキュメント集に関しては
<xref linkend="sources"> セクションを参照してください.
</para>
<para>もう用語については十分ですね. 次は起動についてお話しします.</para>
</sect2>
<sect2 id="booting">
<title>起動時のプロセス - The Booting Process</title>
<para>ハードディスクの一番先頭のセクタ上
(シリンダ 0, ヘッド 0, セクタ 0) にマスターブートレコード(MBR)
はあります.
MBR は, ハードディスクのマップを含みます.
また, 最大 4 つの <firstterm>パーティション </>
を認識することができ, それぞれのパーティションは,
隣接したディスクの塊と考えて下さい.
独自のパーティションと混乱しないように, FreeBSD ではパーティションを
<firstterm>スライス</> と呼んでいます.
しかし, ここではそのように呼びません.
各パーティションには, それぞれ別の OS を入れることができます.
</para>
<para>MBR の各パーティションエントリには,
<firstterm>パーティション ID</>,
<firstterm>シリンダ/ヘッド/セクタの開始位置</>,
<firstterm>シリンダ/ヘッド/セクタの終了位置</> があります.
パーティション ID は, パーティションの種類
(どの OS を使用しているか) を,
開始位置/終了位置 はパーティションの位置を示します.
<xref linkend="tbl-pid"> は,
いくつかの一般的なパーティション ID をリストしています.
</para>
<table id="tbl-pid">
<title>パーティション ID - Partition IDs</>
<tgroup cols="2">
<thead>
<row>
<entry>ID (hex)</entry>
<entry>説明 - Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>01</entry>
<entry>Primary DOS12 (12-bit FAT)</entry>
</row>
<row>
<entry>04</entry>
<entry>Primary DOS16 (16-bit FAT)</entry>
</row>
<row>
<entry>05</entry>
<entry>Extended DOS</entry>
</row>
<row>
<entry>06</entry>
<entry>Primary big DOS (&gt; 32MB)</entry>
</row>
<row>
<entry>0A</entry>
<entry>OS/2</entry>
</row>
<row>
<entry>83</entry>
<entry>Linux (EXT2FS)</entry>
</row>
<row>
<entry>A5</entry>
<entry>FreeBSD, NetBSD, 386BSD (UFS)</entry>
</row>
</tbody>
</tgroup>
</table>
<para>注: 全てのパーティションがブートできるとは限りません
(例. Extended DOS).
できるものもできないものもあるのです.
パーティションがブート可能かどうかを決めるのは,
各パーティションの先頭に存在する
<firstterm>パーティションブートセクタ</>の設定で決まります.
</para>
<para>好みのブートマネージャーを設定する際,
ハードディスクの MBR パーティションテーブルのエントリが調べられます.
また, リストのエントリに名前をつけることができます.
ブート時に, ブートマネージャーがシステムの最初にプローブされた
ハードディスクのマスターブートセクタにある
特別なコードによって呼び出されます.
選択したパーティションに対応するエントリを
MBR パーティションテーブルから調べ,
そのパーティションのシリンダ/ヘッド/セクタの開始位置を決定し,
パーティションのブートセクタをロードし, 制御をそちらに渡します.
そのパーティションのブートセクタは,
パーティション上の OS をロードするために必要な情報を保持しています.
</para>
<para>たった今話していることは, 知るに値します.
ハードディスク全てに MBR があります.
しかし, 重要なのは BIOS により最初にプローブされた
ハードディスク上にあるものです.
IDE ハードディスクだけを使用しているなら,
最初のIDE ディスクです (例. 最初のコントローラーの primary ディスク).
SCSI だけの場合もそのように言えます.
IDE と SCSI ハードディスクを持っているようであれば,
IDE ディスクは, 通常最初に BIOS によってプローブされます.
インストールするブートマネージャーは,
最初のプローブされたハードディスク上の MBR から呼び出されます.
</para>
</sect2>
<sect2 id="limits">
<title>ブート時の制限および注意 - Booting Limitations and Warnings</title>
<para>ここからは注意して読んだ方が良い面白い内容です.</para>
<sect3>
<title>恐怖の 1024 シリンダ制限とBIOS LBA がどのように作用するか - The dreaded 1024 cylinder limit and how BIOS LBA helps</title>
<para>起動プロセスの最初の部分は全て BIOS によりなされています
(BIOS が真新しい言葉であれば, これはコンピュータのための
スタートアップコードを提供するシステムマザーボードの
ソフトウェアチップ, と覚えておいてください).
そのような機能を有するため, この最初のプロセスは,
BIOS インタフェースの制限に依存するのです.</para>
<para>このプロセスの間, ハードディスクを読み込むために使用された
BIOS インタフェース(INT 13H, Subfunction 2) は,
シリンダ番号へ 10 ビット, ヘッド番号へ 8 ビット,
セクタ番号へ6 ビット割り当てます.
これがこのインタフェースを使う場合
(例. ハードディスクの MBR から呼び出されるブートマネージャや,
ブートセクタから呼び出される OS ローダーなど)
に次のような制限を与えるのです:
</para>
<itemizedlist>
<listitem>
<para>1024 シリンダ, 最大</para>
</listitem>
<listitem>
<para>256 ヘッド, 最大</para>
</listitem>
<listitem>
<para>64 セクタ/トラック, 最大 (実際には 63, <literal>0</>
は利用できません)</para>
</listitem>
</itemizedlist>
<para>ここで, 容量の大きなハードディスクには多くの
シリンダがありますが, ヘッドは多数ありません.
そのため, 大容量のハードディスクにおいては, シリンダ数は,
1024 を越えます. このことや BIOS インタフェースを考慮すると,
ハードディスクのどこからでもブートできるとは限らないのです.
すべてのブート可能なパーティションのブートセクタから呼び出さ
れるブートマネージャや OS ローダーは,
1024 シリンダより下のシリンダに存在しなければなりません.
実際に, お使いのハードディスクが典型的なものでヘッドが 16 であれば,
次のようになります:</para>
<informalexample>
<para>1024 cyl/disk &times; 16 heads/disk &times; 63
sect/(cyl-head) &times; 512 bytes/sector</para>
</informalexample>
<para>これが, よく言われる 528MB 制限です.</para>
<para>ここが BIOS LBA (Logical Block Addressing) が入って来る
ところです.
BIOS LBA はシリンダを再定義することにより,
BIOS API を呼び出すコードが BIOS インタフェース経由で 1024 シリンダ
より上の物理シリンダにアクセスするようにします.
つまり, BIOS を通して見る場合に, 実際より少ないシリンダ数,
多いヘッド数として扱われるようにシリンダ数,
ヘッド数を再マップしてくれるのです.
言い替えれば, シリンダ数とヘッド数のバランスを変更することで,
ハードディスクが相対的にヘッドが少なく,
シリンダが多くなるということを利用することにより,
双方の数が上記に述べられている制限 (1024 シリンダ, 256 ヘッド)
を越えないと言うことになります.</para>
<para>BIOS LBA を用いることで,
ハードディスク容量の制限が仮想的になくなりました
(まぁ, 8GB まで上がったと言うところでしょうか).
LBA BIOS を使用している場合は, FreeBSD または 他の OS
をどこにでも載せることができ,
1024 のシリンダ制限に引っかかることもありません.</para>
<para>1.6GB Western Digital を再度例として考えてみましょう.
物理的なジオメトリは, 次のとおりです:</para>
<informalexample>
<para>(3148 シリンダ, 16 ヘッド, 63 セクタ/トラック, 512
バイト/セクタ)</para>
</informalexample>
<para>しかしながら, BIOS LBA は次のように再マッピングを行います:
</para>
<informalexample>
<para>(787 シリンダ, 64 ヘッド, 63 セクタ/トラック, 512
バイト/セクタ)</para>
</informalexample>
<para>実際には同じサイズのディスクなのですが,
シリンダとヘッドの計算は BIOS API の範囲内で行われます
(偶然にも, 私のハードディスクの一つには,
Linux と FreeBSD が物理的なシリンダ 1024 番目より上に載っています.
これらのOS が問題なく起動するのも, BIOS LBA のおかげなのです).
</para>
</sect3>
<sect3>
<title>ブートマネージャーとディスクの割り当て - Boot Managers and Disk Allocation</title>
<para>ブートマネージャーのインストール時,
他に気をつけねばいけないことは,
ブートマネージャー用として領域を割り当てることです.
1つ, あるいは複数の OS の再インストールを余儀なくされたくないなら,
一番気にしなくてはいけないトピックです.
</para>
<para>マスターブートセクタ (MBR はどこにあるのか),
パーティションブートセクタ, ブーティングプロセス についての
<xref linkend="booting"> の説明を読んだ場合は,
自分のハードディスクのどこに,
この気のきくブートマネージャーが存在するのか気になるところですね.
それはと言いますと, いくつかのブートマネージャーは,
パーティションテーブルの隣の, マスターブートセクタ
(シリンダ 0, ヘッド 0, セクタ 0) に納まり切る程に小さいのです.
ブートマネージャによってはもう少し容量が必要なものもあり,
その領域は一般には空いているため,
シリンダ 0 ヘッド 0 セクタ 0 にあるマスターブートセクタを
越えたいくつかのセクタにまで自身を拡張しています.
</para>
<para>ありがたいことに,
(FreeBSD を含む) OS のいくつかは, マスターブートセクタの直後,
シリンダ 0, ヘッド 0, セクタ 2 からパーティションを
起動することができます.
実際に, 先頭に空きのある, あるいは全体が空のディスクで
FreeBSD の sysinstall を実行すると, デフォルトではその場所から
FreeBSD パーティションが始まります
(少なくとも私が行った時はそうでした).
そして, MBR の後にあるいくつかのセクタを消費するような
ブートマネージャーをインストールする場合,
最初のパーティションのデータの先頭が上書きされます.
FreeBSD の場合は, ディスクラベルが上書きされ,
FreeBSD が起動できなくなります.
</para>
<para>このような問題を避ける簡単な方法としては
(また, 後で異なるブートマネージャを試す柔軟性を持たすためにも),
パーティションを切る時に,
ハードディスクの最初のトラックを割り当てないまま
まるまる残しておくことです.
つまり, シリンダ 0, ヘッド 0, セクタ 2 からシリンダ 0,
ヘッド 0, セクタ 63 を空けておき,
パーティションをシリンダ 0, ヘッド 1, セクタ 1
から開始するということです.
更に良いことに, ハードディスクの先頭に DOS パーティションを
作成する際, DOS はデフォルトでこの場所を空けておきます
(これがブートマネージャーのいくつかはその場所が空きだと
仮定するという理由です).
というわけで, ディスクの先頭に DOS パーティションを作成することで
この問題を避けることができるのです.
私はこのやり方が好みで, 自分で 1MB の DOS パーティションを先頭に
作成します. そうすると, パーティションを切り直す時,
DOS のドライブ名をずらすことも必要ないのです.
</para>
<para>参考として, 次のブートマネージャーはコードとデータを
記録する際にマスターブートセクタを使用します:</para>
<itemizedlist>
<listitem>
<para>OS-BS 1.35</para>
</listitem>
<listitem>
<para>Boot Easy</para>
</listitem>
<listitem>
<para>LILO</para>
</listitem>
</itemizedlist>
<para>次のブートマネージャーはマスターブートセクタの後にある
セクタをいくつか使用します:</para>
<itemizedlist>
<listitem>
<para>OS-BS 2.0 Beta 8 (sectors 2-5)</para>
</listitem>
<listitem>
<para>OS/2's boot manager</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>マシンがブートしない場合はどうするか? - What if your machine won't boot?</title>
<para>ブートマネージャーをインストールした際に,
MBR がブートしない状態にしてしまうことがあります.
あまりないことですが, 既にインストールしたブートマネージャが
ある状態で FDISK してしまうと起こることがあります.
</para>
<para>ハードディスクにブート可能な DOS パーティションがある場合,
DOS フロッピーからブートします. 次を実行します:</para>
<informalexample>
<screen>A:\> <userinput>FDISK /MBR</>
</screen>
</informalexample>
<para>オリジナルに戻すには, シンプルな DOS のブートコードを
システムに戻します. そうすると, ハードディスクから DOS
(DOS に限る) をブートすることができます.
もう一つの手としては, ブート可能なフロッピーを使って,
ブートマネージャのインストールプログラムを再度実行します.
</para>
</sect3>
</sect2>
</sect1>
</article>