linux的CentOS系统启动故障与修复

    以CentOS 6为例,系统的启动流程为:

1.开机post加电自检

2.MBR引导

3.通过grub加载内核

4.加载根

5.加载系统中的第一个进程

6.进行初始化

7.出现登录界面

    其中主要的启动环节是grub引导计算机,分为三个阶段:一阶段发生在mbr的446字节中;一点五阶段在mbr后续的扇区中;二阶段在/boot/grub/目录下。

当三个阶段中任意一个阶段被破坏后,计算机就会无法启动,所以要针对不同的破坏实施不同的修复措施。

一、一阶段的破坏及修复方法:

1.破坏一阶段:dd if=/dev/zero  of=/dev/sda  bs=1 count=446 (清空mbr中446字节的内容)

2.修复:

a.利用光盘启动进入救援模式

b.chroot /mnt/sysimage (切根)

c.grub-install  /dev/sda (此命令的作用是重新安装grub,不仅可以修复一阶段,还可以修复一点五与二阶段的破坏)

d.sync (同步操作)

e. hexdump -C -n 512 /dev/sda  (查看是否修复数据)

f.重新启动

    进行以上步骤,就可以正常启动计算机了。如图所示:

linux的CentOS系统启动故障与修复

linux的CentOS系统启动故障与修复

linux的CentOS系统启动故障与修复

二、一点五阶段的破坏与修复:

1.破坏一点五阶段: dd if=/dev/zero  of=/dev/sda  bs=1  count=10240 skip=512 seek=512

2.修复:

a. 进入救援模式

b. 切根:chroot  /mnt/sysimage

c. 可用grub-install 修复,也可以输入grub,出现提示符——输入root(hd0,0),表示root是第一个硬盘的第一个分区——输入setup (hd0)

d.退出重启

linux的CentOS系统启动故障与修复

linux的CentOS系统启动故障与修复

三、二阶段的破坏与修复:

1.破环:删除/boot/grub下的文件,只留下grub.conf文件

  修复:使用grub-install  /dev/sda 命令,重新安装grub


linux的CentOS系统启动故障与修复


linux的CentOS系统启动故障与修复


2.破坏:删除grub.conf文件

   修复:grub.conf文件负责提供启动时的菜单选项,删除这个文件,需要手动输入文件的主要内容:

   a.启动时停滞在grub界面,手动输入root (hd0,0),回车

   b.输入kernel  /VMlinuz版本(支持Tab键补全) root=/dev/sda2,回车

   c.输入 initrd  /initramfs版本

   b.启动后可恢复grub.conf文件


linux的CentOS系统启动故障与修复


linux的CentOS系统启动故障与修复


3.破坏:删除 /boot/grub/目录

   修复:进入救援模式,切根

   a. grub-install  /dev/sda (重装grub)

   b.sync (同步)

   c.手动创建grub.conf文件:vim /boot/grub/grub.conf

                                        default=0

                                        timeout=3

                                        title linux

                                        kernel  /vmlinuz版本   root=/dev/sda (boot所在分区)

                                        initrd   /initranfs版本

d.重启

linux的CentOS系统启动故障与修复

linux的CentOS系统启动故障与修复 

linux的CentOS系统启动故障与修复

 

linux的CentOS系统启动故障与修复

     总结:通过修复启动各种阶段的故障,可以进一步的了解系统启动的过程,对linux系统也加深了认识。

原创文章,作者:xiamu,如若转载,请注明出处:http://www.178linux.com/86002

赞 (1)
xiamuxiamu
上一篇 2017-09-03 22:24
下一篇 2017-09-03 22:47

相关推荐

  • Nginx反向代理https,提供PhpMyAdmin

    准备工作:主机1、双网卡:外–172.16.252.187  内–192.168.42.140 主机2:192.168.42. 145 主机3:172.16.251.112 主机4:192.168.42.141 在主机2上:     安装httpd  yum  install…

    2017-07-01
  • Linux常用命令说明

    个人认为把操作练习打在博客上比较愚蠢,关于操作部分我将以练习题的形式展示,每周固定练习这些基础的题目 Linux常见命令练习 1.文本内容显示 1.1cat: (1)显示/root下adjtime文件内容 (2)把文件mm.txt的文件内容加上行号输入到textfile2文件中 (3)把文件mm.txt和textfile2的文件内容加上行号(空白行不加)之后…

    Linux干货 2016-10-29
  • Mysql cmake 编译安装、

    基于cmake的mysql安装 1.1 前言 从mysql5.5起,mysql源码安装的编译工具configure开始向cmake过渡。安装方式和之前的略有不同。在这里简单介绍总结下。 安装之前,检查下GNU make, GCC, Perl, libncurses5-dev,cmake-2.8.4是否都已经安装,如果没有安装,用yum install 安装补…

    Linux干货 2017-08-29
  • 一、循环语句:for, while, until 循环执行:将某代码段重复运行多次重复运行多少次:循环次数事先已知循环次数事先未知有进入条件和退出条件 1.for……do……done for 变量 in 列表 ; do    循环体done 执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中…

    Linux干货 2016-08-19
  • Nginx及其相关配置详解(二)

    与套接字相关的配置: 1、server { … }  #配置一个虚拟主机;         Default:—         Context:http server { # 配…

    2017-07-14
  • 马哥教育网络班21期第六周作业

    详细总结VIM编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加# cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :%s/^[[:space:]]\+/#/…

    Linux干货 2016-08-22