⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 node68.html

📁 Linux帮助文档之系统管理员手册
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--Converted with LaTeX2HTML 96.1-h (September 30, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
<html>
<head>
<title>The boot process in closer look</title>
<meta NAME="description" CONTENT="The boot process in closer look">
<meta NAME="keywords" CONTENT="sag">
<meta NAME="resource-type" CONTENT="document">
<meta NAME="distribution" CONTENT="global">
<link REL="STYLESHEET" HREF="sag.css">
</head>
<body LANG="EN">
 <a NAME="tex2html1150" HREF="node69.html"><img WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" ALT="next" SRC="./next_motif.gif"></a> <a NAME="tex2html1148" HREF="node66.html"><img WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" ALT="up" SRC="./up_motif.gif"></a> <a NAME="tex2html1142" HREF="node67.html"><img WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" ALT="previous" SRC="./previous_motif.gif"></a> <a NAME="tex2html1152" HREF="node1.html"><img WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" ALT="contents" SRC="./contents_motif.gif"></a> <a NAME="tex2html1153" HREF="node108.html"><img WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" ALT="index" SRC="./index_motif.gif"></a> <br>
<b> Next:</b> <a NAME="tex2html1151" HREF="node69.html">More about shutdowns</a>
<b>Up:</b> <a NAME="tex2html1149" HREF="node66.html">Boots And Shutdowns</a>
<b> Previous:</b> <a NAME="tex2html1143" HREF="node67.html">An overview of boots </a>
<br> <p>
<h1><a NAME="SECTION00720000000000000000">近观引导过程</a></h1>
<p>
可以从软盘或硬盘引导Linux. 安装和开始指南的安装一节
([<a HREF="node107.html#getting-started">Wel</a>])
告诉你如何安装Linux, 并按你希望的方式引导.
<p>
当PC引导后, BIOS做一些测试保证一切正常,
<a NAME="tex2html29" HREF="footnode.html#2099"><img ALIGN="BOTTOM" ALT="gif" SRC="./foot_motif.gif" WIDTH="15" HEIGHT="15"></a>然后开始真正的引导. 它选择一个磁盘(通常是第一个软驱, 如果有软盘的话, 否则
就是第一个硬盘, 如果安装了的话; 顺序是可设置的). 然后读第一个扇区, 这叫<b>引导扇</b>;
对于硬盘, 也叫<b>主引导记录</b>, 因为硬盘可以包含多个分区, 每个分区都有自己的引导扇.
<a NAME="1978">&nbsp;</a>
<a NAME="1979">&nbsp;</a>
<a NAME="1980">&nbsp;</a>
<a NAME="1981">&nbsp;</a>
<a NAME="2100">&nbsp;</a>
<a NAME="2101">&nbsp;</a>
<p>
引导扇包含一个小程序(小到可以存入一个扇区), 它的责任是从磁盘读入真正的操作系统并启动之.
从软盘启动Linux时, 引导扇包含的代码只读前数百个数据块(当然, 依赖于核心的大小)到预定的
内存位置. Linux引导软盘上, 没有文件系统, 核心存在连续的扇区中, 因为这样简化了引导过程.
当然, 使用LILO(LInux LOader)可以从文件系统引导. 
<a NAME="1984">&nbsp;</a>
<a NAME="2102">&nbsp;</a>
<p>
从硬盘引导, 主引导记录的代码检查分区表(也在主引导记录扇区中), 确认活动分区(标记为可引导
的分区), 从该分区读引导扇区, 然后启动该引导扇区的代码. 该分区的引导扇区的代码做与软盘所
做的相同: 从该分区读入核心并启动. 但细节不同, 因为一般只给核心映象做一个单独的分区是没
什么用的, 所以分区引导扇中的代码不能只顺序地读磁盘, 它必须找到文件系统把它们放在哪些扇
区中. 有几个方法解决这个问题, 但最通常的方法是使用LILO. (关于如何做的细节与这里的讨论
无关; 更多的信息请看LILO文档, 它很全面) 
<a NAME="1986">&nbsp;</a>
<a NAME="2103">&nbsp;</a>
<a NAME="1988">&nbsp;</a>
<a NAME="1989">&nbsp;</a>
<a NAME="1990">&nbsp;</a>
<p>
用LILO引导时, 它读入并引导缺省核心. 也可以设置LILO, 使之能引导若干个核心之一, 甚至其他
操作系统, 也可以在引导时让用户选择引导哪个核心或操作系统. LILO可以设置为如果有人在引导时按住
<tt>alt</tt>, <tt>shift</tt>, or <tt>ctrl</tt>键
(LILO启动时), LILO将不立即引导缺省的而问用户引导哪个. LILO可以设置为带一个timeout选项
并询问, 当超时时, 就引导缺省核心.
<p>
<b>META: </b>除了LILO还有其他的引导载入程序, 如loadlin, 它们的信息将在下一版本中给出.
<p>
从软盘和硬盘启动各有优势, 但通常从硬盘启动更好, 因为这避免了关于软盘的争论.
而且快. 然而, 安装相同从硬盘启动可能有更多的麻烦, 因此很多人先用软盘引导, 然后当相同工作
很好后, 再安装LILO从硬盘引导.
<p>
Linux核心被读入内存后, 才真正启动了, 概述如下:
<p>
    <ul>
<li>
<p>
Linux核心是被压缩安装的, 所以它首先得解压自己. 核心映象开头包括一个解压的小程序.
<a NAME="1995">&nbsp;</a>
<a NAME="1996">&nbsp;</a>
<li>
<p>
如果你有Linux可识别的super-VGA卡, 且支持一些特殊的文本模式(如100列40行), Linux会问你要
用哪个模式. 编译核心时, 可能预定了一个视频模式, 就不会问了. 这也可以用LILO或
<tt>rdev</tt><a NAME="2121">&nbsp;</a>完成.
<a NAME="1998">&nbsp;</a>
<a NAME="1999">&nbsp;</a>
<a NAME="2000">&nbsp;</a>
<a NAME="2001">&nbsp;</a>
<li>
<p>
然后, 核心检查还有什么其他硬件(硬盘, 软盘, 网卡...), 并配置适当的设备驱动; 同时, 输出
查找结果的信息. 例如, 我引导时, 得到类似如下信息:
<a NAME="2002">&nbsp;</a>
<a NAME="2003">&nbsp;</a>
<a NAME="2004">&nbsp;</a>
<a NAME="2005">&nbsp;</a>
		<blockquote> <pre>LILO boot:
Loading linux.
Console: colour EGA+ 80x25, 8 virtual consoles
Serial driver version 3.94 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16450
tty01 at 0x02f8 (irq = 3) is a 16450
lp_init: lp1 exists (0), using polling driver
Memory: 7332k/8192k available (300k kernel code, 384k reserved, 176k data)
Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M
Loopback device init
Warning WD8013 board not found at i/o = 280.
Math coprocessor using irq13 error reporting.
Partition check:
  hda: hda1 hda2 hda3
VFS: Mounted root (ext filesystem).
Linux version 0.99.pl9-1 (root@haven) 05/01/93 14:12:20</pre></blockquote>
精确的文本在不同系统上不同, 依赖硬件, Linux版本, 及其配置.
<li>
<p>
然后核心试图mount根文件系统. 位置可在编译时设置, 或在任何时候使用
<tt>rdev</tt><a NAME="2123">&nbsp;</a>或LILO. 文件系统类型自动检测. 如果根文件系统mount
失败, 例如因为你忘了在核心中包含相关的文件系统驱动, 核心将失败, 系统停止(此时没什么可
做了).
<a NAME="2009">&nbsp;</a>
<a NAME="2010">&nbsp;</a>
<a NAME="2011">&nbsp;</a>
<a NAME="2012">&nbsp;</a>
<a NAME="2013">&nbsp;</a>
<a NAME="2014">&nbsp;</a>
<p>
根文件系统通常被只读mount(这可用与位置相同的方法). 这可使文件系统在mount上时检查; 检查
一个可读写的已mount的文件系统可不是个好主意.
<a NAME="2015">&nbsp;</a>
<a NAME="2016">&nbsp;</a>
<a NAME="2017">&nbsp;</a>
<li>
<p>
然后, 核心在后台启动程序
<tt>init</tt><a NAME="2125">&nbsp;</a>
(位于<tt>/sbin/init</tt><a NAME="2127">&nbsp;</a>)
(它的进程号是1).
<tt>init</tt><a NAME="2129">&nbsp;</a>做许多启动工作. 确切的事依赖于设置;
参见<a HREF="#chinit"><img ALIGN="BOTTOM" ALT="gif" SRC="./cross_ref_motif.gif" WIDTH="13" HEIGHT="13"></a>章了
解更多信息. 它至少要启动一些必要的后台守候程序.
<a NAME="2022">&nbsp;</a>
<li>
<p>
<tt>init</tt><a NAME="2131">&nbsp;</a>然后切换到多用户模式
并启动<tt>getty</tt><a NAME="2133">&nbsp;</a>,提供虚拟控制台和串行线.
<tt>getty</tt><a NAME="2135">&nbsp;</a>是一个让用户通过虚拟控制台和串行终端登录的程序.
<tt>init</tt><a NAME="2137">&nbsp;</a>还可能启动一些其他程序, 基于设置.
<a NAME="2027">&nbsp;</a>
<a NAME="2028">&nbsp;</a>
<a NAME="2029">&nbsp;</a>
<a NAME="2030">&nbsp;</a>
<li>
<p>
至此, 引导完成, 系统启动并正常运行.
<p>
    </ul><hr><a NAME="tex2html1150" HREF="node69.html"><img WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" ALT="next" SRC="./next_motif.gif"></a> <a NAME="tex2html1148" HREF="node66.html"><img WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" ALT="up" SRC="./up_motif.gif"></a> <a NAME="tex2html1142" HREF="node67.html"><img WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" ALT="previous" SRC="./previous_motif.gif"></a> <a NAME="tex2html1152" HREF="node1.html"><img WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" ALT="contents" SRC="./contents_motif.gif"></a> <a NAME="tex2html1153" HREF="node108.html"><img WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" ALT="index" SRC="./index_motif.gif"></a> <br>
<b> Next:</b> <a NAME="tex2html1151" HREF="node69.html">More about shutdowns</a>
<b>Up:</b> <a NAME="tex2html1149" HREF="node66.html">Boots And Shutdowns</a>
<b> Previous:</b> <a NAME="tex2html1143" HREF="node67.html">An overview of boots </a>
<p><address>
<i>Lars Wirzenius <br>
Sun Jun 29 13:31:22 EEST 1997</i>
</address>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -