1.引导流程
[1] 固件 firmware(CMOS/BIOS) -> POST加电自检
[2] 自检程序 BootLoader(GRUB) -> 载入内核
[3] 载入内核 Kernel -> 驱动硬件
[4] 启动init
[5] 读取执行配置文件/etc/initab
2.固件作用
[1] 安全设置
[2] 可引导介质列表
[3] 可引导介质搜索顺序
[4] 启动细节显示
[5] .....
3.。固件时钟和软件时钟同步实例
[1] hwclock
[2] date
[3] 思路: 查看帮助(hwclock --help)选项
[4] hwclock --set --date="25/9/2012 16:45:05"
[5] date MMDDhhmm[[CC]YY][.ss]
4. Master boot record
[1] 446bytes Bootloader
[2] 64bytes partition table [partion1/partion2/partion3/partion4] -> [Partion flag/Start CHS/Partion byte/END CHS/Start LBA/Size]
[3] 2bytes Magic Number
5.GRUB
[1] 主要作用是载入内核
[2] vi /etc/grub.conf --> 2.6.18 版本号 6:偶数为正式版,奇数为测试版
[3] 查看内核: ls /boot
6.内核的作用
[1] 驱动硬件(源码中最多的是驱动程序)
[2] 启动进程init
7.init进程
[1] init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程
[2] UNIX系统中,init时第一个可以存在的进程,PID恒为1,但它必须向一个更高级的功能负责(PID为0的内核调度器Kernel scheduler),从而获的CPU的时间
[3] 父进程结束,子进程必须结束,如果意外原因,子进程没有结束,则把父进程设为init进程
8.linux运行级别
[1] l0 - l6 : 7个级别
[2] 7 modes
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode (没有图形界面,只有root能登陆)
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) (没有图形界面)
# 3 - Full multiuser mode (没有图形界面)
# 4 - unused (没有在使用的,用户自定义)
# 5 - X11 (x window 图形界面,缺省运行级别)
# 6 - reboot (Do NOT set initdefault to this)
[3] NFC: network file system (unix系列文件共享服务)
[4] 更换运行级别 查看:runlevel 更改:init [0123456Ss] telinit [0123456Ss]
[5] 查看目录 ls -l `which telinit`
9. inittab文件
[1] grep -v "^#" /etc/inittab | more (查看非注释的行)
[2] man inittab 查看配置文件
[3] inittab条目格式 - id:run-levels:action:precess
[4] id: 标识符,一般为两位字母或数字
[5] run-levels - 指定运行级别,可以指定多个
[6] action - 指定运行状态
[7] process - 指定要运行的脚步命令
10. action的取值
[1] initdefault - 指定系统启动默认运行级别
[2] sysint - 系统启动执行process中指定的命令
[3] wait - 执行process中指定的命令,并等其结束再运行其他命令
[4] once - 执行process中指定的命令,不等待其结束
[5] ctrlaltdel - 按下Ctrl+Alt+Del时执行process指定的命令
[6] powerfail - 当出现电源错误时执行process指定的命令,不等待其结束
[7] powerokwait - 当电源恢复时执行process执行的命令
[8] respawn - 一旦process指定的命令终止,便重新运行该命令
11. si:sysint:/etc/rc.d/rc.sysinit
[1] 启动脚步/etc/rc.d/rc.sysint,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等
[2] 查看 - vi /etc/rc.d/rc.sysinit 每次系统启动都执行
12. 判断默认运行级别,调用/etc/rc.d/rc脚步,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置
[1] /etc/rc.d/rc/rc[0123456].d 目录下保存了全部的运行级别目录
[2] /etc/rc.d/rc/rc3.d -> S12syslog -> S-start K-kill 用于切换级别,通过K开头关闭相应的服务
[3] S12syslog -> 数字: 执行顺序 名称
13. 大体流程:firmware -> BootLoader -> Kernel -> init -> /etc/inittab -> initdefault -> /etc/rc.d/rc.sysint -> /etc/rc.d/rc -> /etc/rc.d/rcN.d (n=0-6) -> username password
14. 切换运行级别 ctrl + F1-F6 F7:回到x window
15. ca::ctrlaltdel:/sbin/shutdown -t3 -r now 设置执行任何运行级别时,按下组合键执行重启
16. 启动终端 Ctrl + F1-F6
1> 1:2345:respawn:/sbin/mingetty tty1
2> 2:2345:respawn:/sbin/mingetty tty2
3> 3:2345:respawn:/sbin/mingetty tty3
4> 4:2345:respawn:/sbin/mingetty tty4
5> 5:2345:respawn:/sbin/mingetty tty5
6> 6:2345:respawn:/sbin/mingetty tty6
17. x:5:respawn:/etc/X11/prefdn -nodeemon 启动X window
18. ls -ld /etc/rc3.d -> /etc/rc.d/rc3.d 软链接
19. /etc/rc.d/init.d 所有的服务启动都在这个目录下
20. /etc/rc.d/init.d/ntpd [start|stop|restart|reload] 手动|启动关闭对应的服务
21.lrwxrwxrwx. 1 root root 11 Aug 12 18:34 /etc/init.d -> rc.d/init.d
22.设置自启动程序
[1] ls -s
[2] chkconfig
[3] ntsysv
23. 设置
[1] date >> /etc/msg.today
[2] free >> /etc/mem.today
[3] who >> /etc/who.today
[4] vi /etc/rc.d/init.d/msg.script
[5] chmod u+x /etc/rc.d/init.d/msg.script
[6] ls -s /etc/rc.d/init.d/msg.script /etc/rc.d/rc3.d/S100msg.script
24.chkconfig
[1] chkconfig --list 所有安装服务
[2] chkconfig [--level <levels>] <name> <on|off>
25.ntsysv 更改当前启动级别设置
[1] ntsysv --level 3
24.dmesg 查询系统错误信息
[1]dmesg | grep eth0 查看网卡信息
[2]dmesg
25.grep syslog /var/log/messages
26.硬件查看
[1] 首先在固件中查看,是否能够识别
[2] 在日志文件中看能否识别
centos查看引导项 centos引导文件
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
有趣的css - 引导式详情按钮
一个带有图标动效的引导式按钮,适用于阅读详情的引导点击场景。
动效设计 交互设计 UX/UI 详情按钮 css -
centos中僵尸进程的查看与处理
僵尸进程的查看与处理
僵尸进程 父进程 kill ps