aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/boot
diff options
context:
space:
mode:
Diffstat (limited to 'zh_CN.GB2312/books/handbook/boot')
-rw-r--r--zh_CN.GB2312/books/handbook/boot/chapter.sgml115
1 files changed, 68 insertions, 47 deletions
diff --git a/zh_CN.GB2312/books/handbook/boot/chapter.sgml b/zh_CN.GB2312/books/handbook/boot/chapter.sgml
index ffa1a433d2..8357017f57 100644
--- a/zh_CN.GB2312/books/handbook/boot/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/boot/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese (Simplified) Project
- Original Revision: 1.59
+ Original Revision: 1.64
$FreeBSD$
-->
@@ -58,28 +58,42 @@
<firstterm>bootstrap</firstterm> 来指代操作系统的加载机制,
如今它逐渐被简写为 <quote>booting</quote>。</para>
+ <indexterm><primary>BIOS</primary></indexterm>
+
+ <indexterm><primary>基本输入/输出系统</primary><see>BIOS</see></indexterm>
+
<para>在 x86 硬件体系中,基本输入/输出系统 (BIOS) 负责加载操作系统,
为了做到这一点,BIOS 在磁盘上寻找主引导记录 (MBR),而 MBR
必须在放置的磁盘的特定位置。BIOS 有足够的能力来读入和运行 MBR,
- 且假使地认为 MBR 能完成加载操作系统的剩余任务。</para>
+ 且假使地认为 MBR 能完成加载操作系统的剩余任务,
+ MBR可能需要BIOS的帮助。</para>
- <indexterm>
- <primary>BIOS</primary>
- </indexterm>
+ <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
- <indexterm>
- <primary>基本输入/输出系统</primary>
- <see>BIOS</see>
- </indexterm>
+ <indexterm><primary>Boot Manager</primary></indexterm>
+
+ <indexterm><primary>Boot Loader</primary></indexterm>
+
+ <para>在MBR中的代码通常被提为<emphasis>引导管理器</emphasis>,
+ 尤其是与用户交互的那类。这一类引导器通常有更多代码位于磁盘第一
+ <emphasis>轨道</emphasis>或在操作系统的文件系统中。
+ (引导管理器有时也被称为<emphasis>boot loader</emphasis>,
+ 但是FreeBSD对后面的引导阶段才使用这个术语。)
+ 流行的引导管理器包括<application>boot0</application>(亦称<application>Boot
+ Easy</application>,标准的 &os; 引导管理器)、
+ <application>Grub</application>、<application>GAG</application>,以及
+ <application>LILO</application>。
+ (只有<application>boot0</application>能装得进MBR。)</para>
<para>如果您只安装了一个操作系统,那么一个标准的 MBR 就足够了。
- 这个 MBR 先在磁盘上搜索可引导的分区,
- 然后运行分区上的代码以加载操作系统的其它部分。</para>
+ 这个 MBR 先在磁盘上搜索可引导的(亦称“活动的”)分区,
+ 然后运行分区上的代码以加载操作系统的其它部分。
+ MBR由&man.fdisk.8;安装,是一个缺省的MBR。相关文件为
+ <filename>/boot/mbr</filename>。</para>
<para>如果您在磁盘上安装了多个操作系统那么您可以安装一个不同的
- MBR,它能显示一张操作系统的列表,您能从中选择启动哪个。
- FreeBSD 自带了一个这样的 MBR,其它的操作系统厂商亦提供可选的
- MBR。</para>
+ 引导管理器,它能显示一张操作系统的列表,您能从中选择启动哪个。
+ 这样的两种引导器将在下一小节中讨论。</para>
<para>启动系统的剩余部分被分为三个阶段。第一阶段由
MBR 执行,它只是使计算机进入特定的状态然后执行第二阶段。
@@ -98,20 +112,28 @@
</sect1>
<sect1 id="boot-blocks">
- <title>MBR 和引导阶段一、二、三</title>
+ <title>引导管理器和各引导阶段</title>
+
+ <indexterm><primary>Boot Manager</primary></indexterm>
<sect2 id="boot-boot0">
- <title>MBR,<filename>/boot/boot0</filename></title>
+ <title>The Boot Manager</title>
<indexterm><primary>主引导记录 (MBR)</primary></indexterm>
- <para> FreeBSD MBR 放置在 <filename>/boot/boot0</filename>。
- 这是真实 MBR 的一份 <emphasis>复制品</emphasis>,真正的 MBR
- 必须放在磁盘上 FreeBSD 分区以外的特定部分。</para>
-
- <para><filename>boot0</filename> 是非常简单的,因为在
- <abbrev>MBR</abbrev> 里的代码只有 512 字节。
- 如果您安装了 FreeBSD MBR 且装了多个操作系统,
- 在引导时您会看到如下的内容:</para>
+ <para>在MBR或引导管理器中的代码有时被提为引导过程的
+ <emphasis>阶段0</emphasis>。这一小节半夜前面提到引导器中的两种:
+ <application>boot0</application>和<application>LILO</application>。</para>
+
+ <formalpara><title><application>boot0</application>引导管理器:</title>
+ <para>由 FreeBSD 的安装程序以及 boot0cfg(8) 所安装的 MBR,
+ 默认基于 <filename>/boot/boot0</filename>。
+ (程序<application>boot0</application>非常简单,
+ 由于在<abbrev>MBR</abbrev>中的程序只能有446字节长,
+ 分区表和MBR末端的<literal>0x55AA</literal>标识也要挤占一些空间。)
+ 如果你已经安装<application>boot0</application>
+ 并且有多个操作系统在你的硬盘上,
+ 那么你如果您安装了 FreeBSD MBR 而且安装了多个操作系统,
+ 则会在系统启动时看到类似下面的提示:</para></formalpara>
<example id="boot-boot0-example">
<title><filename>boot0</filename> 截屏</title>
@@ -135,31 +157,29 @@ Default: F2</screen>
的设备名,比如 <devicename>ad0</devicename>
代表第一个 IDE 磁盘,<devicename>ad2</devicename>
代表第二个 IDE 控制器上的第一个 IDE 磁盘,
- <devicename>da0</devicename> 代表第一个 SCSI 磁盘,等等。</para>
+ <devicename>da0</devicename> 代表第一个 SCSI 磁盘,等等。
+ 抑或,如果你需要一个自行配置的MBR,请使用&man.boot0cfg.8;。</para>
+
+ <formalpara><title>The LILO Boot Manager:</title>
- <para>如果您是 linux 用户,您可能更喜欢使用
- <application>LILO</application> 来控制引导过程,您可以编辑
- <filename>/etc/lilo.conf</filename> 文件,或者在安装 FreeBSD 过程中选择
- <option>Leave The Master Boot Record Untouched</option> 选项。
- 如果您安装了 FreeBSD 引导管理器,您可以启动 linux 然后更改
- <application>LILO</application> 的配置文件
- <filename>/etc/lilo.conf</filename>,加入以下的选项:</para>
+ <para>要想安装这个引导管理器并也用来引导FreeBSD,
+ 首先启动Linux,并将以下选项加入到已有的配置文件
+ <filename>/etc/lilo.conf</filename>:</para></formalpara>
<programlisting>other=/dev/hdXY
-table=/dev/hdb
+table=/dev/hdX
loader=/boot/chain.b
label=FreeBSD</programlisting>
- <para>这样就可以通过
- <application>LILO</application> 来引导 FreeBSD 和 linux 了。
- 在我们的例子中,我们使用
- <replaceable>XY</replaceable> 确定驱动器号和分区。
+ <para>在上面的内容里,使用Linux的标示符指定了FreeBSD的主分区和驱动器,
+ 将<replaceable>X</replaceable>替换为Linux驱动器字母,
+ 将<replaceable>Y</replaceable>替换为Linux主分区号。
如果您使用的是 <acronym>SCSI</acronym> 驱动器,您需要将
- <replaceable>/dev/hdXY</replaceable> 改成 <replaceable>/dev/sdXY</replaceable>,
+ <replaceable>/dev/hd</replaceable> 改成 <replaceable>/dev/sd</replaceable>,
这里再次使用了 <replaceable>XY</replaceable> 的语法。
如果您安装的两个系统在同一驱动器上,<option>loader=/boot/chain.b</option>
- 选项可以去掉。现在您可以执行 <command>/sbin/lilo -v</command>
- 使修改生效。</para>
+ 选项可以去掉。现在您可以执行 <command>/sbin/lilo&nbsp;-v</command>
+ 使修改生效;应检查屏幕上的消息确认修改。</para>
</sect2>
<sect2 id="boot-boot1">
@@ -167,13 +187,14 @@ label=FreeBSD</programlisting>
<filename>/boot/boot2</filename></title>
<para>概念上,第一,第二阶段同属于一个程序,处于磁盘的相同区域。但由于空间限制,
- 它们被分为两部分。可是您总是会一起安装它们。</para>
+ 它们被分为两部分。可是您总是会一起安装它们。它们由安装器或
+ <application>disklabel</application>(见下文)复制自被组合而成的
+ <filename>/boot/boot</filename>。</para>
- <para>它们放置在引导分区的引导扇区里。在引导扇区里能找到 <link
- linkend="boot-boot0">boot0</link>、<abbrev>MBR</abbrev>
- 以及其它用于引导系统的程序。<filename>/boot</filename>
- 目录下的文件是真实文件的拷贝,真实文件放置在 FreeBSD
- 文件系统之外。</para>
+ <para>它们位于文件系统外,引导分区的第一轨道,从第一扇区开始。在这里<link
+ linkend="boot-boot0">boot0</link>,或者任何其它引导管理器,
+ 期望找到一个程序运行,继续引导进程。
+ 所使用的扇区数可由<filename>/boot/boot</filename>的大小确定。</para>
<para><filename>boot1</filename> 非常简单,因为它再多也只能有 512 字节,
只能识别储存着分区信息的 <firstterm>disklabel</firstterm>,
@@ -191,7 +212,7 @@ label=FreeBSD</programlisting>
<title><filename>boot2</filename> 的屏幕输出</title>
<screen>&gt;&gt; FreeBSD/i386 BOOT
-Default: 0:ad(0,a)/kernel
+Default: 0:ad(0,a)/boot/loader
boot:</screen>
</example>