系统的启动流程(破环修复实验)
2017-09-02 本文已影响0人
不知岁月惜
这章简单描述下系统的启动流程,主要以破环修复实验为主:
系统启动基本过程:
Linux系统启动过程大致按照如下步骤进行(这是一个简述):
第一阶段:BIOS启动引导阶段;
在该过程中实现硬件的初始化以及查找启动介质;
从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理
第二阶段:GRUB启动引导阶段;
装载stage1
装载stage1.5
装载stage2 读取/boot/grub.conf文件并显示启动菜单;
装载所选的kernel和initrd文件到内存中
第三阶段:内核阶段:
运行内核启动参数;
解压initrd文件并挂载initd文件系统,装载必须的驱动;
挂载根文件系统
第四阶段:Sys V init初始化阶段:
启动/sbin/init程序;
运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统;
读取/etc/inittab文件,运行在/et/rc.d/rc(N).d中定义的不同运行级别的服务初始化脚本;
打开字符终端1-6号控制台/打开图形显示管理的7号控制台
同时在上述过程中各阶段所需要读取的文件和操作的对象:
BIOS启动引导阶段 | GRUB启动引导阶段 | :内核阶段 | /init/sysinit阶段 |
---|---|---|---|
None | /boot/grub/grub.conf | /boot/vmlinuz-<version> | /etc/rc.d/rc.sysinit |
/boot/grub/stage1_5 | /boot/initrd-<version> | /etc/inittab | |
/boot/grub/stage2 | /etc/rc.d/rc<#>.d | /etc/rc.d/init.d/* |
实验一:如果开机启动时发现某服务出错导致无法启动,进行排错?
步骤:1、开机启动读秒后按esc键,进入GUN GRUB 窗口,按a进行内核参数修改。
2、chkconfig –list testsrv 查看服务所有模式下的启动状态
3、mount -o remount,rw / 用读写方式重新挂载/
4、chkconfig testsrv off 关闭服务,不制定级别,默认2,3,4,5级别下服务关闭
5、chkconfig –level 1 testsrv off
6、ls /etc/rc5.d/tsetsrv 查看是5模式下,文件是K或S开头的,
7、重新启动
实验二:dd if=/dev/zero of=/dev/sda bs=1 count=446,破环MBR第一个分 区 前446字节(bootloader),修复?
hexdump -C -n 446 /dev/sda ---发现前446个字节变成空的