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

相关推荐

  • N23-第一周 记流水账

      机器已经设置好了  屏幕左边是linux控制台,屏幕中间放置记事本来记笔记,屏幕右边是教学视频,如图 费我老大劲 笔记本的无线网卡驱动不好弄啊   注重操作实践,全程跟着操作,一定要照着做,动手啊动手…………..前十五天内容以查漏补缺为主,所以笔记是兴之所至,遵循以下原则:&n…

    Linux干货 2016-09-18
  •  编译安装步骤     大致过程:(源代码–预处理–编译–汇编–链接–执行)   第一步 下载安装开发工具“Development toos” 第二步 下载解压源代码包 仔细阅读“Install和 Read me” 第三步 使用./conf…

    Linux干货 2017-04-24
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至…

    系统运维 2016-07-12
  • 20170714上课LINUX入门

    1、安装centos6.9和centos7.3时的分区情况 /dev/sda1 mount /boot 1G – 主分区/dev/sda2 mount / 50G -主分区/dev/sda3 mount /app 40G -主分区/dev/sda4 1k 扩展分区/dev/sda5 swap 2G -逻辑分区(swap分区的大小一般为物理内存的2…

    Linux干货 2017-07-15
  • 实现CA和证书申请,

    接下来讲的是在centos7.3和centos6.8中实现CA和证书申请,centos7.3作为主机,centos6.8作为客户端 首先你授权客户端CA证书,必须本身主机也具有CA,自己证明自己,先CA自签证书,然后在7.3创建私钥 为了方便以后的操作CD进入 cd /etc/pki/CA   生成自签名证书 -new:  生成…

    2017-04-11
  • 第二周作业新

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 pwd :显示当前所在路径   cd :切换目录   cd – :在上次目录与当前目录之间切换。   cd ~ :切换回自己的家目录   cd . :当前目录      cd .. :切换到…

    2017-02-18