首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>安装配置>正文

Linux启动流程与Grub的配置

http://www.oklinux.cn  2008-05-18  来源: oklinux收集整理 oklinux  会员收藏  游客收藏  【 】 

一、Linux的启动流程
1. 从BIOS到KERNEL
BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动
2. 内核启动:创建1#进程并执行,由它创建若干内核线程(kernel thread),然后装入并执行程序/sbin/init(变成一个用户进程

)。此后,init根据/etc/inittab配置文件来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等
对于Redhat来说,执行的顺序为:
/etc/rc.d/rc.sysinit # 由init执行的第一脚本
/etc/rc.d/rc $RUNLEVEL # init执行指定运行级别($RUNLEVEL为缺省的运行模式)的各脚本;
/etc/rc.d/rc.local #运行模式2、3、5时会运行的脚本
/sbin/mingetty(或getty) # 等待用户登录

/etc/inittab中指定了系统的运行级别(RUNLEVEL),init根据运行级别启动相关的服务(一些后台进程),实现不同的功能。
RUNLEVEL值为:0-6
0:halt, 1:单用户,2:多用户,3:多用户并启动NFS服务
4:保留,5:运行xdm(X window)以图形界面方式登录
6:reboot
3、/etc/inittab文件

/etc/inittab的文件内容如下:
# 设定系统开机预设的RUNLEVEL:
id:3:initdefault:

# 开始进行RUNLEVEL的服务启动前,使用来侦测与初始化系统环境的设定文件:
si::sysinit:/etc/rc.d/rc.sysinit

# 7 个不同 run level 的,需要启动的服务的 scripts 放置路径:
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# 是否允许按下 [ctrl] [alt] [del] 就重新开机的设定项目:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# 本机端终端机启动的个数:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# 在 X Window (RUNLEVEL 5) 环境下的启动 script 设定项目:
x:5:once:/etc/X11/prefdm -nodaemon

这个文件的语法是这样的:

标识符:级别:init 的动作行为:指令项目
1. 标识符:
最多四个字符,代表 init 的主要工作项目,只是一个简单的代表说明。
2. 级别:
该项目在哪些 run level 底下进行的意思。如果是 35 则代表 runlevel 3 与 5 都会执行。
3. init 的动作行为:
主要可以进行的动作项目意义有:
initdefault :代表预设的 run level 设定值;
sysinit :代表系统初始化的动作项目;
ctrlaltdel :代表 [ctrl] [alt] [del] 三个按键是否可以重新开机的设定;
wait :代表后面接的指令项目必须要执行完毕才能继续后面的动作;
respawn :代表后面接的, init 仍会主动的『重新』启动。
更多的设定项目请参考 man inittab 的说明。
4. 指令项目:
亦即应该可以进行的指令,通常是一些 script 啰。

说明:如根据上面的文件,init程序执行时根据/etc/inittab文件的内容,完成以下功能
(1)获取RUNLEVEL(文件中的这一行 id:3:initdefault:)为3
(2)执行rc.sysinit(文件中的这一行 si::sysinit:/etc/rc.d/rc.sysinit)
(3)执行/etc/rc.d/rc3.d目录中的脚本(文件中的这一行 l3:3:wait:/etc/rc.d/rc 3,且因为本例RUNLEVEL为3)
(4)然后设定是否允许按下 [ctrl] [alt] [del] 就重新开机(文件中的这一行 ca::ctrlaltdel:/sbin/shutdown -t3 -r now

,当然如果不允许,可把此行注释掉)
(5)启动六个终端界面tty1-tty6
(6)最后如果我们使用的是 run level 5 ,那么除了这六个终端机之外, init 还会执行 /etc/X11/prefdm -nodaemon 其主要

的功能就是在启动 X Window 啦!

二、GRUB及其配置
1.GRUB(启动引导器程,低版本的为lilo,其配置文件为:/etc/lilo.conf)简介
安装Linux后GRUB位于硬盘0柱面,0磁道,1扇区。是计算机启动过程中运行的第一个真正的软件,通常计算机启动时在通过BIOS自

检后读取并运行硬盘的主引导扇中的启动引导器程序,启动引导器再负责加载启动硬盘分区中的操作系统。
2.GRUB的配置文件—grub.conf
可通过/boot/grub/grub.conf配置GRUB,其文件内容大致如下:

default 0 ----设置GRUB的默认启动项
splashimage (hd0,0)/boot/grub/splash.xpm.gz ----用于指定某一个文件作为启动菜单的背景图象
timeout 30 ----设置菜单的启动延时

title=Boot Linux using initrd ----菜单项名称
root (hd0,0) ----设置GRUB的根设备(root)为linux内核所在的分区
kernel /boot/bzImage root=/dev/loop0 init=/initdisk.gz ----使用kernel命令后跟linux内核文件作为参数,加载

linux的内核文件
initrd /initdisk.gz ----使用initrd命令加载镜像文件
title=Windows NT ----菜单项名称
root (hd0,1) ----设置Windows NT系统所在的分区
makeactive ----设置根设备为活动分区(针对windows不能从非活动分区启动)

共2页: 上一页 1 [2] 下一页

上一篇:Ubuntu6.06中GRUB的修复   下一篇:SUSE 10.2 GRUB 修复手记

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·硬盘安装Linux和从Grub命令行启动操作系统
·RHEL4通过YUM实现自动升级
·关于Fedora 9 的 Nvidia显卡驱动
·Fedora9 的 LiveUSB制作步骤
·从硬盘安装Fedora-9-i386-DVD
·学好Linux基本命令 df命令和du命令介绍
·Linux系统双网卡开启NAT共享设置的方法
·Solaris SSH的配置和管理介绍
·了解Linux新一代安装包格式Autopackage
·解释为何不让Linux系统双击安装应用软件
·CentOS下配置XDMCP的方法介绍
·Linux下Openoffice的安装方法
·Linux系统下网卡网络配置基础
·Fedora 7 安装与配置指南
· 硬盘安装Fedora 7的简单方法
·光盘启动安装Fedora 7常见问题及解决
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·RHEL4通过YUM实现自动升级
·硬盘安装Linux和从Grub命令行启动操作
·关于Fedora 9 的 Nvidia显卡驱动
·Fedora9 的 LiveUSB制作步骤
·从硬盘安装Fedora-9-i386-DVD
·学好Linux基本命令 df命令和du命令介绍
·Linux系统双网卡开启NAT共享设置的方法
·Solaris SSH的配置和管理介绍
·了解Linux新一代安装包格式Autopackage
·解释为何不让Linux系统双击安装应用软
·CentOS下配置XDMCP的方法介绍
·Linux下Openoffice的安装方法
  阅读排行
·Redhat5 Server下载、序列号以及相关介
· 在U盘上安装Damn Small Linux
·Linux的GRUB引导程序配置方法大全
·从硬盘安装RHEL 5(Red Hat Enterprise
·新手学堂 详细讲解Ubuntu Server安装过
·什么是Linux?Linux与UNIX之间的关系
·新手入门 Fedora Linux 7系统的安装指
·RedHat AS 4.0 硬盘安装图解一
· U盘上运行的linux系统--babylinux
·Intel 845集成显示驱动
·Linux操作系统配置基础祥解:GRUB入门
·软RAID 0的技术概要及实现 v0.1b (正
·安装大型Linux 集群: 配置服务和安装
·Linux不是Windows
·简介 PLAYSTATION 3 上的 Linux
网摘收藏: