RHEL5故障一般排错(3)

2.11.6、Run-levels故障时,如何修复
?当Run-level发生问题时,必须进入Single user mode(单用户模式)来修复,单用户模式共分以下三种

?Runlevel 1,进入GRUB菜单后,按下a键,在最后输入空格和1

?执行init后 >> /etc/rc.sysinit(初始化文系统) >> /etc/rc1.d/*

?Runlevel S,当出现Welcome to Red Hat时,挡下I键,然后一个一个的问我们要不要启用某些服务

?执行init后 >> /etc/rc.sysinit(初始化文件系统)

?Runlevel emergency,通常/etc/fstab设定错误时,会自动进入

?执行init后 >> /etc/rc.sysinit的重要程序,不会全部执行,即sulogin模式

我们可以模拟一下错误,在/etc/fstab文件里随便填写一个不存在的分区和挂载点,系统启动时会提示错误,并让我们输入root密码,进入sulogin模式,注意在sulogin模式下,所有命令都必须使用绝对路径,因为它没有环境变量,在这里就不做示范了。

2.11.7、什么是Rescue Mode救援模式
?当一个目录所在的文件系统损坏,或者是开机管理程序被破坏的时候,会导致不能通过硬盘开机

?所以我们只能用光盘开机

?使用RHEL4或RHEL5中的第一张光盘

?也可以用第一张光盘里images目录下的boot.iso刻一张光盘,作为启动盘

?也可以使用第一张光盘里images目录下的diskboot.img复制到U盘里面

?开机过程中,会把光盘或者U盘里开机必要的文件载入到内存,成为一个可以开机的操作系统,我们才能通过指令进入救援模式

?救援模式会尝试找到根目录所在的文件系统,并把根目录挂载到/mnt/sysimages目录里

模拟开机管理程序被破坏时进入救援模式:

#dd if=/dev/zero of=/dev/sda bs=446 count=1

意思是:把/dev/zero复制到/dev/sda文件里去,也就是把/dev/sda的前446b改成0来模拟开机管理程序被破坏。

现在从BIOS里设置用光盘或者U盘来开机,保存并退出。

当光盘开机到boot的时候,输入:

Boot:linux rescue #进入救援模式

#grub-install /dev/sda #修复开机管理程序

会提示错误:/sbin/grub:Not found,这是因为所有的文件系统都被挂载到/mnt/sysimages了

#chroot /mnt/sysimage/ #将根目录设置为/mnt/sysimage/

#grub-install /dev/sda #修复开机管理程序

#exit #第一个exit表示退出chroot

#exit #退出救援系统,然后就可以正常使用硬盘开机了

模拟根目录所在的文件系统损坏的时候如何修复:

根目录所在的文件系统损坏,不一定是指文件系统真的坏掉了,有可能是系统找不到根目录,所以会认为根目录所在的文件系统损坏,我们可以:

#vi /boot/grub/grub.conf

把kernel这一行的/ rhgb quiet删掉,重启时系统就提示找不到根目录。

开机时会提示错误信息:Kernel panic – not syncing:Attempted to kill init!可以在这个错误信息上面找找看有没有相关的错误提示,解决方法:

进入GRUB菜单后,按下a键,在最后输入删掉的信息,或者要设定的信息,在LABLE=后面输入/,表示要把LABLE值等于/的目录当成是根目录并挂载,这样就可以启动了。


linux启动过程及troubleshooting
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<#>.d 中定义的不同运行级别的服务初始化脚本;
打开字符终端 1-6 号控制台 / 打开图形显示管理的 7 号控制台

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25527.html