diff options
author | Xin LI <delphij@FreeBSD.org> | 2006-03-15 19:38:56 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2006-03-15 19:38:56 +0000 |
commit | b99e83b0a7c48690c2e6b7699bbd549e9a2c8da1 (patch) | |
tree | 61578f2c24f19d8d92ac0907829272ba8ae92e3e /zh_CN.GB2312/books/handbook/boot | |
parent | f266a6a31f7f22bbb73de28eccf694ca3317afaa (diff) |
Notes
Diffstat (limited to 'zh_CN.GB2312/books/handbook/boot')
-rw-r--r-- | zh_CN.GB2312/books/handbook/boot/chapter.sgml | 115 |
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 -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>>> FreeBSD/i386 BOOT -Default: 0:ad(0,a)/kernel +Default: 0:ad(0,a)/boot/loader boot:</screen> </example> |