linux系统引导流程,linux系统引导流程

系统引导流程

********************************************************************

固件 firmware(CMOS/BIOS)--->POST加电自检

自举程序BootLoader(GRUB)--->载入内核

载入内核Kernel  ----->驱动硬件

启动进程init PID=1(恒为一)

读取执行配置文件/etc/inittab

同步软硬件时钟

date软件时钟 hwclock硬件时钟

更改软件时钟 # date 070519022015.10

更改硬件时钟 # hwclock --set --date="9/22/96 16:45:05"

软硬件时钟同步

--set             set the rtc to the time given with --date

--hctosys     set the system time from the hardware clock

--systohc     set the hardware clock to the current system time

Linux运行级别

********************************************************************

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

#

id:3:initdefault:

inittab文件剖析

********************************************************************

在inittab中,所有条目采取以下格式:

id:run-levers:action:process

id:标识符,一般为两位字母或数字

run-levers:指定运行级别,可以指定多个

action:指定运行状态

process:指定要运行的脚本/命令

action常用取值:

initdefault:指定系统缺省启动的运行级别

sysinit:系统启动执行process中指定的命令

wait:执行process中指定的命令,并等其结束再运行其他命令

once:执行process中指定的命令,不等待其结果

ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令

powerfail:当出现电源错误时执行process指定的命令,不等待其结果

powerokwait:当当电源恢复时执行process指定的命令

respawn:一旦process指定的命令终止,便重新运行该命令

id:3:initdefault:

指定系统默认运行级别3,运行X Window,则改为5

si::sysinit:/etc/rc.d/rc.sysinit

启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动

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

判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的

服务程序,完成相应运行级别的初始化设置

/etc/rc.d/rc[0123456].d

分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中的相应脚本

/etc/rc.d/rc3.d

文件--> S12syslog、K01dnsmasq

S-start    启动时执行

K-kill    注销时执行

数字    启动的顺序 越小越优先启动

脚本名称

例:取消某些无需启动的服务

mv S03vmware-tools    s03vmware-tools(小写s系统不会自启)

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

6个不同的终端,按ctrl+alt+F1-F6,F7回到X-Window

/etc/rc.d/init.d

该目录下包含各个运行级别的服务程序脚本

手动启动/关闭服务

/etc/init.d=====>/etc/rc.d/init.d

# /etc/rc.d/init.d/sshd start

设置自启动程序

*********************************************************************

ln -s

ln -s /etc/rc.d/init.d/msg.script  /etc/rc.d/rc3.d/S100msg.script

chkconfig

chkconfig --list sshd

chkconfig --level 3 sshd on

ntsysv

ntsysv --level 3

运行dmesg检查引导期间的错误

#dmesg | grep eth0

GRUB

********************************************************************

GRUB的配置文件默认为

/boot/gurb/grub.conf

软连接文件 /etc/grub.conf

default 定义缺省启动系统

timeout 定义缺省等待时间

splashimage 定义GRUB界面图片

(hd0,0)------- /boot 所在分区

hiddenmenu 隐藏菜单

title 定义菜单项名称

root 设置GRUB的根设备即内核所在的分区

kernel 定义内核文件所在位置

initrd 命令加载镜像文件

GRUB命令

功能键:

e:编辑当前的启动菜单项

c:进入GRUB的命令行方式

b:启动当前的菜单项

d:删除当前行

ESC:返回GRUB启动菜单界面,取消对当前单项所做的任何修改

单用户模式应用

案例:root密码忘记

进入单用户重设root密码,方法如下:开机进入GRUB界面,按e进入

编辑模式,选择kernel行,再次按e,在新的界面最后一行输入1或s,即可

进入单用户模式。

修改密码:sh-3.2# passwd root

设置Grub密码

1.使用GRUB自带的grub-md5-crypt命令

#grub-md5-crypt

Password:

2.在GRUB交互命令行界面中使用md5crypt命令

# grub

grub> md5crypt

Password:

$1$9vWzJ$wrG0fHdlSCXt7E1x4AWod.

在GRUB配置文件,加入下行:

password --md5 $1$9vWzJ$wrG0fHdlSCXt7E1x4AWod.

--md5参数表示口令是MD5加密的。

GRUB修复

当开机进入grub界面但没有菜单,只剩下一个grub>提示符,解决方法:

grub> cat /boot/grub/grub.conf(为查看参数)

grub>root  (hd0,0)

grub>kernel  /vmlinuz-2.4.18-14 ro root=LABEL=/

gurb>initrd  /initrd-2.4.18-14.img

grub>boot

GRUB修复模式

解决过程

1.把安装盘放入光驱,然后重新启动机器,在bios中把系统用光驱来引导

2.等安装界面出来后,按F5键,也就是linux rescue模式

然后在boot下输入

linux rescue

然后就是回车一下。

sh# chroot /mnt/sysimage

时间: 07-06

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值