故障1 删除/boot之后的恢复步骤:

1 重启电源,迅速按esc进去选择启动模式,然后选cd-rom这项(从光驱启动)

2 重启后进入救援模式(选择rescue),选择语言和键盘布局后,一路回车到下一步。

3 询问是否需要网络选项,一般来说,救援模式不需要网络,选择no,回车进入下一步。

4 这一步提示内容大意为:救援系统将尝试寻找你的linux安装,并在目录 mnt/sysimage下安装它,然后就可以对系统进行任何更改.也可以选择只读的方式来装载文件,如果需要激活高级san设备,选择高级.(一般不会用只读方式来挂载文件) 如果由于某种原因这个过程失败了,可以选择skip,这个步骤就会被跳过,直接进入到命令shell.下面的四个选择,分别是
continue==继续 read-only==只读 skip==跳过这个步骤 advanced==高级 这里我们选择continue.然后下一步.

5 一路回车到这一步,选择第一个进入shell.

6 在shell命令模式下,首先要敲命令 # chroot /mnt/sysimage 这样是将救援模式的根,转移到真正的根目录下,不加入这一个命令,所有对根的操作,实际上是对救援模式跟的操作.
可以使用df来验证下,是否是自己的根.如果不是自己的跟,那么硬盘路径上显示有 /mnt/sysimage这个目录,代表没在自己的根上。而是在救援模式的根上。

7 在/boot下执行命令 grub-install /dev/sda 创建grub挂载点 创建成功后,我们浏览下grub目录当中内容 可以看出当中缺少了grub.conf文件,我们稍后再手动编辑,先恢复内核。

8 接下来挂载光驱,准备复制boot当中的内核文件。 使用命令: cd /media 到光盘中,寻找到isolinux目录. 将目录当中的vmlinux复制到/boot下.内核文件恢复完毕.

9 恢复启动时候需要的grub及initrd文件 使用命令mkinitrd在/boot下创建initrd文件.命令如下

mkinitrd /boot/initramfs-$(uname -r).img vmlinuz

创建成功后,会在boot下生成以当前内核版本号为名字的文件

使用vim来编辑目录grub下的grub.conf文件,内容如下:
default =5
timeout=5
title redhat
root(hd0,0)
kernel /vmlinuz(这个名字是跟复制过来的内核名字一致) ro root=uuid=(挂在根的分区编号) rhgb quiet
initrd /使用命令生成的内核名.img文件名字
其中,uuid硬盘ID号,是在命令模式下输入 :.! blkid |grep /dev/sd2 来实现的。通过之前的df命令可以看出根目录是挂载sd2分区上的,所以取出sd2的uuid号。

10 以上步骤完成后,先输入exit退出救援,再输入reboot重启,成功恢复。

故障2:删除/etc/fstab,删除/etc/init/rcS.conf,删除/etc/rc.d/rc.sysinit,删除/boot下的所有文件,然后恢复正常。

进入救援模式使用df命令,可以看到没有任何挂载,但是使用fdisk –l 可以看出当前硬盘分区情况。

做一个简单的判断,只有编号为83的分区才有可能是挂载根的,所以排除不是83以及swap后,剩余的分区尝试挂载即可,直到能看到真正的根下的内容。假设为/dev/sda2

手动挂载:执行命令mount /dev/sda2 /mnt/sysimage 切记:现在我们还是在救援模式的根下,别忘了切换根,可以用df命令来验证下:

需要使用命令: chroot /mntsysimage 将根切换自己的根上.

使用 vim /etc/fstab 命令来编辑分区配置文件,但是这时候我们缺失了很多信息,无法使用blkid来获取分区的ID号,所以还需要退出去,在救援模式下,使用blkid将分区id号导入到/etc/fstab当中.
首先回到救援模式 # exit
接下来是导入:blkid >> (/mnt/sysimage/etc/fstab),红色部分很重要,因为我们现在还是救援模式的根上,必须加上才有效。

接下来,使用 vim /etc/fstab 来查看,已经有了分区的id号,手动编辑下,变为:
UUID=bd127449-c4cc-4a56-8f94-e44ceca55970 / ext4 defaults 1 1
这里的 / 表示 根在这个分区上挂载 将所有分区都按此格式编辑完后保存.然后退回到救援模式,重启,让系统自动识别分区.

重启后,进入救援模式,使用df可以查看系统已经自动挂载分区了。

开始恢复 /etc/init/rcS.conf和/etc/rc.d/rc.sysinit两个文件了.

使用rpm -qf /etc/init/rcS.conf 和 /etc/rc.d/rc.sysinit,可以查询出,这两个文件都出自一个安装包内,:
initscripts-9.03.58-1.e16.centos.x86_64

