linux也会有系统故障,当你好心情启动系统学习时却发生了故障起不来,岂不是很难受;接下来就简单说明系统启不了的问题排查。

linux系统是怎样启动的、会经过哪些初始化进程,大致是两个阶段都都是什么?

首先呢、BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。就是这样一步步linux会开机自检(BIOS)--》MBR引导--》GRUB菜单---》加载内核kernel--》运行INIT--》读取T/etc/inittab配置文件---》执行/etc/rc.d.sysinit配置脚本读取、/etc/dr./rc配置文件读取、/etc/rc.d/rc配置文件读取、/etc/rc.d/local开机脚本、最后启动mingetty进程。

先看看init配置文件都是什么内容:

132527222.jpg

125953786.jpg

初始化脚本:(无论进入哪一个系统级别都要调用这个初始化程序)

130004912.jpg

他们的关系图也就是如此:

192435213.jpg

INIT的进程号是1,从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序,所以在这可以把linux启动分为两个阶段,MBR引导到GRUB为第一阶段;其余的引导后的配置文件为第二阶段;也就是说第一阶段在引导、第二阶段在配置文件;对这linux启动时的故障也会发生在这两个阶段。

如果是第一阶段出现故障(MBR中预引导信息和分区表信息丢失、512字节误删)时:

所以就需要重建MNR文件;这时可以利用引导光盘、启动时不按ENTER键、在boot提示下输入linux rescue 而进入以后总急救模式下:

193853282.jpg

ll 指令查看一下、什么文件目录都没有,所以要更改一下根目录位置;在查看一下:

132553321.jpg

然后执行grub 指令,root进入指明下一第一个磁盘的第一个分区:

200036229.jpg

在使用setup重建MBR即可:()

195417542.jpg

 然后exit 两次会系统自动启动:

200549711.jpg

这样就ok了

----------


如果在第二阶段发生了故障(系统初始化的系统文件或配置脚本丢失)、因为在第二阶段也是配置文件和一些说明文件(在目录/boot/grup.conf所以呢先看一下了解这个配置文件 都有什么信息 能控制那些启动选项:

其实hiddemenu对应表示该菜单是隐藏的、但也是可以更改的;title对应一些列的标签、引导分区上磁盘名和相应的参数:

125926194.jpg

如果说您的是这个grub.conf丢失或顺坏会查看时显示这样(删除之后查看看):


132456991.jpg

所以这样阶段处理、同样的按照以上方式就先进入急救模式;然后更改根后重建第二阶段:

130012557.jpg

130017313.jpg


也同样的Exit两次就能启动了:

125914308.jpg

重启后自动进入了grub下:(如果说grub都进不了、那说明第一阶段的引导就有问题了)

125930745.jpg

使用指令boot启动:看是它否已经起来:

130023138.jpg

进入到级别6 登录试试:

130027251.jpg

看看这也就可以了

130006468.jpg

是吧

125908955.jpg

延伸忘记root密码时怎么办,虽然是虚拟机;
这个问题因为我出现过、我后来做了以下:

重启linux系统,然后引导进入linux的单用户模式(:init 1),因为单用户模式是不需要输入登录密码的,因此,可以直接登录系统,修改root密码即可解决问题。
下面是详细的处理方法,这里我们以Redhat linux为基准,操作步骤如下:
(1) 重启系统,待linux系统启动到grub引导菜单时,找到当前系统引导选项(可以按上下键展开隐藏菜单,单处理器只有一个引导项,多处理器有3个或3个以上引导项,一般默认选项就是系统当前引导选项)。
(2) 通过方向键将光标放到当前系统引导项上,然后按键盘字母“e”,进入编辑状态。
(3) 然后通过上下键,选中带有kernel指令的一行,继续按键盘字母“e”,编辑该行,在行末尾加个空格,然后添加single,就是:kernel  /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet single
(4) 修改完成,按回车键,返回到刚才的界面。
(5) 最后按键盘“b”,系统开始引导。
这样系统就启动到了单用户模式下,这里的单用户根windows下的安全模式类似,在单用户模式下,只是启动最基本的系统,网络以及应用服务均不启动。单用户模式启动完毕,系统会自动进入到命令行状态下,类似与“sh-3.1#”,然后直接执行passwd,回车,系统会提示输入新的root密码两次,最后会看到修改密码成功的提示,这样就完成了root密码的修改。如果需要正常启动系统,现在只需输入“init 3”,就进入了多用户模式。可以再用root用户重新登录系统,看看设置的新密码是否生效。

(如果您的是虚拟机、就经常保留快照、就像系统 还原一样、初始到你保存快照的状态。)