Merge the following from the English version:

1.59 -> 1.64	doc/ja_JP.eucJP/books/handbook/boot/chapter.sgml

Submitted by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
References:	[doc-jp-work 1791]
This commit is contained in:
Ryusuke SUZUKI 2011-02-05 12:18:16 +00:00
parent 5678882068
commit c317fe0e25
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36896

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.59 Original revision: 1.64
$FreeBSD$ $FreeBSD$
--> -->
@ -81,42 +81,61 @@
機構のことを指していたのですが、 機構のことを指していたのですが、
いまは短く <quote>起動 (ブート)</quote> と言います。</para> いまは短く <quote>起動 (ブート)</quote> と言います。</para>
<indexterm><primary>BIOS</primary></indexterm>
<indexterm><primary>基本入出力システム
(Basic Input/Output System)</primary><see>BIOS</see></indexterm>
<para>x86 ハードウェアでは、基本入出力システム <para>x86 ハードウェアでは、基本入出力システム
(Basic Input/Output System: BIOS) (Basic Input/Output System: BIOS)
にオペレーティングシステムをロードする責任があります。 にオペレーティングシステムをロードする責任があります。
オペレーティングシステムをロードするために、 オペレーティングシステムをロードするために、
BIOS がハードディスク上のマスターブートレコード BIOS がハードディスク上のマスターブートレコード
(Master Boot Record: MBR) (Master Boot Record: MBR) を探します。
を探します。
MBR はハードディスク上の特定の場所になければなりません。 MBR はハードディスク上の特定の場所になければなりません。
BIOS には MBR をロードし起動するのに十分な知識があり、 BIOS には MBR をロードし起動するのに十分な知識があり、
オペレーティングシステムをロードするために必要な作業の残りは オペレーティングシステムをロードするために必要な作業の残りは、
場合によっては BIOS の助けを得た上で
MBR が実行できることを仮定しています。</para> MBR が実行できることを仮定しています。</para>
<indexterm> <indexterm><primary>マスターブートレコード
<primary>BIOS</primary> (Master Boot Record: MBR)</primary></indexterm>
</indexterm>
<indexterm> <indexterm><primary>ブートマネージャ
<primary>基本入出力システム (Basic Input/Output System)</primary> (Boot Manager)</primary></indexterm>
<see>BIOS</see>
</indexterm>
<para>ディスク上にオペレーティングシステムを一つだけ <indexterm><primary>ブートローダ
インストールしているなら、標準の MBR で十分です。 (Boot Loader)</primary></indexterm>
この MBR はディスク上の最初の起動可能なスライスを探し、
そのスライスにあるコードを起動して <para>MBR 内部のコードは、
残りのオペレーティングシステムをロードします。</para> 通常<emphasis>ブートマネージャ</emphasis>と呼ばれます。
とりわけユーザとの対話がある場合にそう呼ばれます。
その場合は、通常もっと多くのブートマネージャのコードが、
ディスクの最初の<emphasis>トラック</emphasis>
または OS のファイルシステム上におかれます
(ブートマネージャは<emphasis>ブートローダ</emphasis>と呼ばれることもありますが、
FreeBSD はこの言葉を起動のもっと後の段階に対して使います)。
よく使われるブートマネージャには、
<application>boot0</application> (<application>Boot Easy</application>
とも呼ばれる &os; 標準のブートマネージャ),
<application>Grub</application>, <application>GAG</application> や
<application>LILO</application> 等があります
(MBR 内に収まるのは <application>boot0</application> だけです)。</para>
<para>ディスク上にインストールされているオペレーティングシステムが
1 つであれば、標準の PC MBR で十分です。
この MBR はディスク上の最初の起動可能な (アクティブな) スライスを探し、
そのスライスにあるコードを起動してオペレーティングシステムの残りをロードします。
デフォルトで &man.fdisk.8; がインストールする MBR
は、このような MBR です。<filename>/boot/mbr</filename>
を基にしています。</para>
<para>ディスク上にオペレーティングシステムを複数インストールしているなら、 <para>ディスク上にオペレーティングシステムを複数インストールしているなら、
別の MBR &mdash; 別のブートマネージャ
複数のオペレーティングシステムのリストを表示できて、 (複数のオペレーティングシステムの一覧を表示できて、
起動するオペレーティングシステムを選択できるような MBR &mdash; 起動するオペレーティングシステムを選択できるようなもの)
をインストールすることができます。 をインストールしてください。
FreeBSD はそのような MBR とともに配布されており、 このようなブートマネージャの中から 2 つを次の節で説明します。</para>
この MBR をインストールすることもできます。
他のオペレーティングシステムのベンダも
標準 MBR に代わる MBR を提供しています。</para>
<para>FreeBSD ブートストラップシステムの残りは 3 段階に分かれます。 <para>FreeBSD ブートストラップシステムの残りは 3 段階に分かれます。
第 1 ステージは MBR によって起動されるもので、 第 1 ステージは MBR によって起動されるもので、
@ -145,26 +164,34 @@
</sect1> </sect1>
<sect1 id="boot-blocks"> <sect1 id="boot-blocks">
<title>MBR、起動ステージ 1、2 および 3</title> <title>ブートマネージャと起動ステージ</title>
<indexterm><primary>ブートマネージャ</primary></indexterm>
<sect2 id="boot-boot0"> <sect2 id="boot-boot0">
<title>MBR、<filename>/boot/boot0</filename></title> <title>ブートマネージャ</title>
<indexterm><primary>マスターブートレコード (MBR)</primary></indexterm> <indexterm><primary>マスターブートレコード (MBR)</primary></indexterm>
<para>FreeBSD の MBR は <filename>/boot/boot0</filename> <para>MBR やブートマネージャのコードは起動プロセスの<emphasis>第
にあります。これは MBR の<emphasis>コピー</emphasis>であり、 0 ステージ</emphasis>と呼ばれることがあります。
本当の MBR はディスク上の特別な部分、 この節では前述の 2 つのブートマネージャ、
つまり FreeBSD 領域の外に置く必要があります。</para> <application>boot0</application> と <application>LILO</application>
について説明します。</para>
<para><filename>boot0</filename> は非常に単純なプログラムです。 <formalpara><title><application>boot0</application> ブートマネージャ</title>
これは、<abbrev>MBR</abbrev> にあるプログラムは <para>FreeBSD のインストーラや &man.boot0cfg.8;
512 バイトの大きさでなければならないという制限があるためです。 がデフォルトでインストールする
FreeBSD の MBR をインストールし、 MBR は、<filename>/boot/boot0</filename> を基にしています
かつハードディスク上に複数のオペレーティングシステムをインストールした場合、 (<filename>boot0</filename> は非常に単純なプログラムです。
起動時にこれと同じような画面が出るでしょう。</para> <abbrev>MBR</abbrev> にあるプログラムは、
スライステーブルと末尾の識別子 <literal>0x55AA</literal> があるため、
446 バイトの大きさでなければならないという制限があるためです)。
ハードディスクに <application>boot0</application>
と複数のオペレーティングシステムをインストールした場合、
起動時に以下のような画面が出るでしょう。</para></formalpara>
<example id="boot-boot0-example"> <example id="boot-boot0-example">
<title><filename>boot0</filename> のスクリーンショット</title> <title><filename>boot0</filename> のスクリーンショット</title>
<screen>F1 DOS <screen>F1 DOS
F2 FreeBSD F2 FreeBSD
@ -190,39 +217,36 @@ Default: F2</screen>
<devicename>ad2</devicename>、 <devicename>ad2</devicename>、
1 番目の SCSI ディスクは 1 番目の SCSI ディスクは
<devicename>da0</devicename> <devicename>da0</devicename>
などとなります。</para> などとなります。
MBR の設定をカスタマイズしたい場合は &man.boot0cfg.8;
を使ってください。</para>
<para>しかしながら、もしあなたが Linux ユーザで、 <formalpara><title>LILO ブートマネージャ</title>
<application>LILO</application>
で起動プロセスを制御したいのなら、 <para>このブートマネージャをインストールして FreeBSD
FreeBSD 用に <filename>/etc/lilo.conf</filename> を編集して、 を起動するようにするには、まず Linux を起動して
FreeBSD のインストールの際 <filename>/etc/lilo.conf</filename>
<option>マスターブートレコードを変更しない (Leave The Master Boot Record Untouched)</option> コンフィグレーションファイルに以下を追加してください。</para></formalpara>
を選択します。
FreeBSD のブートマネジャをインストールしたのであれば、
Linux を起動し直して
<application>LILO</application> の設定ファイル
<filename>/etc/lilo.conf</filename> を変更し、
次のオプションを加えることができます:</para>
<programlisting>other=/dev/hdXY <programlisting>other=/dev/hdXY
table=/dev/hdb table=/dev/hdX
loader=/boot/chain.b loader=/boot/chain.b
label=FreeBSD</programlisting> label=FreeBSD</programlisting>
<para>こうすれば、<application>LILO</application> から <para>上記において、FreeBSD のプライマリパーティションとドライブを
FreeBSD と Linux を起動することができます。 Linux の識別子を使って指定してください。
この例では、ドライブ番号とパーティションを示すために <replaceable>X</replaceable> を Linux のドライブ文字に、また
<replaceable>XY</replaceable> を使っています。 <replaceable>Y</replaceable> を Linux
のプライマリパーティション番号に置き換えてください。
<acronym>SCSI</acronym> ドライブを使っているのであれば、 <acronym>SCSI</acronym> ドライブを使っているのであれば、
<replaceable>/dev/hdXY</replaceable> を <replaceable>/dev/hd</replaceable> を
<replaceable>/dev/sdXY</replaceable> のように読み替えてください。 <replaceable>/dev/sd</replaceable>
<replaceable>XY</replaceable> の指定方法は同じです のように読み替えてください
<option>loader=/boot/chain.b</option> 同じドライブ上に両方のオペレーティングシステムが置いてあるなら、
は同じドライブ上に両方のオペレーティングシステムを置いてあるのであれば不要です。 <option>loader=/boot/chain.b</option> 行は不要です。
これで <command>/sbin/lilo -v</command> を実行すると これで <command>/sbin/lilo&nbsp;-v</command>
システムに新しい変更が反映されるので、 を実行するとシステムに新しい変更が反映されます。
画面のメッセージを見て確認します。</para> 画面のメッセージを見て確認しておきましょう。</para>
</sect2> </sect2>
<sect2 id="boot-boot1"> <sect2 id="boot-boot1">
@ -232,29 +256,30 @@ label=FreeBSD</programlisting>
<para>概念上、第 1 ステージと第 2 ステージは <para>概念上、第 1 ステージと第 2 ステージは
ハードディスクの同じ領域上の同一のプログラムの部分部分です。 ハードディスクの同じ領域上の同一のプログラムの部分部分です。
スペースの制約のため 2 つに分割されていますが、 スペースの制約のため 2 つに分割されていますが、
いつも一緒にインストールします。</para> いつも一緒にインストールされます。
インストーラまたは <application>disklabel</application>
は、両者を 1 つにまとめたファイル
<filename>/boot/boot</filename> をコピーします (下記参照)。</para>
<para>第 1 ステージと第 2 ステージは起動スライス (slice) <para>第 1 ステージと第 2 ステージは、ファイルシステムの外部、
の起動セクタにあります。 起動スライスの最初のトラックに置かれ、
起動セクタとは、 先頭が最初のセクタにきます。
<abbrev>MBR</abbrev> 上にある <link linkend="boot-boot0">boot0</link> <link linkend="boot-boot0">boot0</link>
もしくは他のプログラムが、起動のプロセスを続けるために またはその他のブートマネージャは、
必要なプログラムがあると想定している場所です。 起動プロセスを続けるために必要なプログラムがそこにあると想定しています。
<filename>/boot</filename> 使用されるセクタの数は、<filename>/boot/boot</filename>
ディレクトリにあるファイルは実際に使われるファイルのコピーで、 の大きさから簡単に分かります。</para>
実際のファイルは
FreeBSD ファイルシステムの外部に格納されています。</para>
<para><filename>boot1</filename> も非常に単純なプログラムです。 <para><filename>boot1</filename> は
これは <filename>boot0</filename> 同様に 512 バイトの大きさでなければならないという制限があるので
512 バイトの大きさでなければならないという制限があるためです。 非常に単純なプログラムです。
boot1 は <filename>boot2</filename> を検索し、 このプログラムは <filename>boot2</filename> を検索し、
実行するため、そのスライスの情報を保持する FreeBSD 実行するため、そのスライスの情報を保持する FreeBSD
の<firstterm>ディスクラベル (disklabel)</firstterm> の<firstterm>ディスクラベル (disklabel)</firstterm>
に関する最低限の情報を持っています。</para> に関する最低限の情報だけを持っています。</para>
<para><filename>boot2</filename> はもう少し高機能です。 <para><filename>boot2</filename> はもう少し高機能です。
これは FreeBSDのファイルシステム上でファイルを見つける能力を持ち、 これは FreeBSD のファイルシステム上でファイルを見つける能力を持ち、
実行するカーネルやローダを指定するための 実行するカーネルやローダを指定するための
簡単なインタフェイスを提供します。</para> 簡単なインタフェイスを提供します。</para>
@ -269,7 +294,7 @@ label=FreeBSD</programlisting>
<title><filename>boot2</filename> のスクリーンショット</title> <title><filename>boot2</filename> のスクリーンショット</title>
<screen>&gt;&gt; FreeBSD/i386 BOOT <screen>&gt;&gt; FreeBSD/i386 BOOT
Default: 0:ad(0,a)/kernel Default: 0:ad(0,a)/boot/loader
boot:</screen> boot:</screen>
</example> </example>