linux系统引导流程解析
系统引导流程固件firmware(CMOS/BIOS) → POST 加电自检
↓
自举程序BootLoader(GRUB)→ 载入内核
↓
载入内核Kernel→ 驱动硬件
↓
启动进程init
↓
读取执行配置文件/etc/inittab → 默认的运行级别initdefault → 系统服务加载脚本/etc/rc.d/rc.sysinit → 判断系统相应的运行级别来运行相应的语句 → /etc/rc.d/rc → /etc/rc.d/rcN.d (N=0-6)(然后在里面执行相应的脚本,K开头表示不执行脚本,S开头的表示执行) → username password 进入系统
1、date 查看系统的时间
2、hwclock 查看固件的时间
3、修改时间 date mmddhhmm yyyy.ss 例如修改系统的时间为:2011-06-16 12:34:38 的date 06161234 2011.38
4、修改hwclock的时间 hwclock --set --date="6/22/96/ 11:19:30"
5、grub的配置文件 vi /etc/grub.conf
[root@localhost ~]# vi /etc/grub.conf
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda2
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
gfxmenu (hd0,0)/message
title RedFlag (2.6.22.6-1)
root (hd0,0)
kernel /vmlinuz-2.6.22.6-1 ro root=LABEL=/ vga=788 splash=silent
initrd /initrd-2.6.22.6-1.img
6、查看系统的进程 ps -le | more
7、vi /etc/inittab
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:5:initdefault:
# System initialization.
si::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
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
8、查看当前的运行级别: runlevel
9、切换运行级别:init 0123456 telinit 0123456
10、排除以“#”为首的行: grep -v "^#" /etc/inittab | more
系统每次都会运行 si::sysinit:/etc/rc.d/rc.sysinit
11、ls /etc/rc.d/rc3.d shut -h now shut -t 3600
12、重新启动系统:reboot
案例:修改root的密码
13、在倒数5秒内按 Esc 进入grub
14、GRUB配置选项
default定义缺省启动系统
timeout定义缺省等待时间
splashimage定义GURB界面图片
hiddenmenu隐藏菜单
title定义菜单项名称
root设置GRUB的根设备即内核所在的分区
kernel定义内核文件所在位置
initrd命令加载镜像文件
15、GRUB命令
功能键:
e: 编辑当前的启动菜单项
c: 进入GRUB的命令行方式
b: 启动当前的菜单项
d: 删除当前行
Esc: 返回GRUB启动菜单界面,取消对当前单
项所做的的任何修改
16、单用户模式应用
案例:root密码忘记
进入单用户模式重新设置root密码,方法如下:
开机进入GRUB界面,按e进入编辑行模式,选中kernel行,再次按e键,在新的界面的最后一行
输入1或s,即可进入单用户模式。
修改root用户的密码:passwd root 然后输入密码即可。
17、设置GRUB密码
1. 使用GRUB 自带的grub-md5-crypt命令
# grub-md5-crypt
Password:
$1$EszU60$Mc2BwxeWUH/8q3iqbRknz0
2. 在GRUB交互命令行界面中使用md5crypt命令
# grub
grub> md5crypt
Password:
$1$EszU60$Mc2BwxeWUH/8q3iqbRknz0
18、设置GRUB密码
同样的明文口令每次加密获得的MD5密文口令也是不同的。
编辑GRUB配置文件,加入如下行:
password --md5 $1$EszU60$Mc2BwxeWUH/8q3iqbRknz0
--md5参数表示口令是MD5加密的。
19、GRUB修复
当开机后进入grub界面但没有菜单,只剩下一个
grub>提示符,解决方法:
grub>cat /grub/grub.conf (为查看参数)
grub>root (hd0,6)
grub>kernel (hd0,6)/vmlinuz-2.6.18-14 ro
root=LABEL=/
grub>initrd (hd0,6)/initrd-2.6.18-14.img
grub>boot
20、Linux修复模式
解决过程
1.把安装盘放到光驱,然后重新启动机器,
在BOIS中把系统设置为光驱引导。
2.等安装界面出来后,按[F5]键进入linux
rescue模式说明,然后在boot提示符下输入:
linux rescue
然后回车,进入修复模式。