linux系统启动流程及 MBR损坏,grub内容,文件误删,boot目录,分区误删修复

操作环境:linux Redhat 5.8

一.首先简单看一下系统启动的流程图,然后再作详细的解释

二.

1,BIOS自检,检测硬件,决定启动介质

BIOS为写入到主板上的一块闪存或EEPROM的程序,它可以在开机的时候执行,并通过BIOS程序去加载CMOS的信息,美国服务器,并通过CMOS内的设置取得主机的各项硬件配置(CMOS:CMOS的主要功能就是记录主板上面的重要参数,包括系统时间,CPU电压与频率,各项设备的I/O地址与IRQ等),BIOS程序也可以修改CMOS当中的参数,用BIOS设定程序的按键都不同,一般常见的使用Del按键进入BIOS设置界面

2,从硬盘启动,读硬盘的第一个扇区MBR,免备案空间,然后将启动引导工作交给bootloader

MBR引导记录位于物理硬盘的第一块扇区的一段引导代码(第一块扇区512个字节,其中MBR占446字节,分区表占64字节,结束标志占2字节),该扇区又称为主引导扇区(MBR扇区)

3,bootloader去找grub,grub读取配置文件grub.conf,决定默认启动项,找到内核(kernel)和驱动(initrd)

@1.Bootloader:它的主要功能是认识操作系统的文件格式并加载内核到内存中去执行,由于不同的操作系统的文件格式不一致,因此每种操作系统都有自己的bootloader,bootloader分为两个阶:

1、stage1:执行bootloader加载文件系统驱动

2、stage2:加载真正的配置文件:grub.conf

@2.grub.conf里面有内核和驱动的信息,下面会对grub.conf文件做具体的介绍

4,内核会主动调用init进程,读取配置文件/etc/inittab,决定启动级别,运行初始化脚本/etc/rc.d/rc.sysinit,运行相应的启动级别下的脚本/etc/rc.d/rcN.d/

@1.vim/etc/inittab

id:5:initdefault://默认的runlevel设置,此处为5

#Systeminitialization.

si::sysinit:/etc/rc.d/rc.sysinit//准备系统软件执行的环境的脚本执行文件

l0:0:wait:/etc/rc.d/rc0//0-关机(千万不要把initdefault设置为0)

l1:1:wait:/etc/rc.d/rc1//1-单用户模式l2:2:wait:/etc/rc.d/rc2//2-多用户,但是没有NFS服务

l3:3:wait:/etc/rc.d/rc3//3-完全多用户模式

l4:4:wait:/etc/rc.d/rc4//4-没有用到(系统保留功能)

l5:5:wait:/etc/rc.d/rc5//5-X11(与3类似,但是加载使用XWindow)

l6:6:wait:/etc/rc.d/rc6//6-重新启动(千万不要把initdefault设置为6)

ca::ctrlaltdel:/sbin/shutdown-t3-rnow//是否允许按【ctrl】【alt】【del】就重新启动的选项

#不断电系统的pf,pr两种机制,一个是没电时的关机,一个是复电的处理

pf::powerfail:/sbin/shutdown-f-h+2"PowerFailure;SystemShuttingDown"

pr:12345:powerokwait:/sbin/shutdown-c"PowerRestored;ShutdownCancelled"

#tty1~tty6是由这六行决定的

1:2345:respawn:/sbin/mingettytty1

2:2345:respawn:/sbin/mingettytty2

3:2345:respawn:/sbin/mingettytty3

4:2345:respawn:/sbin/mingettytty4

5:2345:respawn:/sbin/mingettytty5

6:2345:respawn:/sbin/mingettytty6

#启动Xwindow是由这里决定的

x:5:respawn:/etc/X11/prefdm-nodaemon

@2./etc/rc.d/rc.sysinit作用:这里简单说几个

1.取得网路环境和主机类型

2.测试与挂载内存设备/proc及USB设备/sys

3.决定是否启动SELinux

4.启动系统的随机数生成器

5.用户自定义模块

6.加载内核的相关设置

7.初始化软件磁盘阵列,lvm

8.启动相关信息加载/var/log/dmesg文件中

5.依据/etc/inittab执行/etc/rc.d/rc0~6.d

找到/etc/rc.d/rcN.d/K??*开头的文件,并进行/etc/rcN.d/K??*stop的动作

找到/etc/rc.d/rcN.d/S??*开头的文件,并进行/etc/rcN.d/S??*start的动作

如果默认启动是文本开启6个文本控制台[ALT+F1~F6]

如果默认启动项是图形则开启图形界面以及6个文本控制台

用户自定义的开机启动程序/etc/rc.d/rc.local

6,加载XWindow界面,等待用户输入用户名和密码

@1.通过/etc/passwd、/etc/shadow

验证,如果用户名和密码输入正确

读取4个初始化文件:

/etc/profile、/etc/bashrc、~/.bashrc、~/.bash_profile

文本界面直接开启shell

图形界面开启桌面,进入XWindow,通过开启终端打开shell

@2.系统还会自定义设备与模块对应文件为/etc/modprobe.conf

三.介绍一下grub.conf这个文件

呼唤你前往另一个地方,过上另一种生活。

linux系统启动流程及 MBR损坏,grub内容,文件误删,boot目录,分区误删修复

相关文章:

你感兴趣的文章:

标签云: