1.Linux系统引导流程
1)开机
2)POST加电自检--即固件(firmware)自检--(CMOS/BIOS界面)
启动主板上集成的程序检查系统的硬件设备连接,与操作系统无关
一般开机后按F2(Windows按Del)进入常用设置有:
安全设置
可引导介质列表--硬盘,USB,光驱,软盘等
电源管理
启动细节等
3)载入MBR(master boot record--主引导记录)
默认位于引导硬盘0柱面,0磁头,0扇区
存放着bootloader(自举程序),磁盘分区表
4)启动自举程序--GRUB(配置文件/boot/grub/grub.conf也被链接到/etc中)
加载内核(kenel),用于识别驱动硬件
GRUB配置文件选项:
default:定义缺省启动系统
timeout:定义缺省等待时间
splashimage:定义GRUB界面图片
hiddenmenu:隐藏菜单
title:菜单标题
root:设置内核所在分区
kernel:定义内核所在位置
initrd:命令加载镜像文件
进入GRUB界面可执行命令:
e:编辑当前启动菜单项
c:进入GRUB的命令行方式
b:启动当前菜单项
d:删除当前行
ESC:返回
5)启动init(初始化)进程--读取inittab配置文件(/etc/inittab)
本进程PID(process ID)值恒为1.从属于内核调度器(PID=0,用于获取cpu时间)
用于获取运行级别,包括7种:
0:关机
1:单用户模式,只有root用户可用
2:没用NFS文件系统的多用户模式
3:多用户模式
4:缺省,没有指定运行级别时系统的默认运行级别
5:图形界面模式(x11)
6:重启
运行级别0和6最好不要设置为默认运行级别(initdefault)
inittab文件用于指定系统在某运行级别的某种运行状态下执行什么命令
采用以下格式:
标志符:运行级别组:运行状态:脚本或命令
标志符ID:数字或字母组成用于标识唯一性
运行级别runlevel:可以指定一个或多个或缺省
运行状态:
initdefault:指定系统缺省运行级别
sysinit:系统启动时执行
wait:等待本次执行完毕再执行其他
ctrlaltdel:按下Ctrl+ALT+Del时执行
powerfail:当电源出错时执行
powerokwait:当电源恢复时执行
respawn:重复运行本命令
6)启动脚本/etc/rc.d/rc.sysinit
按运行级别调用/etc/rc.d/rc脚本,执行相应目录中程序引导系统服务启动
0:rc0.d
1:rc1.d
2:rc2.d
3:rc3.d
4:rc4.d
5:rc5.d
6:rc6.d
目录都存放在/etc/rc.d中,也都被链接到/etc中
所以目录中存放的也是软链接,都指向/etc/rc.d/init.d中的文件
目录内文件命名格式为:K001pxe或S001pxe
K为不启动,S为启动,中间数值越小越优先启动,后面为服务名称
7)用户名,密码--输入用户名和密码进入系统
2.系统设置相关命令
1)查看/设置硬件时钟:hwclock
2)查看/设置软件时钟:date
3)查看当前运行级别:runlevel
4)切换运行级别:init [0到6]
5)设置自启动程序:用 ln -s 链接到相应启动级别服务目录中以S+数值开头命名
注:如非需要数值不要小于系统自带服务
6)设置启动服务:
(1)直接删除相应服务文件或修改文件名如S改为s
(2)chkconfig
(3)ntsysv
7)查看引导日志:dmesg 或直接查看系统日志/var/log/messages