Linux系统修复

boot里面我们可以根据自己的需求去设置一些启动选项,我们今天来了解一下Linux启动流程,以及boot下的选项。

     wKiom1fXmpOgvkf1AAFXG-vVIDs288.png

    1. 加载BIOS的硬件信息,获取第一个启动设备。

    2. 读取第一个启动设备MBR的引导加载程序(grub)的启动信息

    3. 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备。

    4. 核型执行init程序并获取运行信息。

    5. Init执行/etc/rc.d/rc.sysinit文件。

    6. 启动核心的外挂模块(/etc/modprobe.conf)

    7. Init执行运行的各个批处理文件(scripts).

    8. Init执行/etc/rc.d/rc.local.

    9. 执行/bin/login程序,等待用户登录。

    10. 登录之后开始以Shell控制主机。

   POSTPower-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、 CD-ROM光驱等硬件情况的检测。

   ROM BIOS Basic Inputand Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等。

   RAM CMOS互补金属氧化物半导体,保存各项参数的设定按次序查找引导设备,第一个有引导程序的设备为本次启动设备bootloader: 引导加载器,引导程序

    Boot Loader:主要功能识别.加载操作系统中的核心文件,并提交到内存中运行,进而启动对应的操作系统,每一种操作系统都有自己单独的Boot Loader,只有使用自己的Boot            Loader才可以加载到自己的核心文件。Boot Loader另一个主要功能是提供菜单信息(可以向使用者提供不同的启动项目,来加载不同的操作系统),并将启动管理功能

          转交给其他的加载程序。

   Linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;把用户选定的内核装载到内存中的特定空间中,解压、展开,并把系统控制权移交给内核

    stage1:运行boot Loader的程序与配置项加载分成三个阶段(stage)来运行,MBR空间有限,因此在MBR中仅安装Boot Loader的最小主程序,并没有安装Boot Loader的相关配置文件

    stage1_5:在MBR随后的扇区中存放,主要用于与stage2所在分区的文件系统进行交互。

    stage2:通过Boot Loader加载所有配置文件及相关的环境参数信息,这些配置文件及相关的环境参数都存放于磁盘分区上的/boot目录上。

    grub:最重要的一部分就是识别磁盘信息,grub对硬盘的识别是通过以下方式:

    (hd0,0)

     1.硬盘代号以小括号()括起来;

     2.硬盘以hd表示,后面会接一组数字,数字之间以逗号隔开;

     3.以搜寻到的顺序来作为磁盘的编号,而非根据磁盘的排线编号(多硬盘情况下, 搜寻的次序是根据bios中设置的启动顺序,而非插槽编号);

     4.第一个搜寻到的磁盘编号为0,第二个为1,一次类推。

     5.每块磁盘上的第一个分区编号为0,第二个分区为1,以此类推。

      #:因此(hd0,0)就表示第一块磁盘上的第一个分区。

     default=0

         表示默认的启动条目,假如同时装有多个操作系统,0表示定义的第一个title系统,1表示定义的第二个title系统,以此类推

     timeout=5

         表示可供选择的等待时间,如果超过5秒,则使用默认的启动条目default定义的

     splashimage=(hd0,0)/grub/splash.xpm.gz

          定义启动时的背景图片信息

     hiddenmenu

         启动时是否要显示菜单,默认情况下是不显示菜单信息,如果想要显示菜单,可以将该配置注释即可;

   注释菜单:

    title:定义操作系统的名称

    root :表示内核文件存放的位置,这里指定的是分区位置,而非根目录。

    kernel:内核的名称以及一些启动时的核心参数,由于启动过程中需要挂载根目录,因此就需要指定根目录所在的分区,rhgb表示色彩显示,quiet表示静默模式加载内核。

    initrd:指定用于辅助内核完成系统启动的ramdisk文件路径再次在内存缓存

     

   默认启动级别:

     wKiom1fXu5TAfTjHAACSE2UUE-8455.png

       0:关闭所有服务;关机

       1:维护模式;单用户模式,sigle模式,此级别可允许root用户直接登录而无需认证。

       2:维护模式;多用户模式,需要用户认证,会启动网络功能,但不支持使用NFS。

       3:正常级别:完全多用户模式,文本界面。

       4:预留级别:

       5:正常级别:完全多用户模式,图形界面。

       6:关闭所有服务;重启

      #:通常使用较多的默认级别为3或者5,服务器基本上默认使用3级别,即文本界面。

      #:查看当前运行的级别可以使用runlevel或者who -r

    wKiom1fXv4SirhdrAAANLaqb-50098.png

     #:禁用Ctrl+Alt+Delete重启;(centos 6)

       1.cp -v /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.override

       2.vim /etc/init/control-alt-delete.override

       3.将exec /sbin/shutdown -r now "Control-Alt-Delete pressed"改为exec /usr/bin/logger -p authpriv.notice -t init"ctrl-alt-del was pressed and ignored"

