Chinaunix首页 | 论坛 | 博客
  • 博客访问: 793234
  • 博文数量: 858
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 17:43
文章分类

全部博文(858)

文章存档

2011年(1)

2008年(857)

我的朋友

分类: LINUX

2008-08-29 17:57:52

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

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

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

Linuxversion2.6.18-1.2798.fc6(brewbuilder@hs20-bc2-3.build.redhat.com)(gccversion4.1.120061011(RedHat4.1.1-30))#1SMPMonOct1614:54:20EDT2006
BIOS-providedphysicalRAMmap:
BIOS-e820:0000000000000000-000000000009f800(usable)
BIOS-e820:000000000009f800-00000000000a0000(reserved)......

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

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

设置环境变量
设置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/dmesg

6.执行/etc/inittabScript
/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-x2rootroot409603-2811:38init.d
-rwxr-xr-x1rootroot22552006-09-22rc
drwxr-xr-x2rootroot409603-2811:38rc0.d
drwxr-xr-x2rootroot409603-2811:38rc1.d
drwxr-xr-x2rootroot409603-2811:38rc2.d
drwxr-xr-x2rootroot409603-2811:38rc3.d
drwxr-xr-x2rootroot409603-2811:38rc4.d
drwxr-xr-x2rootroot409603-2811:38rc5.d
drwxr-xr-x2rootroot409603-2811:38rc6.d
-rwxr-xr-x1rootroot2202003-06-24rc.local
-rwxr-xr-x1rootroot2629810-1211:30rc.sysinit

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

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

#!/bin/sh
#
#Thisscriptwillbeexecuted*after*alltheotherinitscripts.
#Youcanputyourowninitializationstuffinhereifyoudon''t
#wanttodothefullSysVstyleinitstuff.

touch/var/lock/subsys/local

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

Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程Fedora Core 6 启动过程
阅读(408) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~