从光盘当中,复制这个包到/app下,使用命令 rpm2cpio initscripts-9.03.58-1.e16.centos.x86_64 |cpio -id 解压后
然后从这里的etc当中分别将这两个文件放入根下面的etc内,分别复制对应文件到对应目录下

剩余恢复grub步骤和上例一样,不在多做赘述。恢复好grub后,退会到救援模式,将内存信息保存起来,使用命令 sync 后重启。

另吐槽 博客不能使用word当中,使用QQ截图下来的图片!!!

转载于:https://blog.51cto.com/13477118/2134758

马哥学习----李洋个人笔记--启动故障排除相关推荐

  1. 马哥学习----李洋个人笔记----mysql(上)

    mysql数据库 章节内容  关系型数据库基础  安装mysql yum包安装,源码包编译安装,二进制安装.  管理数据库和表  用户和权限管理  函数和存储过程  mysql架构  存 ...

  2. 马哥学习李洋个人笔记之-----正则表达式

    正则表达式 什么是正则表达式? 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法,通过定义的这些特殊符号 的辅助,就可以快速过滤,替换或输出需要的字符串.Linux正则表达式一般以行为单 ...

  3. Linux系统之TroubleShooting(启动故障排除)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  4. 马哥学习周总结第一周→linux简介、’文件系统及基础命令------李洋个人笔记。...

    linux计算机的设备有两种 1 字符设备(顺序数据) 键盘,显示器 共同点是数据交换时是一个一个字符来进行的. 2 块设备(随机数据) 硬盘 交换数据按包为单位进行. Linux的文件:在存储空间存 ...

  5. 马哥 mysql_马哥学习笔记十八——MySQL进阶之日志管理

    错误日志:log_error,log_warnings 服务器启动和关闭过程中的信息 服务器运行过程中的错误信息 事件调度运行一个事件时产生的信息 在从服务器上启动从服务器进程时产生的信息 一般查询日 ...

  6. 马哥学习笔记——shell变量类型

    shell变量基础 shell 变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let. de ...

  7. 马哥学习笔记二十七——IO复用

    I/O动作模式 阻塞 非阻塞 I/O复用 信号驱动 异步 转载于:https://www.cnblogs.com/wangyongbin/p/3817353.html

  8. 马哥 mysql_马哥学习笔记五——MYSQL初步

    1.mysql -u USERNAME -p -h MYSQL_SERVER linux:socket windows:memory 2.交互式模式中的命令类别 客户端命令 服务器端命令 必须使用语句 ...

  9. 马哥mysql,马哥学习笔记五MYSQL初步

    1.mysql -u USERNAME -p -h MYSQL_SERVER linux:socket windows:memory 2.交互式模式中的命令类别 客户端命令 服务器端命令 必须使用语句 ...

最新文章

  1. java 封装事务_Spring之路(36)–事务很重要吗?Spring为何要封装事务?Spring事务有陷阱吗?...
  2. 2015下半年软考系统集成管理工程师10月8日作业
  3. 半导体二极管的直流电阻和动态电阻如何区别?
  4. Chrome浏览器偶尔提示错误net::ERR_EMPTY_RESPONSE的解决方法
  5. 【Python翻屏软件】英文1秒翻,水准堪比专九,这下考级有救了。
  6. 一种可行的简单的Scene结构in cocos2d
  7. ITK:多路输出相同类型的
  8. C#打开文件和文件夹
  9. 【POJ - 1050】To the Max (dp)
  10. python代码_python爬虫19 | 遇到需要的登录的网站怎么办?用这3招轻松搞定!
  11. java24小时运行一次_使用crontab每分钟执行一次脚本,每24小时执行一次脚本[关闭]...
  12. phabricator安装配置和使用(docker安装和独立部署)
  13. 在Silverlight 5 项目中创建单元测试项目
  14. 计算机显示器出现黑屏分析
  15. matlab生成范德蒙矩阵
  16. 最全PR曲线、ROC曲线以及AUC计算公式详解
  17. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 数字识别
  18. 怎么做一个有价值的人
  19. 做完电商直播后,怎么做直播复盘?
  20. 如何系统磁盘和raid卡的槽位对应起来

热门文章

  1. ThinkPHP源码解析之控制器
  2. 过年不再被逼相亲——我用python给亲戚展示2022的相亲数据
  3. ESP32-IDF开发实例-非易失性存储(NVS)数据存取
  4. 易班APP登录密码加密、sig逆向分析
  5. ffmpeg将mp4转为m4a,m4a转mp3,mp3转ogg
  6. 增值电信业务经营许可证是什么?怎么办理?
  7. 2019-02-24 经济 金融 投资 理财相关书籍推荐
  8. springboot下载excel(解决文件损坏问题)
  9. 【UCIe】UCIe D2D Adapter 介绍
  10. 192.168.1.1登陆官网 登录入口