破坏及修复:

    stage1:破坏

        [root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

        [root@localhost ~]# hexdump -Cv /dev/sda -n 446

    stage1:修复

    1.重启并进入救援模式

   wKioL1fX49awI9ZPAAaPweiQpDs109.png

    2.选择语言

   wKiom1fX49eAO2vXAAAgZ9F8xuY564.png

    3.设置网络选择NO

   wKioL1fX49fAhxldAAAQtj1BbWU326.png

    4.输入continue

   wKiom1fX49jzcJ0oAAA4dlILxeU534.png

    5.打开shell终端,并切换至根目录,chroot /mnt/sysimage/

   wKiom1fX49jCVy3vAAAt24xGrcM164.png

    6.错误输出信息可以忽略,看到设设备信息即可。

   wKioL1fX49jiaqbPAABMH7Cz1YA450.png

   wKiom1fX49njaKodAAAeMC6y6iI013.png

    7.就此stage1已经修复完成,重启即可完成。

 stage1_5:破坏

    dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1

 stage1_5:修复

    1.重启系统

    2.光盘启动,进入救援模式。

   wKiom1fX557i1Jp8AABbIdJfE8I313.png

    3.使用grub工具修复引导文件,修复完成,直接重启即可。

 boot:破坏,直接删除boot目录

 boot:修复

    1.删除boot目录下全部文件并重启

     [root@localhost ~]# rm -rf /boot/*

    2.重启并进入救援模式

   wKiom1fX7V6yCnJPAAAOckqUR5A100.png

    3.进入根目录,挂载镜像

   wKioL1fX7V_D9MLBAAAczt0S0NI284.png

    4.重新安装kernel

   wKiom1fX7V_iSKEWAAAS60MhvuQ563.png

    5.修复引导文件

   wKioL1fX7V-xsEYuAAAQOJECVzg863.png

    6.编辑/etc/grub.conf配置文件

   wKioL1fX7WCioHiNAAAwbP91_gk683.png

    7.修复完成,重启即可。

 boot:破坏    

    [root@localhost ~]# rm -rf /boot/*

 fstab:破坏

    [root@localhost ~]# rm -rf /etc/fstab

 引导修复,fstab文件修复。

    1.重启并进入救援模式。

    2.我们会发现系统检测不到根目录,因为我们把/etc/fstab删除了

   wKioL1fX9nuinS0lAAArbI9sj64838.png

    3.查看逻辑卷,并激活逻辑卷,默认关闭状态

   wKioL1fX9nyz31ECAAAaUugGEzw071.png

    4.挂载根目录。

   wKiom1fX9nzzonHHAAAFe9tMKps663.png

    5.新建/etc/fstab并写入挂载信息,重启进入救援模式,让系统自动检测。

   wKioL1fX9nzjvJ4bAAAqG7z5LQM133.png

    6.这里我们发现系统已经检测到了路径/etc/sysimage

   wKiom1fX9n2BUsbhAAA6zxq8hLA435.png

    7.重新进入根目录,挂载镜像文件。

   wKioL1fX9n7iogc1AAAWXe5cEzY544.png

    8.重新安装kernel,并修复引导文件

   wKiom1fX9n7xihH3AAApErgQoBY624.png

    9.编辑/etc/group引导文件

   wKiom1fX9n6Rzv4tAAAvObH63oQ324.png

    10.到这一步已经修复完成了,直接重启即可正常进入系统。

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

(0)
闹钟哥闹钟哥
上一篇 2016-09-13
下一篇 2016-09-13

相关推荐

  • Bashe Shell之数组及bash配置文件解析

    数组   数据结构,数据序列,保存了连续的多个数据,可以使用索引获取相关元素,相当于多个变量的集合   §数组名和索引 索引:编号从0开始,属于数值索引   注意:所以可支持使用自定义的格式,而不仅是数值格式,即关联索引,bash4.0版本之后开始支持,bash的数组支持稀疏格式(索引不连续)   §声明数组 &nbs…

    Linux干货 2016-08-24
  • Linux DNS服务系列之主从复制、子域授权和转发、view配置详解

    前言 上文我们讲解了DNS服务的原理及正反向解析配置,相信大家对DNS服务已经有了初步了解。接下来,让我们进一步了解DNS服务的其它功能,本文将详解主从复制、子域授权和转发以及view的相关配置。 主从服务器配置 主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系…

    Linux干货 2015-04-13
  • shell脚本编写-2

    1、条件判断if语句       1)、 单分支 if  判断条件;then     条件为真的分支代码     fi 2)、双分支     if  判断条件; then    &…

    Linux干货 2016-08-15
  • Linux文件系统

    文件是什么?存储空间内存储的有边界的一段流式数据,对数据可以做到按名存取。众多文件是如何有效的组织起来?1.  平面化把众多文件放在一起。当想查找某个文件时,需要遍历所有文件,当文件数目足够多的时候,查找一个文件将会非常慢,效率极低。2.  层级结构化根据后续查找文件的筛选条件进行分类,逐层放置,通常要查找一个文件,只需要从最高层级开始,…

    2017-09-05
  • keepalived高可用haproxy配合varnish实现wordpress的动静分离

    haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点 一、实验环境 五台虚拟机: haproxy-1:搭建haproxy和keepalived服务,ip地址:192.168.11.176 haproxy-2:搭建haproxy和keepalive…

    2017-07-03
  • GNU awk

    GNU awk:      文本处理三剑客:grep,sed,awk            grep,egrep,fgrep:文本过滤工具;pattern     &nb…

    Linux干货 2017-05-22