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

一、管理员忘记密码

(1)、重启计算机,进入单用户模式

1
2
3
4
5
[root@CentOS5 grub]# reboot
 
Broadcast message from root (pts/2) (Wed Dec  2 18:45:32 2015):
 
The system is going down for reboot NOW!

(2)、grub显示界面,敲一下p键

(3)、输入密码之后按回车键

(4)、此时可以看到下方编辑菜单已经解锁,用户可以自行编辑了,此时我们敲e键

(5)、将光标挪至第二行,也就是kernel这一行,再敲一下e键

(6)、此时就进入kernel的编辑菜单里,我们只需要在行尾加一个数字1之后按回车

(7)、此时敲一下b键,即可重新启动系统

(8)、此时系统已重新启动,启动完成之后,就是单用户模式,直接修改root密码

(9)、此时是root用户直接登录,输入passwd修改root密码,再重启进入级别3即可

注:以上步骤就是进入单用户模式的方法,下面出现单用户模式则不再重复此步骤

二、系统无法启动

1、grub的stage1损坏(MBR前446字节损坏)

(1)、当重启系统就是如下画面

(2)、此时需要挂载光盘再重启进入rescue模式,提示符下输入linux rescue即可

(3)、选择语言类型,我们这里选择英文

(4)、选择键盘类型,我们这里选择美式键盘

(5)、是否启用网络,根据自己的需要选择,我这里没使用网络

(6)、如果后面需要修改文件,则选择Continue,否则就选择Read-Only,skip直接进入命令行

(7)、指定当前根分区,如果有多块硬盘的话

(8)、提示根文件系统被挂载至/mnt/sysimage下,如果想切换,执行chroot /mnt/sysimage

(9)、进入命令行界面之后,输入grub进入提示符界面

(10)、先指定内核所在分区,再安装grub,安装完成退出再重启即可

(11)、注意卸载光盘或者调整启动次序,启动之后显示如下画面即修复成功

2、grub的stage2损坏(stage1.5和stage2文件丢失)

(1)、当grub的stage2损坏时,重启系统时就会是这样

(2)、此时我们只需要指定/所在的磁盘及分区、内核文件路径、initrd文件路径即可

(3)、启动完成之后显示如下,再直接登录系统

(4)、复制/usr/share/grub/x86_64-redhat下所有文件至/boot/grub目录下就行

1
2
3
4
[root@CentOS5 ~]# ls /usr/share/grub/x86_64-redhat/
e2fs_stage1_5  ffs_stage1_5      jfs_stage1_5    reiserfs_stage1_5  stage2           ufs2_stage1_5    xfs_stage1_5
fat_stage1_5   iso9660_stage1_5  minix_stage1_5  stage1             stage2_eltorito  vstafs_stage1_5
[root@CentOS5 ~]# cp /usr/share/grub/x86_64-redhat/* /boot/grub/ -a

3、grub.conf配置文件丢失

(1)、当grub.conf配置文件丢失时,重启系统时就会是这样

(2)、此时我们只需要指定/所在的磁盘及分区、内核文件路径、initrd文件路径即可

(3)、启动完成之后显示如下,进入系统我们再自行创建grub.conf即可

注:此处find命令十分好用,指定root、kernel、initrd即可启动

三、用户无法登录系统(migetty、bash损坏)

1、bash损坏

进入rescue模式,然后重装bash即可

注:许多故障都可以通过但用户模式或救援模式可以解决

Linux系统之TroubleShooting(启动故障排除)的更多相关文章

  1. Linux系统之TroubleShooting(故障排除)(转)

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

  2. Linux系统入门---开机启动流程

    目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...

  3. 不同linux系统添加开机启动程序的命令

    see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...

  4. Linux系统xinetd服务启动不了

    Linux系统xinetd服务启动不了 xinetd服务时发现xinetd服务启动不了,并出现错误提示xinetd:unrecognized service,当出现这个错误提示的时候说明系统未安装xi ...

  5. Linux系统的快速启动机制(内核切换) 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4187846 原文地址:Linux系统的 ...

  6. Linux系统下,启动Tomcat有时报Address already in use

    一.Linux系统下,启动Tomcat有时报Address already in use<null>... 1.那是因为你的tomcat已经启动了tomcat自带的关闭脚本,有时候关闭看上 ...

  7. Linux系统的开机启动顺序

    Linux系统的开机启动顺序加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用 ...

  8. linux系统无法正常启动,故障排查恢复

    linux内核启动修复 首先看linux内核重要文件grub.conf # grub.conf generated by anaconda # # Note that you do not have ...

  9. centos6启动故障排除

    centos6中boot文件被全部删除的故障排除 /boot文件里关于启动的核心文件有三个,/vmlinuz-2.6.32-696.e16.x86_64,initramfs-2.6.32-696.el ...

随机推荐

  1. Python多版本管理器-pyenv 介绍及部署记录

    一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...

  2. spinnaker自动发布k8s部署应用<一>

    一.准备环境 !docker-ce---17.06.2-ce !k8s集群----1.11.1 !helm部署工具---helm-v2.10.0 !spinnaker-charts---spinnak ...

  3. 如何从GitHub迁移到GitLab?

    如何从GitHub迁移到GitLab? 在本文中,我们将解释如何从Github迁移到Gitlab,同时我们也将解释如何将Github的开源项目导入到Gitlab. 正如你可能非常清楚的那样, Gitl ...

  4. 网络之XML解析-GData

    GDataXML是一套Google使用Objective-C开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询, GDataXML 是 iOS 下的一款轻量级 XML 解 ...

  5. webpack+react多页面开发(二)-终极架构

    webpack4+react16多页面架构 webpack在单页面打包上应用广泛,以create-react-app为首的脚手架众多,单页面打包通常指的是将业务js,css打包到同一个html文件中, ...

  6. 浅析libuv源码-获取精确时间

    在Timer模块中有提到,libuv控制着延迟事件的触发,那么必须想办法精确控制时间. 如果是JS,获取当前时间可以直接通过Date.now()得到一个时间戳,然后将两段时间戳相减得到时间差.一般情况 ...

  7. [转]Magento刷新索引的几种方法

    本文转自:https://blog.csdn.net/IT_Wallace/article/details/78513951 在数据表中经常会使用索引,下面简单介绍一下索引的利弊: 创建索引可以大大提 ...

  8. Mysql技能之【性能优化方案】

    两个SHOW命令 Mysql服务状态 SHOW GLOBAL STATUS; Mysql配置信息 SHOW VARIABLES: 慢查询 show variables like '%slow%'; s ...

  9. ASP.NET MVC实现剪切图片

    开发需要,我们需要对某一张图片进行剪切.就是说,获取图片某一区域.下面Insus.NET教大家轻便容易实现它. 首先写好一个处理函数,它建在MVC应用程序结构Utilities目录下: 准备好一张图片 ...

  10. thinkphp 网址后台典型页面

    知识点: 1.select a提交后 返回选中项 选中项 value是id 但是要显示name b遍历和列举两种形式 <select name="class_id" clas ...