Linux系统启动及故障排除

1、Linux系统流程

 

开启电源
启动COMS/BIOS
读取硬盘
读取硬盘引导扇区
加载LILO或者grub
加载内核
只读方式挂装根文件系统
启动init进程(一切进程的“祖父”)
读取/etc/inittab文件
读取/etc/rc.d/rc.sysinit文件
读取/etc/fstab文件
运行/etc/rc.d/rcX.d下的文件
读取/etc/rc.d/rc.local 文件

BIOS初始化

检测外围设备
检测启动设备(硬盘、光盘、网络)
如果是硬盘启动则读取与执行启动设备的第一个扇区

系统引导装载工具

启动引导工具引导并运行核心
分为两个独立的阶段
第一阶段:存放在启动扇区
第一阶段即BIOS从启动扇区中读入IPL(初始化程序引导工具)这一过程
第二阶段;/boot目录下的文件
因为MBR的空间太小,所以启动引导工具往往还需要从其他地方进一步读入数据,即所谓第二阶段。这通常是一个可以做选择的交互界面。

在Linux中常用的启动引导工具
lilo(LInux LOader) 是旧版本linux的标准启动引导工具 其配置文件为/etc/lilo.conf 每当lilo.conf被更动,必须执行/sbin/lilo以使更动生效 grub(Grand Unified Bootloader) 被广泛地应用于替代lilo的引导工具 支持在启动时使用命令行模式 支持md5加密保护 其配置文件为/boot/grub/grub.conf 支持引导多种文件系统 更动grub.conf即可立时生效 Linux内核

系统引导内核文件(vmlinuz)

是可引导的、压缩的内核。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。 vmlinuz是可执行的Linux内核,它的解压程序也在内核当中 。 vmlinuz的建立有两种方式 编译内核时通过make zImage创建,zImage适用于小内核的情况,它的存在是为了向后的兼容性。 内核编译时通过命令make bzImage创建 (单独编译内核映像,不编译驱动模块,生成内核映像bzImage) 内核文件存放 在/boot目录中。 初始化内存镜像盘( initramfs) 核心初始化

检测硬件设备
设备驱动初始化
将根分区以只读方式挂载
载入初始进程(一般是init)

系统初始化文件(inittab)

init定义了0~6这7个运行级别。

0   关机

1   单用户模式(文本模式)

2   多用户模式但不支持NFS(文本模式)

3   多用户(文本模式)

4   暂无定义

5   多用户图形界面模式

6   重启计算机

运行级别可以被指定于:

1.系统启动时作为核心加载参数被指定

2.未被指定的情况下,系统启动时从/etc/inittab中读取 3

.在系统运行中,root用户键入init [0-6]来切换模式。

系统初始化脚本

/etc/rc.d/rc.sysinit是系统启动用的脚本

从/etc/sysctl.conf中读取核心参数

设置系统时钟

载入keymap

激活swap分区

设置主机名

检查根文件系统并挂载

加载Raid设备

激活磁盘限额

检查并挂载其他文件系统

清除失效锁及PID文件

运行级别服务目录

每一个运行级别都对应一个目录 /etc/rc.d/rcX.d 目录内存放的,即当前运行级别需要开启的服务脚本 对应/etc/rc.d/init.d/目录下的链接 链接文件开头是S,表示启动;开头是K,则表示关闭。

切换运行级别,即运行这个目录里所有的脚本 用户可以通过ntsysv调整当前运行级别的开关服务,或用chkconfig,调整某一运行级别下的开关服务。

用户自定义启动脚本文件

/etc/rc.d/rc.local文件是在系统启动最后一个被读取的用户自定义启动脚本文件。 一般系统用户将针对此台计算机的开机定制设置写入其中,而非/etc/rc.d/rc.sysinit。

 2.系统启动故障排除

 正常启动情况

image 

 MBR引导出现错误:

image

进入linux急救模式,必须有引导盘。

image

然后选择语言,键盘,网络。选择Continue继续操作

image 

image

image

输入exit

再输入exit

系统会自动重启,恢复正常。

加载引导文件出现错误

image

image

用户必须新建grub.conf文件,供以后引导使用,否则还会出现系统故障。

image

 image 

然后可以正常启动

vim /boot/grub/grub.conf

这是正常文件

image

default=0   #默认启动第几个”tile”(0表示第一个”title”)
timeout=5  #时间延迟(5秒后自动启动第一个”title”)
splashimage=(hd0,0)/grub/splash.xpm.gz  #GRUB启动菜单背景界面
hiddenmenu  #隐藏菜单选项
title Red Hat Enterprise Linux Server (2.6.18-128.e15 ) #菜单中的系统标题
root (hd0,0)   #指定根设备(hd0,0 第一个磁盘的第一个分区)
             kernel /vmlinuz-2.6.18-128.e15  ro root=/LABEL=/  rhgb quiet #指定内核文件与挂载根设备
          Initrd  /initramfs-2.6.18-128.e15.img  #指定初始化内存镜像盘
title windows               #另一个操作系统的标题
  rootnoverify (hd0,1)             #操作系统存放在hd0,1上,不要在grub里mount
  chainloader +1               #从hd0,1的第一个扇面启动

系统初始化出现故障

 image

此时输入管理员密码进入修复文件系统模式

vim /etc/fstab

这时候此文件系统属于只读文件系统,输入命令

mount –o rw,remount /

image

重新编辑/etc/fstab文件使其恢复到正常系统的文件

image

重新启动后可以恢复正常

友情提示:

vim /etc/inittab

360截图20120804122144205

目的是默认Ctrl+Alt+Delete 执行自动重启系统。为方便用户操作,可以加#视为注释。

你可能感兴趣的:(linux,启动过程,系统故障排除。)