感谢支持
我们一直在努力

Fedora Core 6 启动全过程讲解

1.加载BIOS(Bacis Input/Output System)
当启动电源时,计算机会从CMOS加载BIOS,并检查硬件信息。之后BIOS会查找是否存在系统引导盘,如果没有系统引导盘,就会转而查找硬件的MBR,并执行记录在MBR上的程序,这个程序通常为opreating system的Loader。该装载器的主要功能是用来指示系统在启动后要加载哪个系统以及何处加载,在linux上这里是GRUB。接下来加载linux Kernel

2.进入GRUB/LILO
进入GRUB/LILOHOU ,系统会出现Fedora Core 6或多重启动菜单。

3.加载Linux Kernel
在GRUB阶段如果选择启动linux,系统就开始加载内核程序。正是进入Linux控制。Linux首先会查找系统上所有硬件设备并且驱动它们,同时这些信息都将在屏幕上显示。可以在启动后打开/var/log/dmesg文件检查所有的启动信息,部分信息如下:

Linux version 2.6.18-1.2798.fc6 (brewbuilder@hs20-bc2-3.build.RedHat.com) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Mon Oct 16 14:54:20 EDT 2006
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 – 000000000009f800 (usable)
BIOS-e820: 000000000009f800 – 00000000000a0000 (reserved)……

4.执行/sbin/init
在系统加载Kernel后,紧接会调用/sbin/init,这是在Fedora Core 5启动过程中相当重要的部分,init是所有启动程序的父进程,而后执行一连串的程序或script。

5.执行/etc/rc.d/rc.sysinit Script
功能如下:

设置环境变量
设置NIS域名
读取/etc/sysconfig/network文件,以设置NETWORKING,FORWARD_IPV4.HOSTNAME,DOMAINNAME,GATEWAY,GATEWAYDEV等内容
启动Swapping
检查root文件系统
检查系统参数(proc)以及设置PNP
清除/etc/mtab
挂载root以及/proc文件系统
决定是否使用模块并加载模块
使用fsck检查文件系统
挂载其他文件系统
设置console字体
打开quota
清除不必要的文件(如lock和pid)
使用/etc/sysconfig/clock文件初始化clock
执行rc.serial以将串行端口进行初始化
将启动信息经由dmesg存入/var/log/dmesg6.执行/etc/inittab Script
/sbin/init程序会根据/etc/inittab文件的内容来选择一个默认的运行级别(Runlevel),以确定执行哪些服务程序。一般最常用使用的Runlevel为3或5,可以修改/etc/inittab文件内容来重新指定启动时执行模式,但应避免设为Runlevel0或6,因为这两个启动模式会在启动后直接执行关机或重新启动的工作。若要修改Runlevel,在/etc/inittab找出文本id:5:initdefault:

7.由init执行默认Runlevel目录中的所有scripts
Runlevel共分为7种启动模式,而每一种模式都规定了不同的系统环境,如下:

[root@localhost ~]# ls -l /etc/rc.d
总计 112
drwxr-xr-x 2 root root 4096 03-28 11:38 init.d
-rwxr-xr-x 1 root root 2255 2006-09-22 rc
drwxr-xr-x 2 root root 4096 03-28 11:38 rc0.d
drwxr-xr-x 2 root root 4096 03-28 11:38 rc1.d
drwxr-xr-x 2 root root 4096 03-28 11:38 rc2.d
drwxr-xr-x 2 root root 4096 03-28 11:38 rc3.d
drwxr-xr-x 2 root root 4096 03-28 11:38 rc4.d
drwxr-xr-x 2 root root 4096 03-28 11:38 rc5.d
drwxr-xr-x 2 root root 4096 03-28 11:38 rc6.d
-rwxr-xr-x 1 root root 220 2003-06-24 rc.local
-rwxr-xr-x 1 root root 26298 10-12 11:30 rc.sysinit

每一个rcX.d子目录都包含许多文件,分为两大部分:以S开头和以K开头。S表示Startup,就是在系统启动时要执行的script,其执行顺序根据S后面的数字来决定,数字越小执行越早。所以不可以随意修改这些数字,可能造成无法启动!K表示Kill,就是在系统退出该Runlevel时执行的script,它也是以数字为执行优先次序的依据。

8.执行/etc/rc.d/rc.local
它在Runlevel目录所有script执行后执行,可以在文件中加入启动时要执行的文件名称。默认内容如下:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

9.执行/bin/login程序
login会提示用户输入帐号和口令,进行编码并确认口令正确性。如果正确,开始为用户进行环境初始化,并将控制权交给shell。如果默认的shell是bash,则bash会先查找/etc/profile文件,并执行其中的命令,然后查找用户目录中是否有.bash_profile,.bash_login或.profile文件并执行其中一个,最后出现命令提示符号以等待输入命令。最后打开登录界面。

赞(0) 打赏
转载请注明出处:服务器评测 » Fedora Core 6 启动全过程讲解
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