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

相关推荐

  • Linux中一些常用的命令(一)

    ls命令 ls命令:用来列出当前目录的内容或指定目录,是使用频率较高的命令 -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等 -a:列出所有隐藏文件和目录 -h:以人类可读的方式将文件或者目录大小显示出来 -R:把当前目录下的目录的所有内容列出来(递归) -d:显示…

    Linux干货 2017-03-30
  • 第十六周作业

    1、源码编译安装LNMP架构环境;     安装nginx:      1)安装依赖包 ]# yum groupinstall “Development Tools” “Development Libraries” -y ]# yum install wget openssl-devel ncurses-de…

    2017-05-02
  • 大话命令之–ss

    大话命令之—ss ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。 优势: (1)显示更多更详细的有关TCP和连接状态的信息,(2)比netstat更快速更高效。 1 格式 格式:ss    [option]… &nbs…

    Linux干货 2017-05-15
  • 理解Inode

    inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 下面就是我的inode学习笔记,尽量保持简单。 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最…

    Linux干货 2015-03-20
  • 永远不要让自己停下

    曾几何时,我还是刚出象牙塔的小男孩。想想现在,经过4年的洗礼,我不再是小男孩了。可是,我却发现自己变得越来越懒,守着那丁点的知识。 我早已坐吃山空而不自知,早已落后于时代的趋势而不自知。时代需要一个勤奋而专注的我,需要一个不懈怠的我。 如果,我不继续前进,等待我的只有堕落。逆水行舟不进则退,不逼自己一把,永远不知道自己的潜力有多大。 我希望说,再见,懈怠而懒…

    Linux干货 2016-10-07
  • ​学会用各种姿势备份MySQL数据库

                学会用各种姿势备份MySQL数据库 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY …

    Linux干货 2016-04-27