引导过程常见故障排除详解
本篇博客将从理论到实验操作详细描述Liunx系统的完整引导过程,并解决三种影响正常开机的故障。
目录引导:
一、完整的开机引导流程开机自检: 也称加电自检(POST,Power On Self Test)。 指计算机系统,接通电源,(BIOS程序)的行为,包括对CPU、系统主板、基本内存、扩展内存、系统ROM BIOS等器件的测试。如发现错误,给操作者提示或警告。简化或加快该过程,可使系统能够快速启动。 MBR引导: 其引导代码储存在第一块磁盘的第一个扇区中,容量为512字节。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。 GRUB菜单引导: 允许用户同时拥有多个操作系统,并在启动时选择希望加载的操作系统。也可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。 init进程: 该进程为加载系统的必要组件,也是加载环境变量的必要部分。由Liunx内核加载运行/sbin/init程序执行,为系统的中的第一个进程,其PID(进程标记号)号始终为1. 以上就是Liunx系统完整的启动流程,而在启动的过程中,很有可能会遇到各种情况导致无法进入系统,接下来这里就将挑出几个常见的问题进行解析: 二、修复MBR扇区故障引起的故障MBR引导位于整个启动程序的第二步,也是除了硬件问题外第一个容易出现问题的地方。 [[email?protected] data]# dd if=/dev/sda of=/data/sdr.mbr.bak bs=512 count=1 将原系统内的mbr引导扇区进行复制 接下来就准备模拟mbr扇区损坏的情况,输入 [[email?protected] data]# dd if=/dev/zero of=/dev/sda bs=512 count=1 将垃圾文件导入原来的MBR扇区中,破坏扇区成功! 重启后,就会完全无法进入系统。 这时候插入Centos7的安装光盘(这里因为是虚拟机,所以只需要添加镜像文件即可),然后重启服务器,在出现读条时按下“ESC”键(不放心的可以从开始重启就一直按),进入“BOOT MENU”界面,选择第三个使用CD进入 执行完以上的步骤,需要耐心等待一分钟。待其进入如下界面,在下方输入“1”进入光盘镜像自带的简易镜像系统,正式开始修复。 在镜像系统中,输入 sh-4.2#mount /dev/sdb1 /mnt 将拥有备份的磁盘进行临时挂载(没有挂载的磁盘只是个物理设备,但无法读取),后面的工作就比较明了了,只需要进行恢复备份即可,输入 sh-4.2#dd if=/mnt/sdr.mbr.bak of=/dev/sda 事实上,此时扇区已经修复完毕,所以最后只要reboot重启即可完成修复。 三、修复GRUB菜单故障引起的故障除了MBR引导以外,另一个容易出现问题的步骤就是由于GRUB菜单出现问题导致无法进入系统。 [[email?protected] ~]# cd /boot/ [[email?protected] boot]# ls 跳转到/boot目录下并用ls目录进行查看,可以看到/boot目录下存在两个grub目录 接着跳转进入grub2目录中, [[email?protected] boot]# cd grub2 将目录中的grub.cfg删除 [[email?protected] grub2]# rm -rf grub.cfg 然后直接reboot重启 重启后就会发现,果不其然,开机无法进行,会卡在“grub>”符号处无法继续(当然这里不是完全卡死的,只是因为缺少关键的cfg文件才无法继续。大神可以在这里手动输入文件。) OK,既然问题已经出现了,那么我们就来解决它。重启虚拟机,跟上章节修复MBR扇区一样(要通过光盘自带的简易镜像进行修复),直到进入镜像系统前的步骤都完全一样,这里就不耽误时间了。 进入镜像系统,开始正式修复。输入 sh-4.2#chroot /mnt/sysimage/ 进入光盘镜像自带的bash环境,接着启用 bash-4.2#grub2-install /dev/sda 重新建立加载sda分区 而实际上因为我们是模拟情况,所以除了grub的配置文件丢失之外,其它部分应该都是完好的。 修复grub菜单的最后一步就是重新构建grub菜单配置文件,输入 bash-4.2#grub2-mkconfig -o /boot/grub2/grub.cfg 完成后,重启(exit+reboot)即可结束修复。 四、重置Centos7系统管理员(root)密码事实上,第三篇严格意义上不能算导致无法进入系统的错误,但是不知道管理员密码其实和进不了系统没什么区别(相信看这篇博客的人都懂为什么),所以我在这里也明确的解决一下吧~~ OK,问题出现了。让我来开始解决: 添加光盘镜像,同时把系统重启,并在出现读条时按下“ESC”。。。。。。(直到进入镜像系统,前面步骤与修复grub菜单等雷同,不再说明) 进入光盘镜像系统后,和修复grub菜单时一样输入 sh-4.2#chroot /mnt/sysimage/ 进入光盘镜像自带的bash环境,接着————跟在Liunx中一样使用passwd命令即可 bash-4.2#passwd root 接着输入两遍新密码,重启即可。 - 以上,就是系统启动的理论部分以及三个容易导致无法进入系统的问题的修复方法。(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |