尽管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. GCD之定时器dispatch_source_t(转载暂时未完全理解)

    #import "ViewController.h" @interface ViewController (){ IBOutlet UIButton *l_timeButton; ...

  2. 看 Netty 在 Dubbo 中如何应用

    目录: dubbo 的 Consumer 消费者如何使用 Netty dubbo 的 Provider 提供者如何使用 Netty 总结 前言 众所周知,国内知名框架 Dubbo 底层使用的是 Net ...

  3. 为什么IIS的应用池回收设置默认为1740分钟-20180720

    [非原创,个人收集,希望大家有感触] 你可曾留心过IIS的应用池回收设置默认值是多少?1740分钟对吗,那么为什么会是这样的数值呢? 在asp.net的某篇博客里提到了这个问题. 有关微软产品的许多决 ...

  4. VB.NET文件读写(C#可以改写)

    VB.NET也可以用using 先FileStream,再StreamReader(写用StreamWriter) Using fs As New FileStream(p1, FileMode.Op ...

  5. git 问题解决办法

    1.撤销 add 添加:git rm -r --cached . (参考:https://www.cnblogs.com/wuchanming/p/5428897.html) 2.撤销 commit ...

  6. Textview源码+绘制过程解析

    Android控件TextView的实现原理分析 为什么要规定所有与UI相关的操作都必须在主线程中执行呢?我们知道,这些与UI相关的操作都涉及到大量的控件内部状态以及需要访问窗口的绘图表面,也就是说, ...

  7. java如何正确停止一个线程

    Thread类中有start(), stop()方法,不过stop方法已经被废弃掉. 平时其实也有用过,共享一个变量,相当于标志,不断检查标志,判断是否退出线程 如果有阻塞,需要使用Thread的in ...

  8. NIO,AIO,BIO

    同步和异步:同步和异步关注的是消息通信机制, 同步:就是在发出一个“调用”时,在没有得到结果之前,该“调用”就不返回,但是一旦调用返回,就得到返回值了;换句话说:就是由“调用者”主动等待“调用”结果 ...

  9. jQuery 自动触发事件的坑

    有时候项目需求页面加载完后,需要模拟用户操作,自动点击按钮.Jquery中可以使用trigger()方法模拟事件. $(selector).trigger(event,[param1,param2,. ...

  10. AngularJS table 按照表头字段排序功能(升序和降序)

    一.表格按照表头排序 <!doctype html> <html ng-app="a3_4"> <head> <title>表头排序 ...