Linux救援模式

    学习了Linux的启动流程,为了加深理解,今天做了如下的实验:删除掉Linux系统在启动过程中比较重要的几个文件,查看启动时出现的现象。加深对知识的理解。学习机器因为某些文件的缺失的修复方式。

    一、删除grub.conf

    grnb.conf文件为系统在启动的时候,引导设备找到找到/boot后加载相应的内核和找到为加载根文件系统做准备的initramfs文件的。删除后无法引导系统找到内核。

blob.png

    删除文件后,系统启动是就停在这个画面,无法引导进入载入内核。这个时候可以通过在这个界面输入相应的命令;即grub.conf文件的相关配置进入下面的引导。前提你要记得配置的相关信息,如果不记得就需要其他的方式启动,在这里我们先就假装记得,用比较简单方式修复启动。

blob.png

    

    上面输入的四条命令就是grub.conf文件内的内容,让机器按照输入的命令进行系统的引导从而启动,这种方式在误删该文件后可以很便捷的让系统启动,启动后重新编辑grub.conf文件后就能恢复正常。前提是对系统的分区比较熟悉,能够记得/boot和/的挂载情况。

    二、在没有/boot和/etc/fstab的情况下恢复系统

    破坏之前要看清系统的内核版本以及系统的版本,准备一张相应版本的光盘,破坏后需要用光盘的救援模式进行恢复。当前系统的信息如下:

blob.png

blob.png

    上图为系统磁盘的分区情况。

    删除后启动将无法进行:

blob.png

    由于把/boot目录下的所有文件都删除了,所以无法用上述的方式恢复,这里用光盘的救援模式恢复。

blob.png

    选择第三项救援模式后,在提示选择语种和键盘模式后,跳过网络设置后进入如下的画面,做出相应的选择:

blob.png

blob.png

    由于刚才将系统设备挂载配置文件/etc/fstab删除了,无法识别到Linux的分区。

blob.png

    选择第一个选项,进入救援环境:

blob.png

    由于在救援模式下无法识别高级磁盘设备,而/则是逻辑卷设备,所以通过命令“vgchange -ay”来激活逻辑卷设备(如果是CentOS5,要使用命令lvm scan,然后在使用lvm vgchange -ay才能激活),然后就能查看快设备。通过上面的信息挂载“/”,进入根,重建fstab文件。如下图:

blob.png

    在挂载“/”的时候一定要注意,挂载的目录要为“/mnt/sysimage/”,否则挂载后无法使用命令。编辑fstab如下:然后保存重启。

blob.png

    再次进入救援模式,不同的是能够识别到要救援的系统:

blob.png

      再次进入shell模式,使用“chroot /mnt/sysimage”切换根,然后挂载光盘,安装内核,安装的时候要使用–force强制模式。如图:

blob.png

    安装完成后就可以在看见/boot目录下面有内核和initramfs文件了:

blob.png

    下一步使用命令"grub-install –root-directory= / /dev/sda"(注意:这里后面的路径不是固定的,要看分区挂载情况,”=“后面跟的是/boot目录的父目录,后面的这是所在磁盘。)安装grub,然后创建编辑grub.conf文件:

blob.png 

blob.png

    保存退出重启后:

blob.png

    能够进入grub界面了。默认启动:

blob.png

    最后成功启动,修复完成。

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

(2)
王更生王更生
上一篇 2016-11-23
下一篇 2016-11-23

相关推荐

  • bash特性之命令行展开功能应用示例

                       bash特性之命令行展开功能应用示例 1.创建/tmp的目录下:a_c,a_d,b_c,b_d 创建命令:mkdir -pv /tmp/{a,…

    Linux干货 2017-07-09
  • 2016-11-4作业

    1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项  mkfs.ext4 -b 2048  -L "TEST" -m 1 /dev/sdb6 2、写一个脚本,完成如下功能: (1) 列出当前系统识别到…

    Linux干货 2016-11-06
  • 2016-10-17练习题

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 linux系统查看当前时间命令为date [root@Shining pirate]# date Mon Oct 17 20:50:42 CST 2016 修改系统时间选项为-s 格式为 只修改系统的日期,不修改时间 …

    Linux干货 2016-10-17
  • N22-℡浮生.若夢 ╮-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who |cut -d' ' -f1 |uniq -c    1 root    2 ch…

    Linux干货 2016-09-15
  • 如何配置本地yum源

    在日常学习中配置本地yum源至关重要,下面简单介绍下centos7如何配置本地yum源: 1、开机启动前检查是否将光盘镜像加载,然后开机; 2、cd /run/media/root/CentOS 7 x86_64下找到Packages和repodata这两个包非常重要,其中Packages是rpm包目录,repodata是元数据 3、cd /etc…

    Linux干货 2017-04-23
  • 冒泡算法,源码安装http,yum浅谈

    生成10个随机数,采用冒泡算法进行升序或降序排序 #!/bin/bash #author:maoxiong QQ:111111111 #verson:1.0  date:2016-08  #illustrate: declare -a array #create 10 randomnum for num in {0..9} do &nbs…

    Linux干货 2016-08-26